こんばんは。
将来エンジニアになることを目指しているプログラミング初学者です。
今回は技術的なことではなく意識的なことを、実際に前線で働いていらっしゃるエンジニアの方々にお聞きしたいなと思っております。
プログラミングを勉強していると多くの新しいことに直面すると思います。それらをすべて覚えるのはほぼ不可能なことだと思いますが、一方である程度覚えなければ後から苦労してしまうかもしれません。ネットでは「プログラミングは全部覚える必要は無い」だとか「実際のエンジニアでロジックを理解していなくても使っている人は多い」だとか聞きます。
私が聞きたいのは以下の2つです。
①新しいものに対してどれぐらいの理解を目標に勉強するのがいいのか
②またそれらを実際に扱うとなったときに、「理解していなくても使う」ということが本当にあるのか
ぜひ、暇つぶしでも良いので、ちょっと答えていただければ嬉しいです。
「もの」によるとしか言いようがないです。
回答ありがとうございます。
「もの」とは例えばどのようなものでしょうか?
あなたのいう「新しいことに」や「新しいもの」は何をイメージしてのことでしょうか?
プログラミング言語とか、フレームワークとか、CPUとか、DBMSとか、OSとか、、、、、
イメージとしては自分の分からなかったことすべてですね。
それらすべてに対して、最初は「これはこのくらいの理解にとどめて、先に進んだ方が効率が良いな」と言うことを見極めることは難しいと思います。そこである一定ラインに理解が達したら次に進もう、と言う基準がおそらく有ると思われますが、その基準をお聞きしたいです。
さきほど「ものによる」とおっしゃっていましたが、それはおそらく学ぶものに対して理解度の基準を変えておられるのだと思います。ものによって、これをどこまで理解すれば良いのか、と言う判断基準を教えていただけると嬉しいです。
つけられたタグとの関連が分かりません。
言語やフレームワークを限定するのであればそれに特化した質問内容であるべきです。
タグについては正直あまり考えていませんでした笑
私の質問についての意図がなんとなくでも理解いただけたら、是非曖昧な表現でもかまいませんので回答よろしくお願いいたします。(そもそも質問が個人の感覚による理解度、なので)
質問は編集できますので、適切なタグを探してつけてください。
https://teratail.com/help/question-tips#questionTips3-2
>正しいタグをつければ、その知識を持った人に質問が届きやすくなります。
逆にやたらに関係のないタグをつけても、適切な人に届かず気づかれなかったり無視されてしまいます。
ご指摘ありがとうございます。今勉強しているRuby言語について、タグを限定しました。
簡単にで良いので是非皆さん回答お願いします。
Ruby、ですか。
「プログラミング言語」というタグがあるのでそちらのほうが適切ではと。
https://teratail.com/tags/%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0%E8%A8%80%E8%AA%9E
私の主観ですけど。
色々検索してみてください。
https://teratail.com/tags
先に「言語やフレームワークを限定するのであればそれに特化した質問内容であるべきです。 」と書きましたが、RubyとするならRubyに特化した内容にしないとRubyで見に来る人が「????」ってなるだけですよ。
こんな便利なタグがあるとは笑
確かに様々な言語を扱う人から意見をお聞きしたいですね。
ありがとうございます。
エンジニアならば”英語”が出来た方が良いです。ドキュメントは英語が多いですし、動画なども英語の良い教材が多いです。
初学者が何を偉そうにと思われるかもしれませんが、全く同意見です。恥ずかしながら、エラーが出たときの英文の解釈を間違えてしまって的外れな質問をしてしまったことがあります。。。(過去の投稿があるのでそちらの方をご覧いただければ。他にも経験者からすれば何言ってんだこいつ的な質問も多々有ると思います。。。なんせ消せないので笑)
Google翻訳に掛けながらでも読めれば十分です。
https://qiita.com/cannorin/items/eb062aae88bfe2ad6fe5
あの恥ずかしい思いをした後から、google翻訳は何回も使わせていただいてます。笑
ありがとうございます。
さて、そろそろベストアンサーを決めなければいけないところだと思うのですが、皆さんの意見のどれもこれもが実際の現場を交えた知識から、またはそもそもプログラミング言語は「道具」など根本に迫る回答もあり、一生ものの知識となるものばかりだったと思います。本当にためになりました。この中からベストアンサーを決めなければならないというのは心苦しいですが、あれこれご指摘をいただいm.ts10806さんにベストアンサーを決めたいと思います。皆さんありがとうございます。
>そもそもプログラミング言語は「道具」など
ここに補足すると、1つの目標を達成するための手段や手法は1つではないので「道具」とよく表現されます。
同じ言語を使っていても結果は同じになってもコードは全然違うとか、よくありますからね。
目的を達成するために、「何を」するのか「なぜ」するのかをきちんと考えられるようになる必要があります(「どうやって」はそれらがかたまってからです)
技術的な面だけでなく意識的な面も含めての回答、とても勉強になります。(このような質問はteratailでは非推奨となっていること知りませんでした。これからは気をつけます。。。)
目的をしっかりイメージ出来てから、過程を考えろと言うことでしょうか。急いで結果を出したいあまり、目的を見失ったまま、イメージ出来てないまま作業に取りかかろうとしていた面も思えば自分にもありました。見直したいと思います。
>目的をしっかりイメージ出来てから、過程を考えろと言うことでしょうか
雑に表現するとそういう感じです。
アプリケーション開発はウォーターフォールの場合は基本的に「要件定義」から入ります。
そこに「どうやって」は入りません(言語・フレームワーク選定くらいはあるかもしれませんが)。
基本設計、詳細設計とおりていくと「どうやって」部分の割合が増えてきます。
結構エンジニアって「どうやって」から考える人が多いので混乱しがちですが、
「何を」「なぜ」を突き詰めていくところからやっていくと混乱や大きな仕様転換は少なく済みやすいです。
プログラミング以外の勉強でも全体からつかんでから詳細に入っていった方が、詳細をつなげて全体をつかむより効率よく知識を吸収できることに似ていますね。
今はまだ経験が浅いので大規模な開発は当然縁もゆかりもないですが、より大規模な開発になるほど目的意識は重要になっていくと思います。それを今のうちから意識していけば習慣に出来そうですね。さっそく今のうちから取り組もうと思います。本当に勉強になりました。ありがとうございます。
回答5件
あなたの回答
tips
プレビュー