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

More Related Content

PDF
Forkwellキャリア談義17 「プロジェクトマネジメント」に大事なこととは?
Isamu Suzuki
 
PDF
ヒカラボ「自社サービス開発会社で活躍し続けるために必要な○○とは?」開発エンジニア
Isamu Suzuki
 
PPTX
Chatopsのおかけでエンジニアがルーティンワークから解放された話
葛 飛
 
PPTX
エンジニア組織づくり5年。見えてきた関西Web界隈のええとこ、あかんとこ - Developers Summit 2019 KANSAI
Yuki Okada
 
PPTX
グラフデータベース入門
Masaya Dake
 
PDF
[修正版]大学生によるWordPress活用事例紹介 -1-大学生にこそ普及してほしいWordPress
Ryo Uozumi
 
PPTX
paizaのオンラインジャッジを支えるDockerとその周辺
paiza
 
PDF
軽量言語メインの 文系エンジニアだった自分が Scalaのシステム開発に携わることになった経緯 @shigemk2
Michihito Shigemura
 
Forkwellキャリア談義17 「プロジェクトマネジメント」に大事なこととは?
Isamu Suzuki
 
ヒカラボ「自社サービス開発会社で活躍し続けるために必要な○○とは?」開発エンジニア
Isamu Suzuki
 
Chatopsのおかけでエンジニアがルーティンワークから解放された話
葛 飛
 
エンジニア組織づくり5年。見えてきた関西Web界隈のええとこ、あかんとこ - Developers Summit 2019 KANSAI
Yuki Okada
 
グラフデータベース入門
Masaya Dake
 
[修正版]大学生によるWordPress活用事例紹介 -1-大学生にこそ普及してほしいWordPress
Ryo Uozumi
 
paizaのオンラインジャッジを支えるDockerとその周辺
paiza
 
軽量言語メインの 文系エンジニアだった自分が Scalaのシステム開発に携わることになった経緯 @shigemk2
Michihito Shigemura
 

What's hot (20)

PPTX
DevLOVE関西2016.2.5 地道にAWS構築自動化に取り組んでいるお話し
Akira Nagata
 
PPTX
Redisの特徴と活用方法について
Yuji Otani
 
PPTX
アジャイルパラレル開発
Fumio Kawakami
 
PPTX
WikiWikiアジャイル
Fumio Kawakami
 
PPTX
比較サイトの検索改善(SPA から SSR に変換)
gree_tech
 
PDF
Ruby on Rails でつくるアタシ好みの愛され Web サービス
Yoji Shidara
 
PDF
NuxtJS + SSRで作ったGREE Tech Conference 2020
gree_tech
 
PPTX
JAZUG沖縄第二回 Azure App Service Web Apps
Kazumi Hirose
 
PPTX
最大公約数的なServiceWorker制作から見るPWAの勘所
Ryu Shindo
 
PDF
ソーシャルゲーム開発における運用とそのツール
Yoshiaki Sugimoto
 
PPTX
Node.jsに縁のない職場でnode.jsを使い始める戦術
Isamu Suzuki
 
PPTX
Jaws days 2019_pipeline_is_god
ひろき こにし
 
PPTX
ポコロンダンジョンズとリアルタイム通信 -サーバサイド編-
Suguru Shirai
 
PPTX
東急ハンズのクラウドデザインパターン アーキテクチャー編
一成 田部井
 
PPTX
寿司x職人 10年働いて思いを馳せるすし職人とエンジニアの共通項
Atsushi Yasuda
 
PPTX
スタートアップが知っておきたいAWS知識
Tomoyuki Sugita
 
PDF
僕の考える最強のビックデータエンジニア
Yu Yamada
 
PDF
ActiveRecord::Enumのススメ
豊明 尾古
 
PDF
チームラボ流 デジタルマーケティングにおけるクラウド活用術
Keisuke Kadoyama
 
PPTX
ご注文はRxですか? -RxSwiftを実際に導入してみた件-
Keisuke Tatsumi
 
DevLOVE関西2016.2.5 地道にAWS構築自動化に取り組んでいるお話し
Akira Nagata
 
Redisの特徴と活用方法について
Yuji Otani
 
アジャイルパラレル開発
Fumio Kawakami
 
WikiWikiアジャイル
Fumio Kawakami
 
比較サイトの検索改善(SPA から SSR に変換)
gree_tech
 
Ruby on Rails でつくるアタシ好みの愛され Web サービス
Yoji Shidara
 
NuxtJS + SSRで作ったGREE Tech Conference 2020
gree_tech
 
JAZUG沖縄第二回 Azure App Service Web Apps
Kazumi Hirose
 
最大公約数的なServiceWorker制作から見るPWAの勘所
Ryu Shindo
 
ソーシャルゲーム開発における運用とそのツール
Yoshiaki Sugimoto
 
Node.jsに縁のない職場でnode.jsを使い始める戦術
Isamu Suzuki
 
Jaws days 2019_pipeline_is_god
ひろき こにし
 
ポコロンダンジョンズとリアルタイム通信 -サーバサイド編-
Suguru Shirai
 
東急ハンズのクラウドデザインパターン アーキテクチャー編
一成 田部井
 
寿司x職人 10年働いて思いを馳せるすし職人とエンジニアの共通項
Atsushi Yasuda
 
スタートアップが知っておきたいAWS知識
Tomoyuki Sugita
 
僕の考える最強のビックデータエンジニア
Yu Yamada
 
ActiveRecord::Enumのススメ
豊明 尾古
 
チームラボ流 デジタルマーケティングにおけるクラウド活用術
Keisuke Kadoyama
 
ご注文はRxですか? -RxSwiftを実際に導入してみた件-
Keisuke Tatsumi
 
Ad

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

PPTX
【勉強会】 はじめてのRuby on Rails 4入門
Yuta Nakamura
 
PDF
Yahoo! JAPANのサービス開発を10倍早くした社内PaaS構築の今とこれから
Yahoo!デベロッパーネットワーク
 
PDF
そうだApi公開しよう feat. 有志のエンジニア
recotech
 
PPTX
SORACOM User Group Tokyo #10 | SORACOM US奮闘記! / SORACOMとIPアドレスと私
SORACOM,INC
 
PPTX
新事業がどんどん出来て組織が拡大中のフェーズのランサーズがどんな感じでプロジェクトを回しているのかまとめてみました
Satoshi Yokoi
 
PDF
AzureでLaravel動かしてみた
Keiji Kamebuchi
 
PPTX
Aws発表資料(dac) 20160721
Norikazu Yura
 
PPTX
DeNAのゲームを支えるプラットフォーム Sakasho #denatechcon
DeNA
 
PPTX
Devsumi 2016 b_4 KafkaとSparkを組み合わせたリアルタイム分析基盤の構築
Tanaka Yuichi
 
PPTX
社員数100名の壁を越える タイミングに在籍する、 組織・サービスを支える プロダクトチームの 苦悩と喜び−ランサーズ− のサマリ
Satoshi Yokoi
 
PPTX
まだまだ戦えるweb!mithril.js最初の1歩
Keisuke Mori
 
PDF
おすすめインフラ! for スタートアップ
Koichiro Sumi
 
PDF
【ITベンチャーを支えるテクノロジー】成長し続けるサービスを支える技術|ランサーズ株式会社
leverages_event
 
PDF
デブサミ 【14-E-6】なぜ、がんばってPaaSを提供するのか? ~今後のPaaSの活用について~
Yoshiyuki Takano
 
PDF
愛せよ、さもなくば捨てよ。
Sho Yoshida
 
PDF
Nexus and LeSS #rsgt2016
Takao Kimura
 
PDF
Yahoo! JAPANのOSS Cassandra貢献の今までとこれから
Yahoo!デベロッパーネットワーク
 
PPTX
エンタープライズでもクラウドファースト! Amazon Web Servicesをフル活用する Developer Summit 2016
一成 田部井
 
PPTX
20190520エンジニア交流会Google Apps Scriptミートアップ#4「~ノンプログラマー向けGAS活用~GAS×Chatwork・Slac...
Noriaki Takahashi
 
PPTX
BigDataUnivercity 2017年改めてApache Sparkとデータサイエンスの関係についてのまとめ
Tanaka Yuichi
 
【勉強会】 はじめてのRuby on Rails 4入門
Yuta Nakamura
 
Yahoo! JAPANのサービス開発を10倍早くした社内PaaS構築の今とこれから
Yahoo!デベロッパーネットワーク
 
そうだApi公開しよう feat. 有志のエンジニア
recotech
 
SORACOM User Group Tokyo #10 | SORACOM US奮闘記! / SORACOMとIPアドレスと私
SORACOM,INC
 
新事業がどんどん出来て組織が拡大中のフェーズのランサーズがどんな感じでプロジェクトを回しているのかまとめてみました
Satoshi Yokoi
 
AzureでLaravel動かしてみた
Keiji Kamebuchi
 
Aws発表資料(dac) 20160721
Norikazu Yura
 
DeNAのゲームを支えるプラットフォーム Sakasho #denatechcon
DeNA
 
Devsumi 2016 b_4 KafkaとSparkを組み合わせたリアルタイム分析基盤の構築
Tanaka Yuichi
 
社員数100名の壁を越える タイミングに在籍する、 組織・サービスを支える プロダクトチームの 苦悩と喜び−ランサーズ− のサマリ
Satoshi Yokoi
 
まだまだ戦えるweb!mithril.js最初の1歩
Keisuke Mori
 
おすすめインフラ! for スタートアップ
Koichiro Sumi
 
【ITベンチャーを支えるテクノロジー】成長し続けるサービスを支える技術|ランサーズ株式会社
leverages_event
 
デブサミ 【14-E-6】なぜ、がんばってPaaSを提供するのか? ~今後のPaaSの活用について~
Yoshiyuki Takano
 
愛せよ、さもなくば捨てよ。
Sho Yoshida
 
Nexus and LeSS #rsgt2016
Takao Kimura
 
Yahoo! JAPANのOSS Cassandra貢献の今までとこれから
Yahoo!デベロッパーネットワーク
 
エンタープライズでもクラウドファースト! Amazon Web Servicesをフル活用する Developer Summit 2016
一成 田部井
 
20190520エンジニア交流会Google Apps Scriptミートアップ#4「~ノンプログラマー向けGAS活用~GAS×Chatwork・Slac...
Noriaki Takahashi
 
BigDataUnivercity 2017年改めてApache Sparkとデータサイエンスの関係についてのまとめ
Tanaka Yuichi
 
Ad

More from leverages_event (20)

PDF
Ac tsumugu 20170712
leverages_event
 
PDF
20171206 tsumugu4 人工知能特集_v1.00_抜粋
leverages_event
 
PDF
【ヒカ☆ラボ】アーキテクト養成講座「入門編」 折田 武己 氏 登壇資料 20171205
leverages_event
 
PDF
【ヒカ☆ラボ】 dely株式会社 梅森 翔氏 登壇資料 20171121
leverages_event
 
PDF
【ヒカ☆ラボ】 dely株式会社 大竹 雅登氏 登壇資料 20171121
leverages_event
 
PDF
【ヒカ☆ラボ】 dely株式会社 深尾 もとのぶ氏 登壇資料 20171121
leverages_event
 
PDF
【ヒカ☆ラボ】 dely株式会社 三笠 斉輝氏 登壇資料 20171121
leverages_event
 
PPTX
【ヒカ☆ラボ】 株式会社AMG Solution 山口 博史氏登壇資料 20170817
leverages_event
 
PPTX
【ヒカ☆ラボ】株式会社ライナフ 登壇資料
leverages_event
 
PDF
【ヒカ☆ラボ】株式会社エアー様~ETLツール活用法について~
leverages_event
 
PPTX
インスタグラムを活用した、マーケティングについて
leverages_event
 
PDF
ヒカ☆ラボ ユニティ・テクノロジーズ・ジャパン合同会社 安原 祐二氏登壇資料_20170119
leverages_event
 
PPTX
ヒカ☆ラボ 株式会社PR TIMES 山田 和広氏登壇資料 20161129
leverages_event
 
PPTX
ヒカ☆ラボ 株式会社PR TIMES 新井 隆士氏登壇資料 20161129
leverages_event
 
PDF
ヒカラボ「自社サービス開発会社で活躍し続けるために必要な○○とは?」UIデザイナー
leverages_event
 
PDF
初心者向けGo言語勉強会
leverages_event
 
PDF
DMM.comラボはなぜSparkを採用したのか?レコメンドエンジン開発の裏側をお話します!
leverages_event
 
PPTX
Node.js×mongo dbで3年間サービス運用してみた話
leverages_event
 
PDF
株式会社waja 安藤様 登壇資料
leverages_event
 
PDF
株式会社インタースペース 清水様 登壇資料
leverages_event
 
Ac tsumugu 20170712
leverages_event
 
20171206 tsumugu4 人工知能特集_v1.00_抜粋
leverages_event
 
【ヒカ☆ラボ】アーキテクト養成講座「入門編」 折田 武己 氏 登壇資料 20171205
leverages_event
 
【ヒカ☆ラボ】 dely株式会社 梅森 翔氏 登壇資料 20171121
leverages_event
 
【ヒカ☆ラボ】 dely株式会社 大竹 雅登氏 登壇資料 20171121
leverages_event
 
【ヒカ☆ラボ】 dely株式会社 深尾 もとのぶ氏 登壇資料 20171121
leverages_event
 
【ヒカ☆ラボ】 dely株式会社 三笠 斉輝氏 登壇資料 20171121
leverages_event
 
【ヒカ☆ラボ】 株式会社AMG Solution 山口 博史氏登壇資料 20170817
leverages_event
 
【ヒカ☆ラボ】株式会社ライナフ 登壇資料
leverages_event
 
【ヒカ☆ラボ】株式会社エアー様~ETLツール活用法について~
leverages_event
 
インスタグラムを活用した、マーケティングについて
leverages_event
 
ヒカ☆ラボ ユニティ・テクノロジーズ・ジャパン合同会社 安原 祐二氏登壇資料_20170119
leverages_event
 
ヒカ☆ラボ 株式会社PR TIMES 山田 和広氏登壇資料 20161129
leverages_event
 
ヒカ☆ラボ 株式会社PR TIMES 新井 隆士氏登壇資料 20161129
leverages_event
 
ヒカラボ「自社サービス開発会社で活躍し続けるために必要な○○とは?」UIデザイナー
leverages_event
 
初心者向けGo言語勉強会
leverages_event
 
DMM.comラボはなぜSparkを採用したのか?レコメンドエンジン開発の裏側をお話します!
leverages_event
 
Node.js×mongo dbで3年間サービス運用してみた話
leverages_event
 
株式会社waja 安藤様 登壇資料
leverages_event
 
株式会社インタースペース 清水様 登壇資料
leverages_event
 

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

  • 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
  • 7. Copyright© 2016 RAKUS Co., Ltd. All Rights Reserved Node.js 知ってますよね? 7
  • 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
  • 10. Copyright© 2016 RAKUS Co., Ltd. All Rights Reserved 世界中で大人気 ٩( ‘ω’ )‫و‬ こぞってエコシステム(生態系)を拡充している 10
  • 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
  • 15. Copyright© 2016 RAKUS Co., Ltd. All Rights Reserved 他にも外部勉強会で 発表したよアピールしたり 15
  • 16. Copyright© 2016 RAKUS Co., Ltd. All Rights Reserved で、ある日チャンス到来 16
  • 17. Copyright© 2016 RAKUS Co., Ltd. All Rights Reserved 新卒採用をハンズオン形式で 3時間 x 毎週1回4週間 = 12時間の新卒選考 17
  • 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
  • 24. Copyright© 2016 RAKUS Co., Ltd. All Rights Reserved しかし時代はGit Subversionが許されるのは小学生まで、という風潮 24
  • 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
  • 27. Copyright© 2016 RAKUS Co., Ltd. All Rights Reserved 無事導入! ! 真っ先に所属チームで運用開始 3人チームなのでサクッと運用にのりました 27
  • 28. Copyright© 2016 RAKUS Co., Ltd. All Rights Reserved GitHub Enterpriseは高いので 28
  • 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
  • 33. Copyright© 2016 RAKUS Co., Ltd. All Rights Reserved 担当している ですが 33
  • 34. Copyright© 2016 RAKUS Co., Ltd. All Rights Reserved お客さんのシステムに持っている データで帳票を作ります 34
  • 35. Copyright© 2016 RAKUS Co., Ltd. All Rights Reserved CSVでファイル出力してもらって ブラウザでファイルアップロード 前時代的です 汎用性はあるけどね 35
  • 36. Copyright© 2016 RAKUS Co., Ltd. All Rights Reserved システム間連携で人手を入るの ナンセンス 36
  • 37. Copyright© 2016 RAKUS Co., Ltd. All Rights Reserved REST APIを実装しました 苦労がありました 37
  • 38. Copyright© 2016 RAKUS Co., Ltd. All Rights Reserved 自社サービスへの REST API実装計画が採用 よっしゃよっしゃ 38
  • 39. Copyright© 2016 RAKUS Co., Ltd. All Rights Reserved 他の開発チームから 選抜されたメンバーで実装方針策定 あれ? 実装するのうちなんだけれど……。 39
  • 40. Copyright© 2016 RAKUS Co., Ltd. All Rights Reserved けれど、実装方針策定メンバー じゃないのに口出ししまくる いざ作ろうとすると疑問は出てくるわけで 40
  • 41. Copyright© 2016 RAKUS Co., Ltd. All Rights Reserved 方針決まって 「じゃ、開発よろしく」 よろしくされました 41
  • 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
  • 47. Copyright© 2016 RAKUS Co., Ltd. All Rights Reserved 共通していること もうおわかりですね? 47
  • 48. Copyright© 2016 RAKUS Co., Ltd. All Rights Reserved 騒ぐこと 48
  • 49. Copyright© 2016 RAKUS Co., Ltd. All Rights Reserved 典型的な奥ゆかしい日本人なので 「ちょっとうざがられるかな?」 くらいでちょうどいい 一度言っても誰も動かない 半年、一年言い続けると状況が動き出す 本当はもっと早く動いてほしいけど 49
  • 50. Copyright© 2016 RAKUS Co., Ltd. All Rights Reserved 「じゃあよろしく」 の後にすぐ動く覚悟は必要 50
  • 51. Copyright© 2016 RAKUS Co., Ltd. All Rights Reserved 可能な限り短期で一気にやる 取り組みが長期化すると手間の固定費が増えて動けなくなる 短期でやって、トラブル対応に手間をかけた方がトータルで安上がり ↑ もちろん例外もあります 51
  • 52. Copyright© 2016 RAKUS Co., Ltd. All Rights Reserved 仕事が増えるのは諦める 価値を高めるための仕事は必要な仕事です 52
  • 53. Copyright© 2016 RAKUS Co., Ltd. All Rights Reserved 以上!! ですが、せっかくなので 53
  • 54. Copyright© 2016 RAKUS Co., Ltd. All Rights Reserved 弊社、人が足りていません(切実) • こんな人 – Java読み書きできる人 – 技術的、ビジネス的好奇心が強い人 • これないと成長続かないです 54
  • 55. Copyright© 2016 RAKUS Co., Ltd. All Rights Reserved 弊社、人が足りていません(切実) • こんな人 – Java読み書きできる人 – 技術的、ビジネス的好奇心が強い人 • これないと成長続かないです –発表聞いて楽しそうだと思って いただけた方←重要 55
  • 56. Copyright© 2016 RAKUS Co., Ltd. All Rights Reserved ☺ ご清聴ありがとうございました 56