• このエントリーをはてなブックマークに追加
ドワンゴのエンジニア新人研修2015
閉じる
閉じる

新しい記事を投稿しました。シェアして読者に伝えましょう

×

ドワンゴのエンジニア新人研修2015

2015-07-14 19:19
  • 21
ドワンゴでエンジニアの教育も担当している清水(@meso)です。

昨年に引き続き、今年もエンジニアの新人研修を担当いたしましたので、その内容をご紹介いたします。

今年は、昨年までと異なりエンジニア以外へのプログラミング研修を開催したり、エンジニアへのプログラミング言語の研修を Scala に変更したりしたので、その辺りを重点的にご紹介いたします。

合同プログラミング研修

ドワンゴに入社したエンジニア、デザイナ、企画の新入社員と、KADOKAWAに入社した新入社員の方の全員を対象にしたプログラミング研修を行いました。

プログラミングをバリバリやってきたエンジニアたちと、プログラミングをしたことがない非エンジニアたちを合同で教育するには、どのようなカリキュラムにすべきか悩んだ結果、エンジニアに積極的にTA的な立ち回りを演じてもらうことにしました。

そもそも4日間という短い期間で、プログラミング未経験者に対してある程度達成感のある教育を行うというのは、講師一人だけの力では困難です。そこで、エンジニア2人に非エンジニア1人という3人組のチームを作ってもらい、講師が出す課題についてエンジニア2人が非エンジニアに教える、という形式を取りました。

カリキュラムの内容は以下の通りです。

初日: 
-   PCの構成要素
    -   ハードウェア / ソフトウェア
    -   OS / アプリケーション
    -   PCでないコンピュータって?
-   Webとは
    -   Webブラウザ
        -   Chrome をダウンロード
    -   Webページが表示されるまでの流れ
        -   URL/IPアドレス/DNS/NAT/DHCP
        -   HTTP/HTML/CSS/JavaScript
    -   WWW以外のインターネットって?
-   課題例
    -   HTMLの基本
        -   チーム紹介のページ作成せよ
        -   エディタは Atom
            -   文字コード/改行コード
-   プログラミングとは
-   JavaScript
    -   2.2節 文字列と数値 まで

2日目: 
-   JavaScript
    -   2.3節 配列とオブジェクト から 2.6節 繰り返し まで
-   課題(例)
    -   1から1000までの3つの整数a, b, cが直角三角形の各辺になるようなa, b, cの組み合わせを、重複なく全て出力せよ
        -   回転したりひっくり返したりして重なる三角形は重複とみなす

3日目: 
-   JavaScript
    -   2.7節 関数 まで
-   課題(例)
    -   素数を判定する関数 isPrime を定義し、1から100までの素数の数を求めよ
-   JavaScript
    -   Node.js の導入
-   課題(例)
    -   コンソール上での数当てゲームの実装
        -   require, readline, Math.floor, Math.random, 再帰
-   Twitter API
    -   アプリケーション登録/AccessToken生成
    -   クライアントライブラリの導入/npm
    -   タイムライン取得、ツイート生成

4日目: 
-   Twitter API
    -   ユーザストリームの取得
        -   JSON, Stream, 非同期処理とコールバック関数
-   最終課題
    -   数当てゲームができるTwitterBotを作る
        -   String.split, parseInt, isNaN

5日目: 
-   最終課題続き
-   振り返りとまとめ

この研修だけで終わるのではなく、研修で学んだ内容を今後も継続的に業務に活用していってもらえることを願っています。

エンジニアへの Scala 言語研修

昨年までは Java を言語研修で教えていましたが、今年は Scala で言語研修を行いました。

教材も自社で作りました。幸いドワンゴには、日本Scalaユーザーズグループ代表でJapan Scala Association 代表理事の @kmizu を始めとして、Scalaz や sbt のコミッタである @xuwei_k などの優秀な Scala エンジニアが揃っておりますので、彼らの手を借りて教材を作り上げました。

教材のメインターゲットは、大学の講義で Java をひと通りは習った経験のある新入社員、です。

教材は2部構成になっており、前半のScalaの文法解説に2週間、後半のPlay2を用いたアプリケーション開発に1週間掛けて教育していく予定でした。実際には、前半に1週間半、後半に1週間半ぐらいの割合になりましたが。

教材の目次をざっくりと紹介すると

前半:
Scalaとは / sbt インストール / Scala の基本 / sbt でコンパイル・実行 / Scala の制御構文 / IDE(IntelliJ IDEA) / クラス / オブジェクト / トレイト / 型パラメータと変位指定 / 関数 / コレクションライブラリ / ケースクラスとパターンマッチング / Implicit / エラー処理 / Future と Promise / テスト / Java との相互運用

後半:
Typesafe Activator と Play Framework / モジュールとレイヤ / 画像変換サーバ開発 

となっています。

目次には現れてないトピックとしては
-   メソッドのカリー化, 自分型を使ったDI, トレイトの継承を使ったDI, モノイド則, モック
-   アクターモデルとAkka, RabbitMQ, Specs2

演習問題の例としては
-   Immutable な Stack 型を定義せよ
-   トレイトを使ったリファクタリング
-   foldLeft を用いて reverse を実装せよ
-   二分木を表す型を定義し、sort メソッドを実装せよ
-   Option での例外処理を Either でリファクタリング
-   CountDownLatch の実装

などがあります。
結果として、弊社に Scala エンジニアが40名以上増えた!と言えると思っています。

この Scala 教材は、の形で社外にも提供していきたいと考えております。

そんなドワンゴでは、現在、エンジニアインターンを大募集しております。
ご興味をもたれ方は是非 こちら からご応募ください。
コメント コメントを書く
他11件のコメントを表示

で、この新人社員はニコニコのことが好きなのかね?実際そこが問題だぞ、ニコニコ嫌いなやつが運営なんてやっても良くなるわけがないからな

No.12 112ヶ月前

しかし、プログラムっていつから、こういう貴族の遊びみたいなものになったんだ?

No.13 112ヶ月前

>>13
貴族の遊びは普通、理数科の知識は要らないでしょ

No.14 112ヶ月前

ちょっと興味ある

No.15 112ヶ月前

面白いけど、プログラミングって正直言って向き不向きがあるからなぁ…

向いてる人=乾いた砂が水を吸うように、覚えが早い
向いてない人=大分苦労する、努力でねじふせるか、あきらめるか

この二点と先輩に教わった。

No.16 112ヶ月前

>>14
皮肉にマジレスは流石に草

No.17 112ヶ月前

ニコキッズに夢を持たせて社員確保するドワンゴさん凄いわ。仕事の闇を知らないニコキッズは毎日ニコ動関係の仕事できる!とか思ってるんやろーな

No.18 112ヶ月前

平衡二分木が難しい我向いてない

No.19 112ヶ月前

申し込んだで!! 受かりたい!!

No.20 112ヶ月前

必死ですな~

No.21 112ヶ月前
コメントを書く
コメントをするにはログインして下さい。