新人若手エンジニア教育(技術スキル)に関するまとめ。
こんにちは。株式会社シスナビ広報担当のRです。
梅雨明けしたのかな?と思っていたら、突発的な雷雨や台風影響に悩まされたりしてちょっと憂鬱な季節ですね。暑すぎるよりかはマシかなと思いましたがそうでもないか…。
それでは、早速続編として新人向けの「技術スキル研修」に関する色々とつらつらと書いてみたいと思います。しっかりとお金を投資して外部技術研修をすべきなのは重々承知しておりますが、今後のノウハウ蓄積並びに後学のためにも自社内研修を試行錯誤実施する事にいたしました。のちのち客先常駐してしまう新入社員は、会社とのコミュニケーションをしっかり取る事が一番重要ですしね。
目次
技術スキル編
まだ見られていない方に先にお伝えしますが、前回お送りした「ヒューマンスキル編」はこちらです。
専門学校や情報工学系の大学を卒業していない「非エンジニア」の若手をどういう風に教育していくか?という当社としては新たなチャレンジになりますが、それらの備忘録も兼ねて書いてみます。
まずは前提から話をまとめます。ITエンジニアという職種は現在広範囲に渡って沢山存在します。そして様々な技術も存在し、日々新しい技術が生まれているのも事実です。これらを全部網羅するのは困難なので、まずはJAVAを使った開発エンジニアに的を絞った教育をしていく事にしました。当社の技術領域として、「JAVA、PHP、.NETなどのWebアプリケーション」等に繋がる基礎土台作りからです。
新人エンジニアの技術教育はどうやってすればよいの?
以下、当社上級エンジニアからの教育アドバイスメールを抜粋してみます。(Sさん、ありがとうございます。)
——————————————————–
エンジニアの育成には時間が掛かります。
まずはその点をRさん、採用されるAさんの双方でしっかりと認識して下さい。
それを認識するためにも最初にエンジニアとして、
どういった分野のどういった知識が必要で、
今どの分野を勉強しているのかを把握しながら進めた方が、
後々統合的な知識を持ったエンジニアになれると思います。
簡単にですが、現在のエンジニアに必要とされる分野について、
エンジニアとして必要な知識.bmpに図示してみました。
是非新人さんと共有してください。
.uxfの方のファイルは.bmpを出力する際の元になったファイルです。
JDKとUMLETというツールをインストールすると編集可能になります。
何らかの修正を加えたい場合にご利用ください。
ご覧になるとお分かりになるかと思いますが、
現在のエンジニアに必要とされる知識は非常に広範囲に渡っています。
焦る必要は無いので、5年、10年といった単位で習得すればいい、
と新人エンジニアさんに良く言って聞かせるとともに、
Rさんも良く認識して下さい。
Javaとのことですが、
まずはエンジニアとして必要な知識.bmpのアプリケーション部を
Javaで構築できるようになることが目標になります。
JavaでWebの開発をする場合、Javaの文法、JavaWeb、オブジェクト指向の3つの知識が必要になります。
ステップとしては、
・Java文法と基本的なSQLの学習
・JavaWebの学習
・オブジェクト指向の学習
という段階を踏むことになると思います。
Javaの文法については市販されている参考書で良いのですが、
くれぐれもJavaWebの参考書と間違えないように注意して下さい。
OracleのJava認定資格の勉強をさせるのも良いかも知れません。
SQLに関しては
・CREATE TABLE文
・INSERT文
・UPDATE文
・SELECT文
・DELETE文
・CREATE INDEX文
・ALTER TABLE文
・DROP TABLE文
をgoogleで検索して学習、パフォーマンスに関して
http://www.geocities.jp/mickindex/database/db_optimize.html
を学習する程度で間に合わせですが何とかなると思います。
MySQLなどをインストールしてJavaからSQL文を発行出来るようになれればよいです。
JavaWebに関しては市販されている参考書で良いです。
HTMLやjavascript、css、XMLの知識も一緒に付くと思います。
このときネットワーク周りの知識も欲しくなったら
http://www5e.biglobe.ne.jp/%257eaji/3min/
を読ませて学習させると良いと思います。
オブジェクト指向については、
この前も伝えさせていただいた通り、
・デザインパターン
・アナリシスパターン
・エンタープライズアプリケーションアーキテクチャパターン
・ドメイン駆動設計
の順で読ませて下さい。
デザインパターンに関しては
http://www.itsenka.com/contents/development/designpattern/
辺りを学習する程度でも良いかも知れません。
余裕があれば
・リファクタリング
・テスト駆動開発入門
辺りも読ませておくと良いと思います。
——————————————————–
当社エンジニアのSさんにぎゅっとメールで内容を詰め込んでもらい教えて頂きました。過去の職場にて若手エンジニアの教育担当兼プレイングマネージャーとして活躍されていた方なので、とても参考になるご意見。ただ詰め込みすぎるのは少々厳しいし、難しい。のでもう少し私なりにシンプル化してやっていこうと思います。
>エンジニアの育成には時間が掛かります。
これは非常に痛感。教育担当者としては短期ルートで早く結果を出させたい!という焦りのようなものが沸々と出てくるのですが、この焦りが非常にまずい事になります。同じ目線に教育者は立たなければなりません。本人のキャッチアップしやすい方法を模索する事が少しは本人が出せる結果に出るのではないかと考えます。
技術研修1 JAVA Bronze資格取得に関する学習
まずは市販されている書籍購入しました。使用した市販書籍は以下です。
・オラクル認定資格教科書 Javaプログラマ Bronze SE 7
・やさしいJava 第5版 (「やさしい」シリーズ)
なぜJava資格取得なのか?と問われれば、本人に自信をつけさせたいのが一番の目的です。技術もわからない人間がいきなり現場に出たとしても全く自信がないから、普段のコミュニケーション力も仕事となると全く発揮できずに勝手に萎縮してしまう。負の連鎖だらけだからです。そのためのプロセスで資格取得の奨励の一環と基礎土台をつけさせるお勉強として実施させてます。
まずは座学メインで行いましたが、実際に動かしながらの環境は必須だなと痛感。最初は「Java Bronze」の資格取得の目的だけにフォーカスさせましたが現状未取得です。笑 ポンコツ新人が必死に行動すれば9月頃には取得できるのではないかと考えてます。今は並大抵ではない位のポンコツですが、間違いなく期待を上回る位に伸びてくれる人材だと信じてます!今はポンコツですが…w
技術研修2 JAVAの開発環境を構築させて実際に動かしてみる
資格取得する為の学習を2週間ほどさせましたが、基礎の理解もままならない状態だったので全然頭に入ってこず…。平行してJAVA JDKやEclipseの開発環境の構築を行ってもらい(Webで徹底的に自分で調べる癖付けをさせる)、実際に書籍通りに動かして結果はこうなるんだ、という体と頭で理解を深めてもらいました。あとはソース解析をさせる事で、どういった処理を行っているのか?という箇所の理解も深めさせました。
参考にさせて頂いた記事は以下。
・一番かんたんなJava入門
・初心者でもほぼ無料でJavaを勉強できるコンテンツ10選
・Java初心者入門講座
まとめ
まずはどういったエンジニアを目指すか?から逆算させて、どの開発言語を習得させるかを選択させる。
当社はWebアプリケーションを主軸にしているので、エンジニア不足が騒がれている「Java」開発言語の教育に注力する事にしました。このプログラムは一体何の処理なのか?というソース解析を徹底的にさせたり、Java資格取得の座学と開発環境を構築して実際に動かしたり、慣れさせる事が大事だと痛感してます。
あとは人にもよると思いますが、やる気を出させる為には「褒める」を意図的に組み込むことも大切だなと感じました。小さなことでも良いので、「やればできるじゃん!」という褒める材料を上司の口からしっかりと言ってあげた方が良いのかなとも感じました。ただし「甘やかす」では決してないのでここのバランス感が難しいですけどね。
ちょっとざっくりした内容となってしまいましたが、いずれは本人見解も交えた記事更新を行いますので乞うご期待!
以上です。