新人研修で Chef, Serverspec, TCP, HTTP, MySQL, ISUCON を担当した @tkuchiki です。
研修は 4/9 - 4/16 の 6日間 で実施し、 2013年技術部新卒研修 の内容を一部変更して行いました。
Go の研修については、今年の新人研修はgoでした を、
ISUCON については 新卒研修の最終日に社内ISUCONを開催しました 〜運営死闘てか死亡編〜 を御覧ください。
研修の目的
研修の目的は以下のとおりです。
- Linux サーバ構築スキルの習得
- Serverspec の必要性を学ぶ
- Chef の cookbook を作成できるようになる
- TCP・HTTP の理解を深める
- MySQL の基礎を理解する
- 実践(ISUCON)を通して課題発見・解決能力を養う
研修の内容
Chef, Serverspec
2013年に行った新人研修同様、予め用意しておいた Serverspec のテストを通るように手でサーバ構築してもらいました。
その後、サーバをまっさらな状態にして、手で構築した内容を Chef の recipe に落としこんで Serverspec のテストを通るように作業してもらいました。
TCP, HTTP
こちらも2013年の新人研修と同じくTCP についてざっくり説明した後に、
tcpdump を使いながら、 3 way handshake がどのように行われているか説明しました。
http についても同様に、telnet で HTTP Request を送り、nc で HTTP Response を返す作業をハンズオン形式で行いました。
MySQL
RDB についての話しや、MySQL の歴史、MySQL の index、 MySQL の lock の話しをしました。
lock については、@ichirin2501 に MySQLのInnoDBのロック挙動調査 をもとに話しをしてもらいました。
よくまとめられていますので、ぜひご一読ください。
ISUCON
ベンチマーカーやベンチマーカーのジョブスケジューラーも Go で実装しました。
良かった点
TCP・HTTP の研修をハンズオン形式で行った
アンケートの結果で最も要望が少なかったのが、TCP・HTTP の研修でした(特筆してよかった点がなかったことは課題だと思います)。
手で HTTP Request, Response を送る例は、書籍ではあまり見かけないと思いますので、
研修を行う意義のある内容だったのではないかと思います。
MySQL のテキストの質を高められた
@ichirin2501 が良い資料を作成してくれたので、
新卒社員以外にも有益な資料を社内に共有することができました。
改善点
それぞれのスキルセットにあった研修内容ではなかった
今回、サーバサイドエンジニア、フロントエンドエンジニアともに同じ内容の研修を受けてもらいましたが、
サーバ構築演習は内容的にサーバ構築を行ったことがある前提の内容になってしまいましたので、
フロントエンドエンジニアの新入社員には一部内容が難しかったようでした。
フロントエンドの研修がなかった
研修担当者が全員サーバサイドエンジニアだったこともあり、フロントエンドエンジニアの業務に関係する研修が一切行えませんでした。
サーバサイドエンジニアもフロントエンドの知識を持っていたほうが良いと思いますので、今後の課題としたいと思います。
まとめ
短い研修期間だったこともあり、基礎的なことしか教えられませんでしたが、
概ね目標は達成できたのではないかと思います。
今後は、研修期間を長くできるように社内調整を行ったり、基礎だけでなく実践的なことを教えられるようにしていきたいです。