mixi engineer blog

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

スマートフォン開発研修教材の公開について

クラフトワークの来日公演3-D CONCERTS 1 2 3 4 5 6 7 8を観にいったら、顔が大きいのか、3Dメガネがきつくて切なかったもりもとです。

株式会社ミクシィでは、新卒入社スタッフをはじめ、これからスマートフォンアプリ開発を行っていく全スタッフを対象に、社内で「スマートフォン開発研修」を始めています。その研修資料をこのたびgithubで公開させていただきました。

mixi-inc/iOSTraining · GitHub
https://github.com/mixi-inc/iOSTraining

mixi-inc/AndroidTraining · GitHub
https://github.com/mixi-inc/AndroidTraining

これら文書は、それぞれCC BY-SA 3.0およびApache License 2.0とCC 2.5 Attributionのデュアルライセンスで公開しています。ご覧になっているみなさまにご参照いただいたり、社内研修にご活用いただくのも大歓迎です。
この資料の公開の経緯とねらいについて、ご説明させていただければと思います。

新卒・学生向け技術研修

今年2013年の春も、株式会社ミクシィには新卒のみなさんにご入社いただきました。新卒のみなさんには毎年、一般的なビジネス研修に加え、技術研修も履修していただいています。
いかにして技術を身につけていただき、みなさんの持てるスキルと、会社が目指したい方向とのマッチングをはかり、創造性と生産性を両立させていくか。この課題を満たすため、毎年工夫しています。

ミクシィの技術研修について - mixi Engineers' Blog
http://alpha.mixi.co.jp/2012/10795/

ミクシィの総合職向け技術研修について - mixi Engineers' Blog
http://alpha.mixi.co.jp/2012/10945/

もう一段おおきな視野を踏まえると、学生のみなさんを対象とした技術ワークショップや、仮想的にわざと脆弱性を造り込んだ「偽mixi」を舞台としたCTF (Capture the Flag)的イベントも行ったりしています。

mixi Scrap Challenge - 学生向けイベント - mixi Engineers' Blog
http://alpha.mixi.co.jp/2012/10794/

こういったご縁を通し、新卒として入社されるみなさんもいらっしゃいます。技術的出会い、研鑽のキックと言えるかもしれません。

研修内容のリファイン

このように毎年行っている技術研修やワークショップ系イベントですが、研修内容の方向性も、毎年ごとの最適化が必要です。株式会社ミクシィは「mixi」という大規模なWebサイトを開発運営しています。その内部の非常に多くの部分がPerlで記述開発されていることはご存知の方も多いと思います。

さらに、「Webブラウザでご利用いただくWebサイト」としてだけでなく、「スマートフォンでご利用いただくサービス」であることの重要度も日々高まっています。mixiを取り巻く情勢やお客さまのニーズは変化していきます。そこで働くエンジニアに必要となる技術の内容も、もちろん変化していきます。今年度の新卒のみなさんには、スマートフォンのネイティブアプリケーションの開発スキルを身につけていただくことも、さらに重要な点となりました。

この課題をどうクリアしていくか。
スマートフォンのネイティブアプリ開発は、まだ歴史の浅い分野です。
「iPhoneアプリの開発一筋経験十年」という方は、まだいません。

私たちも、開発効率と動作効率の両方において、実践を通してテクニックを勉強しています。
たとえば多くの機種にまたがって動作するネイティブアプリケーションを造り込むには、機種による差異をうまく吸収し、安定動作と使い勝手を追求しなければなりません。
ミクシィはここでの知見もオープンに公開していく姿勢を持っています。

mixi-inc/Android-Device-Compatibility · GitHub
https://github.com/mixi-inc/Android-Device-Compatibility

フレッシュなみなさんに学んでいただくだけでなく、我々も学んでいきます。一緒に学びつつ、みんなで成長していくというスタンスは重要です。そのためにも、我々は技術研修教材を内製するという判断をしています。

社内に閉じない「学び」

技術スキルを磨くことには、相互研鑽がとても重要です。 ここでいう相互とは、新卒のみなさんと、講師を担当する先輩社員のみなさんというクローズドな関係だけでなく、これらテクノロジを取り巻く、社外含めたコミュニティのみなさんも含めた総合関係です。
Webやスマートフォンアプリの世界の多くは、 オープンソースソフトウェアやフリーソフトウェアから成り立っています。 新しい発想を実装し、それを実践で運用し、運用で得られた知見をさらにソースコードに施していく。こういったポジティブなフィードバックにより、ソフトウェア自体も、これらを使う利用者たちも、学び、成長し、よりよい価値を創出していくことができます。
こういった空気を呼吸し、あるいはそもそもこの空気のもとで育ったエンジニアたちにとって、今回手作りする技術教材を最初からオープンな体制で作り運用していくことに、迷いは一切ありませんでした。


(今回の研修教材「iOSTraining」から図を抜粋)


おそらく同じような方向性のもとに、教育資料を公開していらっしゃる各社さまもいらっしゃいます。

hatena/Hatena-Textbook · GitHub
https://github.com/hatena/Hatena-Textbook
(株式会社 はてな様)

kayac/newbie-training · GitHub
https://github.com/kayac/newbie-training
(株式会社カヤック様)

私たち株式会社ミクシィも、こうしたプラットフォームやオープンソースソフトウェアの恩恵にあずかりながら事業を行っているため、そこで得られた知見を世の中に還元していきたいと考えています。
今回の研修資料公開も、その「恩返し」の一環になれば嬉しく思っています。


(今回の研修教材「iOSTraining」から図を抜粋)


また記事をあらためて、この研修資料の作成にまつわるトピックや、研修を受けてみての感想、これらを通した株式会社ミクシィの狙いと方向性についてもお伝えしていきたいと思います。
この教材へのご意見ご感想もお待ちしております。プルリクもね!

新卒・学生向け技術研修

株式会社ミクシィや、このエンジニアブログでは、以下のような教材資料もご提供しています。ぜひご利用ください!