プログラミングは私たち人間が、コンピューターにして欲しい動作の手順(プログラム)を与える作業です。
正しい命令をソースコードとして与えれば、コンピューターは従順に動作します。しかし、論理的な考えが苦手な人は、コードを書くことは難しいでしょう。
なぜなら、コンピューターは人間のように想像力を働かせることができず、曖昧な部分を一切理解してくれないからです。プログラミング力を持っている人は、必ずプログラミングのセンスを持ち合わせています。
その「センス」「才能」とは具体的にどのようなものなのでしょうか?ここでは、そもそもプログラミングのセンスや才能とはどういうものなのかを解説していきます。
- プログラミングに才能やセンスは不要だが、センスがあると学習効率が良くなる傾向がある
- 論理的な思考や、問題解決が得意、好奇心が強いといった特性が、プログラミングの上達に役立つ
- プログラミングのセンスを磨くには、コードやエラーメッセージ、ログをたくさん読み、コピペではなく自分でコードを書く訓練が有効
プログラミングに才能・センスは必要か?
そもそもプログラミングの「センス」「才能」とは何のことを言うのでしょうか?
結論から述べると、「コンピューターに与えたい命令を素早く頭の中でロジック化して、簡潔なソースコードとして書ける人」はプログラミングのセンスがあるといえるでしょう。このセンスを持っている人は副次的な要素として、論理的な思考や問題解決が得意であったり、好奇心が強かったりします。
プログラマーの採用の場では、よく論理的思考能力や好奇心の強さ、問題解決能力が試されます。なぜなら、それらの能力はすべてプログラミングの学習効率に直結するからです。
論理的な思考能力や好奇心はプログラミングの「素質」といえるでしょう。「素質」を持ち合わせている人は学習効率がよく、プログラミングを始めて短時間でさまざまな知識を吸収し、その人なりの「プログラミングのセンス」を獲得します。
逆にあまり「素質」を持ち合わせていない人は学習効率が悪く、画面の前でずっと悩み続けてしまうような「センスのない人」に陥りがちです。
プログラミングのセンスを磨く方法
ではどうすれば「素質」や「センス」を獲得することができるのでしょうか?
プログラミングは一部の人間だけができるような「特殊能力」ではありません。訓練したり練習すれば、自分のプログラミングのセンスを磨くことができます。
それでは、具体的な方法を3つ紹介していきます。
コードリーディングをたくさんする
まずプログラミングのセンスを磨きたいのなら、コードリーディングをたくさん行うことです。
先人たちが書いてきたコードを読んで理解してみたり、自分が担当する箇所の周辺のコードや、使う言語のフレームワークがどのように動作するのかを見てみると良いです。
プログラミングを始めて日が浅い場合、そもそもの知識量が絶対的に少ないはずです。とにかくインプットの量を増やすことで、調べる力も身につきますし、自分の書くソースコードの精度も上がります。
賢いソースコードを見つけたら、それを自分で模写してみるのも良いでしょう。
現役エンジニアからフィードバックが受けられるプログラミングスクールはこちら
エラーメッセージ・ログを読む
プログラミングのセンスがない人は、エラーメッセージ・ログを読まない人が多いです。
確かにエラーメッセージ・ログは長い英語の文章や記号の羅列が出てきたりして読むのが億劫になります。しかし、よく読めばそこまで複雑な文章ではありません。自分でコードを書く前に、先述したインプットをしっかりと行っていれば、「ああ、ここで間違えたんだな」とすぐに分かります。
もしエラーメッセージを読まずにエラーを解決するとしたら、自分の書いたコードを全て見直すことになります。どこが悪いのか分からないまま、次の行動を起こしてしまうようでは、「センスのないプログラマー」として捉えられてしまっても仕方ありません。
センスの磨かれたプログラマーであるためにもエラーメッセージ・ログはしっかり読み、次の行動を考えましょう。
コピペではなく自分で書く
プログラミングにおいて、コピペが悪なのかというと実際そうではありません。
大抵の場合私たちが書こうとしているロジックは、どこかの賢いプログラマが既に書いています。職業プログラマの場合、「短い時間でどれだけ作業が進められるか」が求められます。
あなたがプログラミング言語を知り尽くしているのなら話は別ですが、大抵の場合は自分でロジックを全て考えるのではなく、ある程度先人たちが書いてきたコードを真似したほうが作業が速く進みます。「使えるものは部品としてどこかから取ってくる」ことは大切なことです。
しかし、コピペしたコードを自分が全く理解していない場合、問題が発生したときの修正方法が分からなくなります。
先述のインプットをしっかりと行い、「この部品はここで使えるな」と判断した上で自分で書きましょう。良質なコードを自分で書くことで、「センスのあるソースコード」を身につけることができます。
まとめ
論理的思考能力や好奇心といった「素質」持っていれば、プログラミングのセンスが磨かれるのも早いでしょう。プログラミングのセンスを持っている人は現場で重宝されますから、センスや「素質」は必要な要素です。ここで紹介した方法を実践すれば、あなたのプログラミングのセンスはどんどんと磨かれていきます。
技術者は実力が物を言う世界。上を目指して常に自分を磨きましょう。
自力でプログラミングの学習をする自信がない…というあなたは、<a href=”https://camp.potepan.com/”>ポテパンキャンプ</a>のようなオンラインスクールを利用して効率的に学ぶことを検討しましょう。