【プログラミング】独学の手順

【プログラミング】独学の手順

パチ屋の店員から独学でプログラミングを勉強し、5年かけてフリーランスエンジニアとなった僕が、独学のちょっとしたコツをお伝えしていきたいと思います。

【プログラミング】独学の手順

僕が初めてプログラミングの勉強を開始したときは何から初めていいかわからず、何も考えずに興味の湧いた本を片っ端から買って、1章で挫折して、また買ってといったことを繰り返してきました。

こうなってしまうことの根本的な原因は「とりあえず勉強しよう」とするからです。

①自分が何を作るか決める

まずやらなければいけないことは、自分が何を作るのか決めることです。

「自分の作りたいものをまず作れ」とかよく聞くと思いますが、最初の頃は作りたいものなんてありません。それは百も承知です。

でも、決めないといけないのです。わからないなりに、本を読んだりしてこんなものなら作れそうなものをピックアップしてください。

それがどんなにしょぼいものだったとしてもそれを「自分が作りたいもの」にしないと、前後左右上下から声をかけられて目隠しスイカ割りをするようなものです。いろいろなことに手を出しては諦めてを繰り返す羽目になります。

(運良く1冊目でハマる人もいますけどね)

なので、とりあえずで入門書を買うのをやめて、何を作るのか決めてから、それができそうな入門書を選んでください。

②フローチャートを描く

まだプログラミングを始めてはいけません。何を作るか決めたならば、それがどんな処理の連続なのかを考えなければいけません。

そうしないと、結局自分が何をすればいいのかわからず、迷子になってしまいます。これは初級者に限った話でもなくて、僕は今でもフローチャートを描く(単純な機能なら頭に思い描くだけですが)ことをしています。

自分が何をプログラムするのかをできるだけ具体的にしてからコーディングしないと定着しづらいというのもあります。

実際、エンジニアの仕事はプログラムをコーディングするだけではありません。僕もいろいろな現場を回ってきましたが、何をするかを決めるだけの仕事のときもあれば、ただ設計書通りにコーディングするだけの仕事もありました。

いろいろな役回りで仕事してきましたが、僕の持論ではエンジニアは一通り全部できないといけないと思っています。

そう考えるとコーディングができるかどうかは実はそこまで重要ではなく、むしろ要件定義や設計の方が大事だったりします。

ですので、僕も初学者の頃そうでしたが、焦ってとにかくコーディングしようとすると、結局遠回りする羽目になります。

急がば回れとはよく言ったものです。

③細かく味見をすること

ここが最も重要なのですが、処理をとにかく小さくして試してみるということです。

例えば、テキストファイルを読み取って、「。」を改行に変換してファイル出力する、みたいな処理があった場合について考えます。

まず、実際に記述するソースコードとは別のテスト用のファイルを作成します。

そのテスト用のファイルにテキストファイルを読み取るだけの処理を実行してみる、次に「。」を改行コードに変換するだけの処理を実行してみる、さらにファイルを出力するだけの処理を実行してみる。

といった具合です。

プログラミングは料理と似ていると言われますが、プロの料理人は調味料を少し入れただけでもいちいち味見をします。そうすることで、何をすると味がどう変化するか把握できるからだそうです。

プログラマーも同じです。課題を細かく分解して、一つひとつ実行して試していきます。

地味でめんどくさい作業ですが、この繰り返し以外に上達する手段はないと思います。

トップアスリートなんかでも、派手なパフォーマンスの裏側ではめちゃくちゃ地味な練習の積み重ねを行っています。近道なんてありません。