Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

ヒカラボ「自社サービス開発会社で活躍し続けるために必要な○○とは?」開発エンジニア

854 views

Published on

2016/6/14に行われた「ヒカ☆ラボ Node.jsエンジニア、フルスタックUIデザイナーが語る~自社サービス開発会社で活躍し続けるために必要な○○とは?」にて発表した資料です。
https://career.levtech.jp/hikalab/event/detail/49/

Published in: Business
  • Be the first to comment

  • Be the first to like this

ヒカラボ「自社サービス開発会社で活躍し続けるために必要な○○とは?」開発エンジニア

  1. 1. Copyright© 2016 RAKUS Co., Ltd. All Rights ReservedCopyright© 2016 RAKUS Co., Ltd. All Rights Reserved 自社サービス開発会社で 活躍し続けるために必要な○○とは? 株式会社ラクス 鈴木 勇 ヒカ☆ラボ 1
  2. 2. Copyright© 2016 RAKUS Co., Ltd. All Rights Reserved 鈴木勇(すずきいさむ) • 32歳、既婚 • Node.jsコミュニティで微力ながら活動中 • 休日は料理したり、海外ボードゲームしたり • 半分趣味でIPAの資格取得 – PM/DB/SC (AP/FE) 2
  3. 3. Copyright© 2016 RAKUS Co., Ltd. All Rights Reserved 鈴木勇(すずきいさむ) • 2006年にCSK(現SCSK)に入社 – オンライン証券システムの開発 • 2013年にラクスに中途入社 – の開発 • 社員2名、派遣1名で開発 – 新卒採用のハンズオンで講師を担当 – プロジェクトマネジメントについて外部発表 3
  4. 4. Copyright© 2016 RAKUS Co., Ltd. All Rights Reserved 今日のお題 • Node.jsを使った新卒採用イベントの 講師になった話 • Subversion→Gitの移行を推進した話 • WebAPIの設計を担当した話 4
  5. 5. Copyright© 2016 RAKUS Co., Ltd. All Rights Reserved 今日のお題 • Node.jsを使った新卒採用イベントの 講師になった話 • Subversion→Gitの移行を推進した話 • WebAPIの設計を担当した話 役立つ話というよりも ラクスの一部での事例紹介です 5
  6. 6. Copyright© 2016 RAKUS Co., Ltd. All Rights Reserved 今日のお題 • Node.jsを使った新卒採用イベントの 講師になった話 • Subversion→Gitの移行を推進した話 • WebAPIの設計を担当した話 6
  7. 7. Copyright© 2016 RAKUS Co., Ltd. All Rights Reserved Node.js 知ってますよね? 7
  8. 8. Copyright© 2016 RAKUS Co., Ltd. All Rights Reserved Node.js ≠ ServerSideJS • ChromiumのV8 JS Engineを 抜き出してJavaScriptが動くように した仕組み – ChromiumはChromeのOSS版 – 最近はMS ChakraCoreで動かすプロジェクトも 8
  9. 9. Copyright© 2016 RAKUS Co., Ltd. All Rights Reserved Node.js ≠ ServerSideJS • JavaScriptのイケてない部分が解決 –処理系多すぎ → V8で統一 –言語仕様がゆるふわ → Node v6.0でES2015に (ほぼ)完全対応 9
  10. 10. Copyright© 2016 RAKUS Co., Ltd. All Rights Reserved 世界中で大人気 ٩( ‘ω’ )‫و‬ こぞってエコシステム(生態系)を拡充している 10
  11. 11. Copyright© 2016 RAKUS Co., Ltd. All Rights Reserved 特にフロントエンド界隈では そろそろ必須となっている npmとかwebpackとかgulpとか 11
  12. 12. Copyright© 2016 RAKUS Co., Ltd. All Rights Reserved というのを4年くらい前から 追いかけていました ちょうどMeteorFrameworkがシリーズA資金を調達する直前くらい なので、2012年5月頃? 12
  13. 13. Copyright© 2016 RAKUS Co., Ltd. All Rights Reserved で、社内でもことあるごとに Node, Node, Node,と騒ぐ 社内勉強会とか、社内ブログとか、雑談中とか 13
  14. 14. Copyright© 2016 RAKUS Co., Ltd. All Rights Reserved Node.js自身だけじゃなく 周辺技術で簡単になったことも Socket.ioとか、MongoDBとか、Redisとか、Passportとか 14
  15. 15. Copyright© 2016 RAKUS Co., Ltd. All Rights Reserved 他にも外部勉強会で 発表したよアピールしたり 15
  16. 16. Copyright© 2016 RAKUS Co., Ltd. All Rights Reserved で、ある日チャンス到来 16
  17. 17. Copyright© 2016 RAKUS Co., Ltd. All Rights Reserved 新卒採用をハンズオン形式で 3時間 x 毎週1回4週間 = 12時間の新卒選考 17
  18. 18. Copyright© 2016 RAKUS Co., Ltd. All Rights Reserved せっかくだから (技術的に)楽しいことやりたいね ということでNode.js+Socket.ioでチャットづくり 18
  19. 19. Copyright© 2016 RAKUS Co., Ltd. All Rights Reserved 3年目メイン講師になって好き勝手 • 各種最新版で課題コードを書き直し – v4.2.6 LTS(当時最新LTS版) – Express 4 + Handlebars + Bootstrap • 前年度までNode+ejsだった (Expressなし) • 来年はv6.x系にしてES2015対応版にしたい 19
  20. 20. Copyright© 2016 RAKUS Co., Ltd. All Rights Reserved 好き勝手 その2 • 思いのたけを好きなように言う – 「最悪うちに来なくても今Node.jsやっておけば 他社でも評価されるはず」 – 「エンジニア全体のレベルが上がれば巡り巡って 自分の給料もあがるから役立つイベントにしたい」 • 人事に怒られるかと思ったら怒られなかった ✧\¥ ٩( ‘ω’ ) ‫و‬//✧ 20
  21. 21. Copyright© 2016 RAKUS Co., Ltd. All Rights Reserved 今日のお題 • Node.jsを使った新卒採用イベントの 講師になった話 • Subversion→Gitの移行を推進した話 • WebAPIの設計を担当した話 21
  22. 22. Copyright© 2016 RAKUS Co., Ltd. All Rights Reserved 今日のお題 • Node.jsを使った新卒採用イベントの 講師になった話 • Subversion→Gitの移行を推進した話 • WebAPIの設計を担当した話 22
  23. 23. Copyright© 2016 RAKUS Co., Ltd. All Rights Reserved 実はMercurialが来ると 思っていた頃もありました Gitと違って集中/分散を複合して使えるのでバイナリの扱いで有利 23
  24. 24. Copyright© 2016 RAKUS Co., Ltd. All Rights Reserved しかし時代はGit Subversionが許されるのは小学生まで、という風潮 24
  25. 25. Copyright© 2016 RAKUS Co., Ltd. All Rights Reserved 定番ツールを実務で経験できない ことに危機感 「使ったことはありますが業務では未経験です」の印象 25
  26. 26. Copyright© 2016 RAKUS Co., Ltd. All Rights Reserved 導入までの道のり 1. 同じチームに仲間が見つかった(つよい) 2. 2人でGit, Git, Gitと騒ぐ 3. 別のチームにも仲間が見つかった(つよい) 4. みんなでGit, Git, Gitと騒ぐ 5. インフラ部門の部長に根回し(超つよい) 6. 道行く人に10回くらいGitの利点を訴える 26
  27. 27. Copyright© 2016 RAKUS Co., Ltd. All Rights Reserved 無事導入! ! 真っ先に所属チームで運用開始 3人チームなのでサクッと運用にのりました 27
  28. 28. Copyright© 2016 RAKUS Co., Ltd. All Rights Reserved GitHub Enterpriseは高いので 28
  29. 29. Copyright© 2016 RAKUS Co., Ltd. All Rights Reserved GitLabで運用開始 GitLab舐めてたけど、GitHubに負けないくらい高機能だったよ 29
  30. 30. Copyright© 2016 RAKUS Co., Ltd. All Rights Reserved 引き続きGitLab CI, GitLab Pages, Mattermostの導入も扇動中 基盤となるGitLabを入れてしまえばこっちのもんよ 30
  31. 31. Copyright© 2016 RAKUS Co., Ltd. All Rights Reserved 今日のお題 • Node.jsを使った新卒採用イベントの 講師になった話 • Subversion→Gitの移行を推進した話 • WebAPIの設計を担当した話 31
  32. 32. Copyright© 2016 RAKUS Co., Ltd. All Rights Reserved 今日のお題 • Node.jsを使った新卒採用イベントの 講師になった話 • Subversion→Gitの移行を推進した話 • WebAPIの設計を担当した話 32
  33. 33. Copyright© 2016 RAKUS Co., Ltd. All Rights Reserved 担当している ですが 33
  34. 34. Copyright© 2016 RAKUS Co., Ltd. All Rights Reserved お客さんのシステムに持っている データで帳票を作ります 34
  35. 35. Copyright© 2016 RAKUS Co., Ltd. All Rights Reserved CSVでファイル出力してもらって ブラウザでファイルアップロード 前時代的です 汎用性はあるけどね 35
  36. 36. Copyright© 2016 RAKUS Co., Ltd. All Rights Reserved システム間連携で人手を入るの ナンセンス 36
  37. 37. Copyright© 2016 RAKUS Co., Ltd. All Rights Reserved REST APIを実装しました 苦労がありました 37
  38. 38. Copyright© 2016 RAKUS Co., Ltd. All Rights Reserved 自社サービスへの REST API実装計画が採用 よっしゃよっしゃ 38
  39. 39. Copyright© 2016 RAKUS Co., Ltd. All Rights Reserved 他の開発チームから 選抜されたメンバーで実装方針策定 あれ? 実装するのうちなんだけれど……。 39
  40. 40. Copyright© 2016 RAKUS Co., Ltd. All Rights Reserved けれど、実装方針策定メンバー じゃないのに口出ししまくる いざ作ろうとすると疑問は出てくるわけで 40
  41. 41. Copyright© 2016 RAKUS Co., Ltd. All Rights Reserved 方針決まって 「じゃ、開発よろしく」 よろしくされました 41
  42. 42. Copyright© 2016 RAKUS Co., Ltd. All Rights Reserved よろしくされたので好き勝手 • きれいなAPI設計を参考に – apigee様のe-book – Paypal様のオンラインドキュメント • 一部REST成熟度モデルLevel3に対応 – 要はHATEOAS対応 42
  43. 43. Copyright© 2016 RAKUS Co., Ltd. All Rights Reserved 余談:REST成熟度モデル • Level1 URLがリソースを表現(名詞になる) • Level2 HTTPメソッドを使い分ける – POSTでfunction=“delete”とかしない • Level3 レスポンスに関連リンクを含める – REST APIでもhypertextの概念を入れる – HATEOAS • APIファーストでやれると楽そう 43
  44. 44. Copyright© 2016 RAKUS Co., Ltd. All Rights Reserved この辺の苦労話は 過去の発表資料を どうぞ 「 WebAPI なみだ目」で検索 http://www.slideshare.net/isamusuzuki54/web-api-52380754 44
  45. 45. Copyright© 2016 RAKUS Co., Ltd. All Rights Reserved 好き勝手その2 • 既存機能のREST API化で コストがあまりかからなかったので 主要機能を一気にAPI対応 – シングルページアプリケーション化の 夢を見ている 45
  46. 46. Copyright© 2016 RAKUS Co., Ltd. All Rights Reserved 今日のお題 • Node.jsを使った新卒採用イベントの 講師になった話 • Subversion→Gitの移行を推進した話 • WebAPIの設計を担当した話 46
  47. 47. Copyright© 2016 RAKUS Co., Ltd. All Rights Reserved 共通していること もうおわかりですね? 47
  48. 48. Copyright© 2016 RAKUS Co., Ltd. All Rights Reserved 騒ぐこと 48
  49. 49. Copyright© 2016 RAKUS Co., Ltd. All Rights Reserved 典型的な奥ゆかしい日本人なので 「ちょっとうざがられるかな?」 くらいでちょうどいい 一度言っても誰も動かない 半年、一年言い続けると状況が動き出す 本当はもっと早く動いてほしいけど 49
  50. 50. Copyright© 2016 RAKUS Co., Ltd. All Rights Reserved 「じゃあよろしく」 の後にすぐ動く覚悟は必要 50
  51. 51. Copyright© 2016 RAKUS Co., Ltd. All Rights Reserved 可能な限り短期で一気にやる 取り組みが長期化すると手間の固定費が増えて動けなくなる 短期でやって、トラブル対応に手間をかけた方がトータルで安上がり ↑ もちろん例外もあります 51
  52. 52. Copyright© 2016 RAKUS Co., Ltd. All Rights Reserved 仕事が増えるのは諦める 価値を高めるための仕事は必要な仕事です 52
  53. 53. Copyright© 2016 RAKUS Co., Ltd. All Rights Reserved 以上!! ですが、せっかくなので 53
  54. 54. Copyright© 2016 RAKUS Co., Ltd. All Rights Reserved 弊社、人が足りていません(切実) • こんな人 – Java読み書きできる人 – 技術的、ビジネス的好奇心が強い人 • これないと成長続かないです 54
  55. 55. Copyright© 2016 RAKUS Co., Ltd. All Rights Reserved 弊社、人が足りていません(切実) • こんな人 – Java読み書きできる人 – 技術的、ビジネス的好奇心が強い人 • これないと成長続かないです –発表聞いて楽しそうだと思って いただけた方←重要 55
  56. 56. Copyright© 2016 RAKUS Co., Ltd. All Rights Reserved ☺ ご清聴ありがとうございました 56

×