mixi engineer blog

*** 引っ越しました。最新の情報はこちら → https://medium.com/mixi-developers *** ミクシィ・グループで、実際に開発に携わっているエンジニア達が執筆している公式ブログです。様々なサービスの開発や運用を行っていく際に得た技術情報から採用情報まで、有益な情報を幅広く取り扱っています。

ミクシィの技術研修について

こんにちは。道路に飛び出した猫に向かって危ないって叫ぼうとしたら思わず「ニャーッ!!」って叫んでしまった技術部技術支援グループのtakaiです。
ちなみに猫は無事でした。よかったですね。

さて、今回はミクシィで実施している技術研修について紹介しようと思います。

大事なこと

ミクシィの技術研修は主に新卒のエンジニア職向けに実施しています。 肝心なコンセプトは既に部長が書いてしまいましたが大事なことなのでもう1度言います。 現在ミクシィでは以下のコンセプトのもと、技術研修を行なっています。
  • 関係各所、チーム、チーム横断でのタスクに関して 迷惑をかけずに自分で判断できる/あるいは正しく判断を仰げる状態までの成長
  • 現状の技術的問題点や課題を把握し、改善策や改善のためのプランニングができる
  • 各項目への知識体系の羅針盤を提供して、自学自習によってより高度な領域まで発展することができる
「ミクシィでしか使えないこと」の教育は最小限に抑え「エンジニアとして普遍的なこと」に重点を置いて教育をしています。 どうしてこのような研修コンセプトになったのでしょうか? 事業に特化した技術というのは時代の流れや環境の変化で変わってしまう可能性があります。 この変化に対応するにはエンジニアとして軸になる普遍的な知識が必要不可欠だからです。 また、普遍的な知識があれば何か障害があったとしても、また迷うことがあったとしても落ち着いて対応できます。

技術研修

次に「エンジニアとして普遍的なこと」を目的に作られた研修をご紹介します。 科目は多々あるのですが大きくカテゴライズすると以下3点に分けれらます。
  • 基礎編:エンジニアとしての基礎的な技術を学ぶ研修
  • 応用編:エンジニアとして普遍的な技術を学ぶ研修
  • その他:業務に特化した技術、業務を遂行するのに必要な知識を学ぶ研修
さらに各カテゴリの内容について説明します。
基礎編
LAMP開発に必要なUNIXやエディタ系のレクチャから始まります。 またバージョン管理システムやテスト手法についての講義もあります。 バージョン管理システムやテスト手法の講義については手順だけでなく、どうして必要なのか?という背景まで掘り下げて説明をすることで、根本的な理解を促しています。 近年ではJavaScriptの開発も多くなって来ていますので、JavaScript開発の基礎についてのメニューも用意しています。 また運用エンジニアによるサーバー周りのお話やDBの設計、テーブルのスケール設計などの講義もあります。 基礎編を受けるだけでWeb開発のベースはバッチリ身につきます。
応用編
応用編は、より普遍的な知識を学びます。 オブジェクト指向の開発を始め、オブジェクト指向設計やパッケージ凝集設計などのOOP、OOA、OODに必要な基礎知識の講義があります。 また、部長がご紹介しましたセキュリティプログラミングのトレーニング。 さらにはベンチマークテストなどパフォーマンスチューニングに役立つメニューもあります。 より深くて濃い知識を身につけることができます。
その他
ミクシィでの広告開発や配信の仕組み、課金システム周りの業務に特化した講義を始め、業務ルールを学びます。 こちらを受講することでミクシィ独自のルールや仕組みを理解することができます。

特徴

前述したことが最大の特徴ではあるのですが、ミクシィの技術研修にはもう一つ特徴があります。それは100%内製だということです。 研修の講師とサポートするチューターは社員のエンジニアが担当し、教材や課題を考えるのも社員です。

内製化することのメリットとしては必要に応じてカスタマイズが可能です。
現状、まだカスタマイズの自由度は低いですが、今後は細分化しより受講者のスキルや方向性に併せた研修を実施できるように改善していきたいと考えています。

さらに内製化することで受講者だけではなく、講師やチューターにもメリットがあります。
それは教えること自体が講師やチューターの勉強にもつながっているのです。
フランスの哲学者であるジョセフ・ジュベールが「教えることは2度学ぶことである」と言っていますが、まさしく実践しているのです。

内製化というのは資料を作ったり、課題を考えたりなど大変な面もあります。
また、自分がちゃんと理解していなければ人に教えるなんてとても務まりません。
その下準備としてまずは理解度を確認しなければいけません。
理解度を把握するために分かっているところと分かっていないところの整理をします。
そして分かっていないところ、自信がないところをどう補うかという形で理解を深めていきます。
この「知識を整理する」ということが重要なポイント。
知識を整理すること=自分のスキルの棚卸することになります。
この棚卸をすることで足りてない知識を発見するだけでなく、知識や経験の裏付けを確認できます。
つまり、この裏付けを認識することでエンジニアとしての自信につながるのです。

このようなメリットもあるので講義のサポートをするチューター役には前年度の新卒にお願いするようにしています。
毎日がむしゃらに仕事をしていて自分の知識やスキルの棚卸をする機会なんて殆どないですよね?

実際に講師やチューターを担当したエンジニアからは「自身の勉強になった」だけでなく「知識の整理が出来て良かった」という声を聞いています。 人に教えることで自身のスキルを見直し、自信をつけることも出来るのです。

おわりに

研修を通して新卒の皆様にはエンジニアとしての軸を見つけて頂き、社員の皆様にはエンジニアとしての成長の手助けが出来ればうれしいなと考えております。

そんなミクシィの技術研修を受けてみたいと思ったアナタ、ぜひコチラからエントリーしてみてくださいね。