効果的で好奇心旺盛な問題解決者になりましょう!そうすれば、プログラマーとして成功することができます。
ある問題を解決したいとき、YouTubeやGoogleでチュートリアルを見つけた経験はありませんか?さて、解けたと思ったものの、実際にやってみると手が止まってしまい、頭の中が真っ白になってしまいます。コード1行1行を理解した気になっていても、そのチュートリアルを離れると、苦戦するのです。HackerRankやLeetCodeで誰かが問題を解いているのを見たことがあるなら、プログラマーを目指す人が初めてこれらの課題を見たときの気持ちを理解できるでしょう。例えば、あなたが新しい言語を学んでいるとして、その言語の基本を理解し始めたところで、チュートリアルを見て、ガッツポーズをした後、学んだことを自分の力で応用できないことに気づき、その結果、自分の知識や能力を疑うことになるかもしれません。
チュートリアルの実践
最初から始めるべきでしょうか?そうすると、同じことを何度も繰り返すことになりかねません。ゼロから始めることは必ずしも無駄ではありませんが、より効率的になるためにはどうすればいいのでしょうか?
プログラミングでは、丸暗記はまったく通用しません。とはいえ、構文に慣れることの重要性を無視することはできません。なぜなら、丸暗記と習慣化には明確な違いがあるからです。癖はなかなか直りません。プログラミング言語の規則的な構文、関数、メソッド、パターン、パラダイム、コンストラクトをより多く使うことを習慣化し、その言語をマスターできるようにしましょう。プログラミング言語をマスターするには、多くの創造性と練習が必要です。構文が血管を流れる血液のように自然に頭に浮かぶようになるまで練習することが不可欠です。
問題解決」の仕組み
では、どのようなプログラムを受けるべきでしょうか?それは本当に多くの要因によります。その要因とは、技術的な制約からユーザーのニーズまで様々です。世界には数え切れないほどの問題があり、それぞれに多くの解決策があります。どのように最適なものを選べばいいのでしょうか?それには
簡単な例を挙げましょう。2つの数字を足して 6にする必要があります:
3 + 3 = 6 または 4 + 2 = 6 または 5 + 1 = 6
同様に、引き算、掛け算、割り算を1回行った後に 6になる2つの数字を作る必要がある場合、以下のような多くの選択肢があります:
8 - 2 = 6 または 3 * 2 = 6
どのプログラムにも固有の限界があり、それはさまざまです。実生活で効率的なプログラムを作ろうとすると、すべての限界を考慮しなければなりません。そのプログラムは実現可能か?障害はないか?実行可能か?スケーラブルか?そして、どのように制約を最小化し、最適なソリューションを作るかは、問題のタイプとビジネスニーズによって異なります。
練習は大事です。
プログラミングの目的は問題を解決することだけではありません。したがって、エンジニアリングの観点からコードがどのように機能するかを理解することは、常に有利に働きます。そこで、企業レベルの開発ではコードレビューが活躍します。プログラミングに最低限必要なのは、言語の構文、関数、メソッドなど、コーディングの基本的な知識です。結局のところ、「コードを書く」ということは書く必要があることなので、練習は常にスキルアップに役立ちます。流暢な文章と複雑なプログラムの開発は、継続的な学習とトレーニングから生まれます。
コードを学ぶ
私は、新しいプログラマーが自分の内面を見つめ、「優れた問題解決者」を見つけることを奨励するために、この記事を書き、共有しています。どうか自分を信じることを止めないでください。
コーディングを成功させるには、多くの習慣を身につける必要があります。ここでは、私がコードを学ぶときに生産性を維持するために行っていることを紹介します:
- 構文、メソッド、関数が記載された 常に利用可能です。
- 追跡しやすいように、問題を小さな部分に分割します。
- コード実行の核となる概念を理解するようにしてください。
- しかし、最初は基本的なことに集中することが重要です。
- 練習しながら、できるだけ多くのアプリケーションとコンポーネントを作成してください。
- Stack Overflow/Exchangeのようなオープンなプラットフォームから、特にコンテキストを理解せずにコードをコピー/ペーストしてはいけません。
- チュートリアルに従ったら、すべてをゼロから作ってみてください。たとえ半分しかできなくても、それは達成感です。
幸運を祈ります!




