Upgrade to Pro — share decks privately, control downloads, hide ads and more …

ある開発会社の生存戦略 Developers Summit 2016 FUKUOKA

Ken’ichiro Oyama
September 29, 2016

ある開発会社の生存戦略 Developers Summit 2016 FUKUOKA

Ken’ichiro Oyama

September 29, 2016
Tweet

More Decks by Ken’ichiro Oyama

Other Decks in Business

Transcript

  1. k1LoW   Kenʼichiro Oyama   @k1LoW   Fusic Co.,Ltd. エンジニア

      基盤ユニット テックリード   初代新卒   GitHub organizations   fukuokarb / dotcake / emacs-jp / etc.   awspecというAWS⽤のテストツールを作っています   https://github.com/k1LoW/awspec 3 #devsumiB7
  2. Fusic   株式会社Fusic   社員36名、うちエンジニア24名   最近マーケティングチームの動きが活発です   「マーケティング」といいつつ何でもこなす  

    「Fusicってなんしようと?」を是⾮ご覧くださ い   http://fusic.co.jp/doings   受託開発と⾃社Webサービスの2軸 4 #devsumiB7
  3. 10年で社内で⾒かけた技術(⼀部   HTML   CSS   PHP   JavaScript  

    Ruby   CakePHP   Ruby on Rails   iOS   Android   Subversion / SVK   Git   開発サーバ   coLinux   VMware   Vagrant   FTP / SFTP   Capistrano   Ansible   RDBMS   NoSQL   Socket.IO   レンタルサーバ   物理サーバ   VPS   AWS   Docker #devsumiB7 11
  4. 技術の種類が多い問題   10年前の技術要素は数える程度   HTMLが書ければ重宝された時代   素のPHPで書いて正しく動けば良かった時代   今は、エンジニアとして働くためだけでも習得 が必要なものが多い

      逆に「これさえやっておけばいい」ということもない。次の年には変わ ることも   スタンダードの寿命が短い   10年前のHTMLと今のHTMLは違う   求められるレベルも⾼い   レスポンス、UI、セキュリティ、etc 12 #devsumiB7
  5. Fusicが選択してきた技術要素   PHP   CakePHP   Ruby on Rails  

    iOS / Android   AWS   VirtualBox (Vagrant)   Infrastructure as Code 15 #devsumiB7
  6. 多様性   実は⾔語やフレームワークを固定していない   ただ、マジョリティがあるだけ   Ruby on RailsやiOS/Android  

    固定することで⼀時的に開発効率が上がること は理解しているが実施していない   固定すると全滅の確率が上がる   担当するエンジニアに技術要素の決定権を渡している   当然過ぎて、多分誰も意識していない   (固定だとエンジニアがおもしろくない) #devsumiB7 28
  7. Fusicの技術選択 1.  誰かが、どこからか新しい技術を持ってくる   そのエンジニアが担当するプロジェクトで価値を出す ため 2.  その情報は社内情報共有ツールで共有される   他のエンジニアの選択肢が増える

    3.  良いと思った他のエンジニアが別のプロジェクトで採 ⽤する 4.  採⽤数が増えればマジョリティを獲得する。そうでな ければ、マイノリティのまま。   Fusicのプロジェクトの性質やエンジニアの性質により 選択されていく #devsumiB7 31
  8. マジョリティを獲得したもの   CakePHP   フレームワーク。使いやすくするためにプラグインを50以上作ったがフ レームワークのバージョンアップで全てパー。それでも根強い。リード するエンジニアに世代交代が発⽣。   Vagrant  

    プロジェクトごとに環境が様々なので重宝。   Ansible   サーバ設定のコード化。YAMLでシンプルにかけるので採⽤。   Capistrano   デプロイのコード化。PHPでもデプロイはCapistrano。 #devsumiB7 33
  9. 今、まさに 各所でマジョリティを狙っているもの   Docker   CIから導⼊して、社内勉強会で啓蒙しつつ、簡単に使ってもらうための 整備をしている模様   Terraform  

    ⼀部のプロジェクトでは導⼊されたが、まだ知らないエンジニアもいる かも   Ridgepole   べき等性を保てるマイグレーションツールとして推しているが、本番環 境にRuby環境を整えるのが難   Laravel   好きなエンジニアは多いが、CakePHPよりもレールが緩いのでなかなか 推し進められず #devsumiB7 34
  10. Fusicがまだ選択していない技術要素   フロントエンド   React、Reduxなど   まだCSSフレームワークレベルで⼗分なため   サーバアカウントの統合管理  

    LDAP、STNSなど   プロジェクトごとでクライアントも要件も異なるため、 縦割りが必要   Windows 38 #devsumiB7
  11. エンジニア評価制度   スペシャル職位としての”テックリード”   評価指針は「技術⼒」「プロジェクト遂⾏能⼒」「発 信⼒」の3つ   半期ごとの⽴候補及び評価(評価フローは全て公開)   今期はじまったばかり

      全てのエンジニアに、技術の⽣存競争に参加してもら うために   「技術の⽣存競争に参加することを評価する」ことを エンジニアに⽰す #devsumiB7 42
  12. チーム再編成   いままで平均値をとった形だったチームを再編成   完全にいびつ   それぞれのチームにそれぞれの特性にあったミッショ ンを課している   そのなかでより技術のインプットを増やすためのチー

    ムとして基盤ユニットが編成されている   技術に特化   チームミッションがはっきりしたことでエンジニアの モチベーションにつながっている #devsumiB7 44