ハンズラボ 初の新卒新人研修やってます 講師の視点から編
臼井です。
最近は、4月に入社した、ハンズラボ初の新卒エンジニアのみなさま4名とキャッキャウフフする毎日です。
そう、ハンズラボも他企業様と同様に、絶賛新人研修中でなのです。
写真は弊社ではなく、本日 One Day Outing にてお邪魔した、 Studio Geeks 様での新人さんの風景です。
Google 関連技術で著名な 株式会社トップゲート様 運営なので、ドロイドくんがいたり、GCP, Android 関連の書籍がいっぱいあります。
突然ですが、説明のため、ハンズラボ(及び東急ハンズIT部門)における、
新人(新卒入社、もしくは東急ハンズ他部門からのIT部門・ハンズラボへの異動) メンバーの受け入れに関する現状を、以下に示します。
- 2016 年のハンズラボ新卒が、純粋なIT未経験正社員新卒エンジニアの雇用は初のケース。
- 今回の新卒は、経験者(コンピュータサイエンス系専攻出身)2名、未経験(コンピュータサイエンス以外理系・学際領域系)2名、合計4名。
- これまでの東急ハンズIT部門的導入は、ユニケージ講習・写経、簡単なマスタ参照系作成からのOJT。これを1,2ヶ月で、くらいだった。
AWS フルマネージド環境推進により、上記の現状では不足を感じたため、
こうあって欲しいというエンジニア像を定義し、そこから逆算し、さらに現状へのフィットを考えつつ、
研修プランを数名のメンバーで練ってきました。
以下、新人研修の導入で用いたスライドより、抜粋した新人研修の狙いについて、公開いたします。
端的に言うと、
- まずはソフトウェアエンジニアとして、しっかりとした基礎を押さえる。コンピュータの動作原理レベルから。
- 同時に、動くプログラムもガシガシ書く。動作原理に対するポインタが記憶の表層にある状態でコードを書き、プログラミング習熟とコンピュータの基礎知識が相互に補強し合うことを期待し、これらの定着をはかる。
- チーム開発も行い、プランニングからテスト・実装・リリースまでやりきり、業務としてのソフトウェア開発未経験であった状態から、研修終了時にはサービス開発の即戦力になっているような状態を目指す。
といったところです。
流行りの技術やライブラリは、基礎などなくともimport|require して実行したり、コンソールをいじるだけでだいたい使う事ができますが、
ただそれを行うだけではなんらソフトウェアエンジニアとしての成長はありません。興味を満たすことは出来ますが。
基礎をおろそかにしていては、何十年経っても作業者レベルのプログラマのままでしょう。
あるいは、新興国の優秀なエンジニアに取って代わられ、作業者レベルとしてもプログラマとして生きていけなくなってしまうでしょう。
彼、彼女たちが、素晴らしい価値を世の中に創出してくれるエンジニアになることを願いながら、日々やっていってます。
皆様も是非、暖かい目で見守って頂ければ、と思います。
若い人の成長を間近で見られるのは、とても楽しいですね!
ハンズラボ 新人研修の狙い
- 40年専門性をもって働けるエンジニアの基礎を作る。流行も追える、基礎もある、骨太のエンジニアに。
- 実業務に入る前に身につけることで有用な基礎を作る。実業務に入ってからでは身につけるタイミングが難しいことを重点的に。
- プログラミングでものを作るの楽しい!と思ってもらう。そうしなければ、継続できない。
新人研修で身につけて欲しいこと
- “どのようにコンピュータは動いているのか” を理解する。
- “どうやってコンピュータを動かすのか” を身につける。
- “どうやってコンピュータの上で動くソフトウェアを作っていくのか” を実践する。
どのようにコンピュータは動いているのか
- 座学
- 入門 コンピュータ科学 ITを支える技術と理論の基礎知識
- 最初からいけるところまで。たぶん3ヶ月では全て終わらない。アメリカの上位校の学生が(たぶん)通年でやるような書籍なので、短期間でやるにはまあまあ難しい。
- TAつき輪講ゼミ形式で実施中
どうやってコンピュータを動かすのか
- プログラミング演習
- Python3 言語で、初学者想定で進行
- みんなのPython 第3版
- サーバ上のプログラム実行環境の構築や、ターミナルに慣れる
- 副読本 はじめてUNIXで仕事をする人が読む本
- 講師解説ありハンズオンで実施中
どうやってコンピュータの上で動くソフトウェアを作っていくのか
- 仮想プロジェクトの企画からテスト・実装・リリースまでの完遂。
- 新人さんだけ1チームで、チーム開発をしてなんらかのサービスを作りきる。やりきることを超重視。スケジュール・スコープマネジメントの感覚を身につけるはじめの一歩。
- 全員プログラムを書くことを徹底。誰かがプランナーだけやるとかを禁じる。それ以外はできるだけ自由にやってもらう。
- チーム開発に必要なことを積極的に自ら学び、実践してもらう。タスク管理、バージョン管理、スケジュール、etc…
- 5月スタート予定