技術とか戦略とか

IT技術者が技術や戦略について書くブログです。

新人研修での目標

未経験の新人がSIerプログラマーとして働く際、事前に新人研修が行われるはずです。
その新人研修では、下記の3つのことができるようになって欲しいと個人的に思っています。
(プログラム言語はjavaを想定します)
 
1.変数、配列、if、ループといった基本的な制御を使いこなせる
 これらの制御は手続き型言語でも用います。
 また、業務プログラムのビジネスロジックは、
 これらの制御の組み合わせで成り立っていることが多いです。
 実務ではどのような言語を使うかわかりませんが、
 これらの制御を使いこなせればどのような言語でも最低限のことはできますし、
 コントロールブレイクやマッチング処理等のロジックも理解できます。
 
2.オブジェクト指向で書かれたプログラムを読める(使いこなせなくても良い)
 基幹システムのような大きなシステムがjavaで書かれている場合は、
 保守性確保のために必ずオブジェクト指向が用いられているはずです。
 新人の段階では、
 オブジェクト指向に則った設計ができるようになる必要はありませんが、
 ソースを改修する時に既存のソースを追えなくなるようであれば困ります。
 どのような時に用いると嬉しいのかは置いといて、
 継承・カプセル化ポリモーフィズムといった概念や、
 これらの概念に則って書かれたソースコードを読めるようにする必要はあります。
 
3.(何かの真似で良いので)簡単なツールを作れる
 参考書をコピーしてちょっと改変するぐらいで良いので、
 ちょっとしたツールやアプリケーションを組み上げたという経験は欲しいです。
 例えば、予約管理のシステムとか、掲示板とかです。
 何かを実現できれば、見た目や機能はしょぼくて良いです。
 実務でも、ちょっとしたプログラムの新規作成やツール作成等であれば、
 研修で作るようなツール・アプリケーションと規模的には大差ないので、
 そのような仕事をこなせるようになります。
 
---------------------
 
これら3つのことができるようになれば、定型化された単純作業だけでなく、簡単なプログラムの調査や改修、簡単なツールの作成といった、プログラマーらしい仕事を任せられるようになります。
新人にとっても、実務でプログラムに触れられるようになるので、配属後の実力の付き方が変わってくると思います。