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