現在あるお客様で行っている教育+OJTに付いて書きます。そのお客様では既存のサービスの延長としてiPhoneアプリを開発したいと考えていらっしゃいました。
ただし、iPhone開発に関われるエンジニアは、PHPでのWeb開発を半年程度経験したのみの方でiPhoneアプリの設計・実装を始めるにはかなり難易度が高い状況でした。
しかし、そのエンジニアの方と話をし、通常のiPhone開発教育プラスお客様のアプリ作成にOJTを行う事で、何とかiPhoneアプリが出来そうだと思い、iPhone開発教育+OJTをご提案し採用されました。
iPhone開発教育も通常3日間のところを5日間で行いました。通常のiPhone教育の部分は4日かけてじっくりと行いました、エンジニアの方は初心者ではありませんが、まだプログラミングのベテランの域には達していませんでしたので C言語やオブジェクト指向等に付いての教育は丁寧に行いました。
そして、5日目にはお客様が作ろうとしているアプリのごく一部を実装したプロタイプを私の方で作り、その中で使われている、サーバーとの通信、XML処理等を学んで頂きました。
教育後は週1回ペースでOJTを行っています。OJTではエンジニアの方から設計・実装上の問題点を上げてもらい、それに対しての私がサンプルコードを作って説明したり、トピックを絞った教育を行ったりしています。
今までに出た問題点は:
- アプリ実装で必要になるiPhone SDKのテクニック: iPhoneアプリは iPhoneのOS(iOS)が用意しているAPIを組み合わせて作りますが、開発経験が浅いと見栄えのちょっとした変更でも、どうやったら出来るのかが解るまでにはかなり時間がかかります。そこで私の方でサンプルを作り作成方法等の教育を行いました。
- よい設計を行うための知識: iPhoneアプリは Objective-Cという、オブジェクト指向言語で作ります。やはり無駄なコードが少なく、メンテナンス性の高いプログラムを作るには、デザインパターンや経験から得られた知識が必要になります。そこで現在の問題点にフォーカスした形でオブジェクト指向等の教育を行いました。
- 復習: 最初の開発教育の時には判った気になっていても、いざアプリを作ろうとし出した時に、やっぱり自分の知識があやふやである事が判る事は良くある事です。そこで復習することで知識をちゃんと定着できると思います。
このように、教育とOJTを組み合わせる事で、御社に確実なiPhone開発力を育てて行くことが出来ると確信しています。