三流プログラマが脱三流するために書くブログ

PHP, オブジェクト指向プログラミング, デザインパターン, リファクタリング, DDD, 関数プログラミング, etc.

脱三流するために何をするべきか

■ なぜこのようなブログを始めようと思ったのか

私がIT業界に身を置いて、かれこれ15年近くが経とうとしています。 これまで何度か転職してきて、幸いにも食うに困るような状況はなかったのですが、これまで自分のスキル向上のためにあまり時間を割いてきませんでした。 そんな折、「SOFT SKILLS」という本を読んだら、その中に「ブログ書け」みたいなことが書いてありまして、あまり書くスキルも高くないことだし、思考や方針などを記録しておくためにもブログ始めようかな、と思ったのがきっかけです。

なにをもって「三流」か、というのはあまり重要ではなく、自分の技術力や仕事への取組姿勢を少しでも向上できたらいいなぁという意気込みの表れだと思っていただければ。

最終的に、「もうおれ三流じゃないな」と思える日が来ればいいなぁ、と。

■ やりたいこと

  • デザイン (設計) のスキルを上げる
  • テストのスキルを上げる
  • チームマネジメント (チーミング) のスキルを上げる

コーディングの技術は、デザイン力 (「デザイン」だとウェブデザインなどのグラフィカルな事柄を想起させやすいので、以降は「設計」にします) によるところが大きいなぁと感じていて、例えばデザインパターンだったり、ドメイン駆動設計だったり、を学ぶ中で、けっこう実装力も上がってきているんじゃないかという実感があります。

また、テストに関する知識があまりなく、テストコードはできるだけ書くようにはしてるものの、正しいテストが行えているか、というのはあまり自信がないので、これを機に、基礎的な事柄について学んでおこうと思います。

チームマネジメント (最近「チーミング」という言葉が気に入ったので、以降は「チーミング」にします) に関しては、ひとりで開発する場合を除いて、規模の大小にかかわらずあるに越したことがないスキルだなと最近感じていて、以前はあまり興味がなかったんですが、ちょっと真面目に考えてみよう、と思い始めています。

■ 目標

最低でも月に1本は書きたいです。 本の感想とか、日々の仕事で学んだことととか、月に1本も書くネタがないようだと、ソフトウェア技術者としては相当ヤバい状況だと思うので…

どんなインプットがいいアウトプットをもたらしたか、または、悪い状況が発生したときどんな行動が原因になったか、などをKPTみたいな感じで記録していき、1年後に見直して、脱三流を実感したいです。

■ その他

コーディング系の技術ネタは Qiita に書いていますので、こちらをご覧ください。ときどき転載するかも。

設計、テスト、チーミングに関するおすすめの本などあったら教えてください。