Tbpgr Blog

Ruby プログラマ tbpgr(てぃーびー) のブログ

2013年 脱下請末端プログラマー おすすめ学習テーマ

下請末端プログラマーへのおすすめ学習テーマ

仕様を満たすソースコードは書けるが、そこから先がうまくいかないビギナーに
おすすめの学習テーマをまとめます。

自分のチームの開発者が以下を学んでいてくれると嬉しい、という視点で書いてあります。
下記の内容なんて出来て当たり前の内容だ、というレベルの高い現場はあると思いますが
SI'erかつ下請け構造の現場などは技術力不足の開発者が非常に多いと思います。

数ヶ月程度火のついた製造期間だけ滞在して色んな現場をたらい回しにされている
下請末端プログラマーの方は下記が出来れば同じの現場で重宝されると思います。
また業界は狭いですから、何かの案件で人が足りない時にお声が掛かる機会も増えます。
逆に質の低いプログラムしかけないとそういった際にお声がかかるどころか除外人物リストに入ってしまいます。

前提

学習テーマの話の前に前提です

・勉強を習慣化する
はじめは面倒かもしれませんが、あるとき急に楽しくなって勉強したくてたまらなくなるはずです。
また相乗効果として、学んだことが仕事に生きるので仕事が楽しくなってきます。

あの勉強内容が仕事で使えた=>また勉強する=>勉強した成果を仕事で試したい=>仕事で・・・

の好循環がはじまります。

・どうやったらもっとうまく出来るか常に考える
仕事中よりよい方法があるか常に考えること。

・スキルを盗む
自分より技術力のある同僚や先輩のPC操作に注目すること。
見覚えのない操作をしていたら質問して教えてもらい、吸収する。

・コードを書く
とにかく出来るだけコードを書きながら学ぶこと。
プログラミングは書籍だけでは身につかない。

おすすめ学習テーマ

・プログラム設計
プログラムに近い領域の設計は末端のプログラマーでも出来るようになること。
メソッド分割。クラス分割。共通化。命名など。
設計書に書いていないと何も出来ないプログラマーを多数見てきましたが本当に生産性が低いです。
冗長なコードばかり生み出します。

このテーマは後述するリファクタリングの書籍等を読んだ内容を意識して
コーディングするだけでも一定レベルになれるはずです。

・TODO管理を身につける
GTDでもポモドーロテクニックでもいいですが、TODO管理を身につけること。
アジャイル系の書籍を読むことで考え方を身につけるのも良し。
リファクタリング・ウェットウェアも良書です。

作業を出来るだけ細かく分割し、作業中は常に小さなひとつのテーマだだけに集中する。
細かい成果を積み重ねて大きな成果にする。
成果をトラッキングすることで、見積の精度をあげていく。
各作業の合間で振り返りを挟むことで、効率化・改善を行う。

・XUnit
単体テスト、モックの利用
次に推奨するリファクタリングを行うためにも単体テストのスキルは必須です。

リファクタリング
マーティン・ファウラーリファクタリング本推奨。

・綺麗なコードを書けるようになること
リーダブルコードなど綺麗なコードに関わる書籍を1冊以上学び
後はその基準に基づいてひたすらコードを書く。

・仕事で使う主言語の学習
自分が仕事で使う主言語の機能ひと通りをカバーした書籍を学ぶこと。
入門書で終わっている技術者はステップアップ。

・主開発環境を高速に操作出来るようになる
エディタでもIDEでも機能をできるかぎり把握して出来るだけ多くショートカットを覚える。
手で行なっていた作業がIDEやエディタの機能で可能なことが多々あります。
知っていれば一瞬の作業も知らなければ数時間かかってしまいます。

おまけ

・Zen-Coding
Webに関わる開発者なら覚えておいて損はありません。
冗長になりがちなhtml、xmlを高速にコーディングできます。