プログラマーとして成長するための戦略論
こんにちは。
久々の更新となってしまいました。
僕自身はとうとう初めてのプロジェクトにアサインされ、どんな仕事、貢献ができるか期待に胸を膨らませています。
さて、僕はプログラミング言語に初めて触れてから約1年半ほど経過しました。
プログラマーとしては初級者レベルをクリアし中級者レベルにランクアップしたくらいだと思います。
さて、このプログラマーとしての道を振り返ってみて初級者として有効だった戦略論を紹介します。
戦略論としてるのはあくまで僕の経験則に基づいたものであるからです。ただ周囲を見ていても再現性はかなり高いのかなと思います。
戦略論の全貌はこれ!
①システムと呼べるものを開発する
②テストコードを並行的に書く
③徐々に大規模なものを作る
①システムと呼べるものを開発する
プログラミングを勉強するに当たり、言語ごとのテキストに載っている設問などをゴリゴリと解くことが多いと思います。
もちろん勉強の手始めとしてはいいとも思います。ただ、そうした設問はあくまでシステムのパーツを書いているに過ぎません。
プログラマーとして目指すべきはシステムを完成させ、それを納品することだと思います。
つまりパーツは組み合わされて初めて動き始めるのです。
逆にシステムというゴールを設定し、プログラミングをしていくと必要なパーツの使い方、動かした方が身についていきます。
つまり設問をひたすら解くよりは、システム構築のフローでパーツの使い方を学んでいくことで成長スピードを加速させることができるのです。
自分の将来書きたいシステムに役立ちそうなシステムをまずは作ってみましょう。
②テストコードを並行的に書く
プログラマーとして究極的に恐いのは、テスト段階に突入してから、重大なバグが発見され、大幅な修正作業が生じてしまうことです。
いくら開発スピードが速くても、バグを乱発させるコードを書いてしまっていては元も子もありません。
そこで、開発スピードを担保しつつバグを発生させづらいプログラミングの方法があります。
それはテストコードを並行的に書くということです。ひとつのメソッドを書いたとき、果たしてちゃんと想定通りの動きをするのか。
それを他のパーツと組み合わせる前に簡単に確認しておくことで、バグはかなり減らすことができ、結果としてスピードも上がります。
初級者としてはぜひ覚えておいて欲しい方法です。
③徐々に大規模なものを作る
①でシステムを作ることを推奨しましたが、いきなり大規模なシステムを作るのはおすすめしません。
書くのに時間がかかりすぎて、モチベーションも維持できないからです。
そこでまずは小さなシステムから作成しましょう。
おすすめとしては入力値に対して期待値が出力できるシステム(電卓やじゃんけんゲームなど)をまずは作ってみることです。
最初は書き方がわからなかったりすると思いますが、その都度テキストやインターネットのサイトで書き方を検索していると、自然に身につきます。
このような方法で徐々に大規模なシステムを開発していくと、プログラマーとして必要な能力が身についていくと思います。
おわりに
以上、プログラマーが成長するための戦略論を紹介しました。
再掲すると、
①システムと呼べるものを開発する
②テストコードを並行的に書く
③徐々に大規模なものを作る
の3つでした。
ビジネス用語で言うとPDCAサイクルをひたすら回転させていく方法です。
実はプログラミング以外にもこの方法は使えると思います。プログラマー以外の人は次のように読み替えてもいいかもしれません。
①アウトプット可能なレベルまで学習する
②テストを作って逐一知識をチェックする
③少しずつ勉強範囲を広げていく
それでは、また。
関連記事