• このエントリーをはてなブックマークに追加

  • ドワンゴの「技術コミュニケーション室」(技コミ) #とは

    2016-12-24 13:00

    この記事はドワンゴ Advent Calendar 2016 12/24の記事です。昨日は@gomi_ningenの「大規模ネイティブアプリへのプッシュ通知機能導入にあたって考えたこと」でした。


    ドワンゴの塩谷(@kwappa)です。2016年11月より「技術コミュニケーション室」(以下技コミ)という部署の室長を清水(@meso)から引き継ぎました。

    技コミ is 何?という質問を時々受けるので、この記事を書くことにしました。自分の仕事を整理する、という意味もあるので一石二鳥です。

    技コミのミッション

    技コミのミッションで最も大切なもの。それは「エンジニアの生産性をあげる」ことです。

    ドワンゴには現在400人以上のエンジニアがいます。そのエンジニアたちが最大限の生産性を発揮できるように、のびのびと仕事をしてもらうための環境を整えたり問題を解決したりすることで、サービスやプロダクトをよりよいものにしたり、まだ世の中にないものを作り出していけるよう支援していくのが主な仕事です。

    そのためにどんなことをしているか、実際の取り組みをご紹介します。

    開発環境の整備

    情シスやインフラと連携し、GitHub EnterpriseSlackIntelliJ IDEAなど、エンジニア全体で共通して使えるようなツールの選定や導入、運用管理をしています。最近ではJFrog Artifactoryというリポジトリ管理ツールを各チームに使ってもらい始めています。

    エンジニアのコミュニケーション促進

    週に一度、社内で「エンジニアLT」というイベントを開催しています。持ち回りで毎週5人をアサインし、発表5分 + 質疑応答5分のプレゼンをしてもらいます。お題は自由なので、業務で困ったことの共有から自分で書いた技術系同人誌の即売まで、幅広いテーマの発表を聞くことができます。飛び入り発表をしていくエンジニアも多く、自作のサービスやアプリをデモする場としても活気にあふれています。昨年リリースしたサービス「ニコナレ」も、原型はエンジニアLTで発表されたのが最初でした。

    また、キャリアや技術で悩んでいるエンジニアの相談に乗ったりアドバイスをするために、「お悩み相談室」という時間を設定しています。グループウェアに「お悩み相談室」という予定が用意してあるので、相談したいエンジニアが自分で予定を確保するというシンプルな仕組みで、結構な頻度で利用されています。深刻度はさまざまですが、悩み事の一次受けルートのひとつとして機能し始めているように感じています。

    ドワンゴのプレゼンス向上

    カンファレンスのスポンサーになったり、コミュニティや学会に勉強会の会場を提供したり、歌舞伎座.techという勉強会を開催したりといった活動を通して、社内外のエンジニアのみなさんにドワンゴのよさを知ってもらおうとしています。

    エンジニア採用

    人事部と連携し、エンジニアの新卒・中途採用を推進するのも重要なミッションのひとつです。書類審査や面接といった直接的な業務はもちろんですが、前述した「プレゼンス向上」とも関係するさまざまな取り組みを行なっています。

    ドワンゴでエンジニアとして働くことに興味を持っていただいたら、ぜひこちらからご連絡ください。おまちしています!(これも採用活動の一環)

    新卒研修

    新卒社員の研修プログラムを考え実施するのも技コミが担当しています。scala_textというオリジナルの教材による座学、各分野で必読の技術書を読んでのワークショップ、チーム開発体験など、少しでも一人前に近い状態で配属できるよう、オリジナルの内容でしっかりと研修を行なっています。

    その他にやっていること

    最大のミッションは「エンジニアの生産性をあげる」ですが、そのほかにもユニークな仕事がたくさんあります。いくつか紹介しましょう。

    アスキードワンゴ

    「エンジニアに最も近い技術書ブランド」を掲げるアスキードワンゴの編集部は技コミに所属しています。

    出版業務は鈴木嘉平(@kahei)編集長が行なっていますが、ときどき「この本どうします?」などと相談を受けるのは役得感があります。先日「おもしろいですねいっときましょう!」と言ってしまったプロジェクトを公開できる日が楽しみです。

    OpenToonz

    スタジオジブリで使われていた「Toonz」というアニメーション制作ソフトをオープンソース化したものが「OpenToonz」です。この開発チームも技コミに所属しています。

    11月に参考書「OpenToonzではじめるアニメーション制作」が発売され、12月には阿佐ヶ谷ロフトAでイベント「使ってみよう!OpenToonz ~1から始めるアニメ制作~」が開催されるなど、少しずつ注目が集まっているプロダクトです。今後の成果次第では日本のアニメ業界に貢献できるかもしれないという、不思議な縁だが頑張りたくなる仕事です。

    準エンジニア試験

    カドカワグループの社員に向けて実施される「準エンジニア試験」という制度があります。エンジニアリングを主な職務としていない人向けにソフトウェア開発の試験を実施し、その成績によって「準エンジニア」として認定します。

    この試験の実施に向けて、問題の作成、希望者向けに勉強会の実施、試験の立ち会い、採点などを技コミで行なっています。他人のキャリアにも影響してしまう可能性があるので、ものすごく重圧のかかる大変な仕事ですが、エンジニアとそうでない人たちの視点や語彙の溝が埋まればコミュニケーションが円滑になり、結果としてエンジニアの生産性が上がるのは間違いありません。エンジニアにとっても意義のある制度だと思うので、来年度の実施に向けて準備を始めたところです。

    まとめ

    ドワンゴならではの部署である技術コミュニケーション室についてお話してみました。自分でもいろいろやってるなーと笑ってしまうぐらいなのですが、大半が先代の手柄なので、二代目としてはこれからが腕の見せどころなのです。「ドワンゴは技コミがあるからいいね」と言ってもらえるよう頑張っていきますので、どうぞよろしくお願いいたします。

    ドワンゴ Advent Calendar 2016の最終日は、先代の室長にして現在は人事部長になった@mesoです。お楽しみに!

  • 夏のトップカンファレンス祭り

    2016-07-11 18:23
    夏ですね。夏といえば、トップカンファレンスと言われる国際学会が多く開催される時期でもありますね。

    というわけで、ドワンゴ研開ちゃんねるでは、今夏開催される(された)CVPR, ICML, SIGGRAPH の3つのトップカンファレンスで発表された論文を読んで発表しあう勉強会を、生放送配信いたします。

    勉強会の概要はそれぞれ以下のとおりです。

    1. 第35回(前編)コンピュータビジョン勉強会@関東 CVPR2016読み会 前篇
    2016年6月27日から30日にかけてラスベガスで開催されたコンピュータビジョンのトップカンファレンスの一つである IEEE Computer Vision and Pattern Recognition 2016 の論文読み会です。

    勉強会参加募集サイト: http://kantocv.connpass.com/event/35303/



    2. ICML2016読み会
    2016年6月19日から24日にかけてニューヨークで開催された機械学習の国際学会 International Conference on Machine Learning の論文を読んで紹介する会です。

    勉強会参加募集サイト: http://connpass.com/event/34960/



    3. SIGGRAPH 2016 勉強会
    2016年7月24日から28日までアナハイムで開催されるコンピュータグラフィックス分野を対象とするACMの分科会で、「世界最大かつ最高のCGの祭典」と呼ばれている ACM SIGGRAPH で発表される全論文について、お互いに論文要旨を発表し合うことで、コンピュータグラフィックス分野における最先端技術の動向を俯瞰します。

    勉強会参加募集サイト: http://siggraph.xyz/s2016/



    3勉強会とも会場はドワンゴのセミナールームですので、可能であれば是非足を運んでいただきたいのですが、会場に来られない方も生放送で少しでも参加をしていただければと思います。

    また、ドワンゴでは、勉強会の会場をコミュニティへ無償で貸し出しはもちろん、要望があれば勉強会の様子を当チャンネルで無償で生放送配信しております(機材やスタッフの手配も不要)。
    詳細は https://www.doorkeeper.jp/会場/dwango をご確認ください。
  • ドワンゴのエンジニア新人研修2016

    2016-06-22 18:0065
    ドワンゴでエンジニアの教育も担当している清水(@meso)です。

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

    今年は、昨年とカリキュラム上は大きく変更した点はありません。しかし、実施の方法を大きく変えました。具体的には「アクティブ・ラーニング」的な考え方を取り入れましたので、その辺りを重点的にご紹介出来ればと思います。

    合同プログラミング研修

    ドワンゴのエンジニアだけではなく、デザイナや企画職の新入社員、また、KADOKAWAやカドカワなどのグループ会社に入社した新入社員の方も含めた合同のプログラミング研修を行いました。

    昨年は、基本的には私が講師を行い、エンジニア新入社員にTA的な立ち回りをしてもらったのですが、今年は、カリキュラムの考案からテキストの作成、当日の進行や講師役まで全て新入社員が中心に行う形式となりました。

    内容としては、コンピュータやインターネットの基礎を学び、その上で、JavaScript を用いた簡単なプログラミングを行う、というものです。

    チームを組んで、チーム内のエンジニア新入社員がそれ以外のメンバに教えていく形式なので、チームメンバの理解度に寄り添いながら進めて行っていたのが印象的でした。

    1週間という短い時間でしたが、初めてプログラミングに触れたという方も多く、とても有意義な時間になったと感じております。

    ドワンゴのエンジニアに必要な基礎知識

    4月の最終週からGW明けの10日までの6日間は、ドワンゴでエンジニアとして活躍するために押さえておいてほしい基礎知識の修得にあてました(ドワンゴでは超会議の振替で5/2,6が休日でした)。

    1. ドワンゴエンジニアとしての心構え
    - 世間で言われているエンジニアにとって大事なこと
    - ドワンゴエンジニアが特に大事にすべきこと
    - エンジニアに限らずドワンゴ社員が大事にすべきこと

    2. Webの基礎知識

    3. セキュリティ
    - IPAが配っている脆弱性体験学習ツール AppGoat で脆弱性攻撃体験

    4. よいプログラマになるために

    5. チーム開発の進め方
    - ドワンゴ社内でのアジャイル開発の資料

    教科書を何冊か配布しておりますし、他にも教材をいくつか指定しています。これは、単純に講師が講義形式で読み進める、とか、自習として読んでおしまい、というものではありません。

    今年は以下のように本読みを進めるよう指示をしました。

    1. 本を読む範囲(章やページなど)を指定する
    2. 1人で読む時間を指定する(18時まで、等)
    3. 読み進めながら
      - 知らなかったこと
      - 重要だと思ったこと
      - これは違うんじゃないか?と思ったこと
      - その他気になったこと
      を読書ログとして(社内Qiitaクローンの)Potmum に記述する
    4. その記述を元に、チーム内で議論する
    5. 議論の結果をチームごとにまとめて発表する

    これによって、ただの受け身の知識獲得ではなく、能動的な学習を行うことができ、より深い理解に繋がったのではないかと思います。特に、「プリンシプルオブプログラミング」は項目の網羅性は高いが項目ごとの深掘りや具体性の記述は浅いため、その点を議論で深められたのはとても相性が良かったと思います。

    ちなみに、18時まで読書でその後に議論だと、新入社員なのに就業時間が遅過ぎないかと思われるかもしれないので補足しておくと、新入社員はコアタイムが11時-15時のFLEXのため、出社時間も新入社員で話し合って決めてもらっています(裁量を持つ訓練も兼ねて)。だいたい10時半出社になることが多いため、19時半が退社時間になります。

    スマホアプリ開発体験

    今年の新入社員の特徴として、競技プログラミングが得意なアルゴリズムを考えるのに長けたエンジニアが多い傾向があります。とはいえ、昨今のサービス開発の流れを考えると、スマホアプリの1つでも作った経験がないと、エンジニアとして流動性が低い人材だと捉えられかねません。
    というわけで、Android の公式ドキュメントを読みながら、3日間でスマホアプリを1つ作りあげるという研修を行いました。

    スマホアプリ開発についての基礎知識を得ることはもちろんですが、英語の公式ドキュメントを読み解く訓練も兼ねています。当初は何らかの本を配る予定でしたが、直前で Android Studio のバージョンがあがったこともあり、方針を変更しました。
    もちろん3日間でマスターできるようなものではありませんが、「スマホアプリ作ってくれ」と言われたときに「いや、作ったことないので無理です」と断るのではなく、「はい、あんま経験ないので調べながらになると思いますが、やります」と返事ができるようになることを目標とし、それは達成出来たのではないかと思います。

    こちらも、ドキュメントを読みながら開発を進めつつ、上記の本読みと同様にログを残してチーム内で問題点を解決しながら進めてもらいました。

    Scala 研修

    Scala Matsuri 2016 で公開した、ドワンゴの Scala 研修テキストを用いて、Scala の基本文法から Play を用いた Web アプリケーション開発まで10日間で学習してもらいました。

    こちらも、本読みと同様に、各自読み進めながら理解できなかったことなどをまとめてチーム内で議論し、発表する形式で進めました。

    昨年は、講師が前で読みながら説明をしていくスタイルだったのですが、それと比べると積極性や理解度が上がったと感じています。

    また、今年も昨年同様、学んでいる新入社員からテキストに対して pull request が飛んでくることも多く、よりテキストとしても洗練されてきていると感じています。
    実は、公開しているテキストは前半の Scala の文法部分だけで、後半の Play を用いた Web アプリケーション開発はまだ公開されていません。こちらもそのうち公開できるようにしたいと考えています。

    チーム開発実習

    Scala 研修ののち、6月からは、チーム開発実習ということで、お題を与えてチームでの実践的なアプリケーション開発に取り組んでもらいました。

    例年は、チーム間でコンペ形式で競い合う形式でしたが、今年はチーム間で担当するパートを分け、協力しあって全体として1つのアプリケーションを作成する形式に変更しました。

    お題としては「Slackとめっちゃいい感じに連携するタスク管理システム」です。
    • Webフロント/Slack bot/Android アプリを作るフロントチーム
    • API サーバを作成するAPIチーム
    • 社内の営業日情報の取得やIDと本名とメアドを変換する基盤など、今回のシステムにかかわらず使えるような基盤システムを作成する基盤チーム
    に大まかに分かれてもらい、各チームで要件をもとにAPI仕様を話し合い、ドキュメントをきちんと整備しながら進めてもらっています。

    433a02ee1db6d45eed3aecb3fac9e28da8d2d157

    ちょうど今週いっぱいで終わる予定だったのですが、今日になって Slack に Message Button というまさにこのシステムにうってつけの機能が追加されたため、これに対応してほしいという仕様変更を先ほど投げたところです。こういうのも実践的ですね。

    まとめ

    今年は、講義形式をやめ、自習 + ディスカッション + 発表という形式をメインに据えたことで、より研修に主体的に参加している姿を見ることが出来ました。
    また、チーム開発実習も、より現場の開発の実際に近い形にしたことで、チーム間のコミュニケーションが重要だということを肌で感じることができたと思います。

    これからの、2016年新入社員の活躍にどうぞご期待ください。

    おまけ

    そんなドワンゴでは、今夏のエンジニアインターンシップの募集を開始しています。
    ご興味ありましたら是非ご応募ください!