「ベンチャーCTO、AWSエバンジェリストを経て考える、クラウド時代に向き合うエンジニア像のこれから」参加レポート #jtf2015

スライド

www.slideshare.net

自己紹介

  • 堀内 康弘

経歴

エンジニアのキャリアの悩み

  • エンジニアvsマネジャー
  • 大手vsスタートアップ
  • 一社vs転職
  • どんな技術を学べば良いのか?

エンジニアの心構え

1. 変化を楽しむ柔軟性を持とう

  • 「コンピュータが家に来る時代なんてこないよね」と言われていた
  • iPhoneという500ドルのものが売れるわけがないだろ」→売れた
  • FlashHTML5についてのイラスト(2001-2015)
    • f:id:nihonbuson:20150726200655j:plain
  • 未来の予測なんてできない。でも変化は常に起こり続ける
  • 主要な変化は技術革新。
  • 技術革新で今までより楽ができるようになる
技術革新→時間ができる→新たな技術革新の例

技術革新を起こし続けるAWS

  • AWSのサービス数は45以上に
    • 現在、46個のサービスがTOP画面に表示されている)
    • インフラの上に使われるアプリケーションまで提供している

AMAZON RDS

  • マネージドRDBMSサービス
  • AWSがDBを立ち上げてすぐ使えるようにするサービス

AMAZON AURORA

  • MySQLと同じように扱える
  • 可用性・耐久性が高い
  • スケールアップ・スケールダウンするときに止めないようにできる
  • フルマネージドしてくれる
    • エンジニアはアプリケーションのみ集中すれば良い

AWS LAMBDA

  • サーバの運用をやってくれる
    • お客様からサーバーの概念を無くす
  • イベントに対応するコードを用意するだけ
    • 例えば、S3に画像アップロードすれば、適切な画像サイズに変換するなど

AMAZON API GATEWAY

  • API作成支援サービス

サーバーを用意することなくAPIが作れる

  • デバイスからアクセス
  • API Gateway(インターフェース)
  • Lambda(ロジック)
  • DynamoDB(データ保存)

  • 新しい技術を楽しもう!楽をしよう!

2. 楽しいと思ったものにのめり込もう

  • 強みがあると強い
    • ○○の○○さん
  • 発表者(堀内さん)の場合

3. 技術は手段であると心得よう

  • 技術を目的にすると間違った方向に陥りがち
  • 技術はなくなるかもしれないが、ビジネス課題は無くならない
    • 課題を解決するための技術
  • 価値を提供するのが主。手段はなんでも良い

ダメな例

  • 問い合わせフォームにSledgeを利用
  • 1台の物理サーバ内でロードバランサー+2APPサーバー+DBサーバー
  • まず自動化ありきのクラウドによる自動化
    • アプリケーションチームを分ける→疎結合するためにAPIを使おう→API Gatewayの利用
  • ゲームの基盤を作って共通化しよう(ガチャチームを作ってガチャモジュールを作ろう)
    • エンジニアのモチベーションが下がってしまった
    • 課題として魅力的ではなかった
    • 全体的に非効率になってしまった
  • マイクロサービスが流行っているからうちのサービスもそうしよう
    • 疎結合にすれば開発効率・メンテナンス性が上がる?
    • 1人や2人の段階だと、システムが複雑&メンテナンス性が大切

良い例

  • ゲームタイトル毎のチーム編成(gumi時代)
    • それぞれにディレクター、エンジニア、デザイナーを配置
    • チームの目標はゲームの売上の最大化
  • アマゾンはPRドキュメントをまず最初に作る
    • お客様の課題を解決することが第一だから
    • 「このような発表ができることを嬉しく思います」
  • ○Aの部分は、更新頻度が高いので切り離して疎結合に構成して連携するようにしよう

価値を提供することが前提

  • インフラエンジニアだからインフラしかしません→その技術が廃れてしまったら…?
  • WEBエンジニアの価値を上げていきたい
    • インフラのことを知ればエンジニアの範囲を広がる→エンジニアの価値が上がる
    • 技術を持つ=エンジニアの価値が上がるわけではなかった

4. いけてるアニキや仲間を見つけよう

僕が出会ったイケてるアニキ・仲間達

  • Parlの神様、宮川さん、伊藤さん
  • 明確なビジョンで突き進む起業家、間下さん、国光さん
  • ビジネスのイロハを教えてくれた天野さん
  • 圧倒的なスペックで常に前向きな玉川さん
    • 弱音を聞いたことがない
  • 刺激を受けて生きてきた

どうやって出会うのか

  • コミュニティに参加する
  • イベントで登壇する
    • 参加するだけでなく、登壇することで話に関われる
    • アウトプットし続けることが大事
  • 大学や会社で出会う

まとめ

  • 変化を楽しむ柔軟性を持とう
  • 楽しいと思ったことにのめり込もう
  • 技術は手段であると心得よう
  • いけてるアニキや仲間を見つけよう

最後に

  • 実際にすぐにアクションを起こすために
  • スタートアップのCTOになると、これらが自ずと身につきます
    • 毎日が変化の連続
    • 技術の決定権あり
    • ビジネス課題の解決を考えざるを得ない
    • CTO繋がり、登壇機会
  • なぜCTOになったか→他に誰もいなかった
  • 募集サイトにも340件のCTO募集があった
  • CTOになろう
    • 給料も結構もらえるし
    • チャレンジするのにそこまでのリスクはない
    • Let's チャレンジ!

質問

Q. 使ってもらえるためのAWS LamdbaでサーバーOSの運用のメリットがあれば教えてください

    1. AWSは組み合わせて使うもの
  • WEBサーバー立ち上げて…という作業がLamdbaを使うだけで良い
  • DynamoDBをすぐに採用しない理由として、作ってきた経験、ライブラリも揃っているので方法論がすでにあるからだと思う
  • これまで書いているプログラムを載せ替えるのは大変
  • 苦労していくのが無くなるならば、Lamdbaに載せ替えていいと思っている

Q.「ビジネス解決をするために技術がある」と仰っていましたが、技術がなかった場合のアプローチ方法は?

  • 人に聞いたりググったりする
  • 色んな課題はある
    • mixiアプリを出したらすぐにアプリケーションが落ちた
    • 問題に直面すると必死になった身についた
  • 解決できない課題はない
  • 絶対無理だよなと思っていても解決できる
  • 苦しみを楽しもう

Q. 国光さんなどの経営者との話し合いで決定する際に、腹を割って話す環境づくりの方法は?

  • そもそも国光さんとは飲み仲間だったので、話が普通にできた
  • 相手に話をしてもらえるようになるには、常にニコニコしていること
  • 「エンジニアは特殊な人だから話しかけにくい」という印象を無くす
  • その組織づくりをしていくことが大切

感想

  • 最後はまさかの「CTOになろう!」という発言w
  • 「技術は手段である」という言葉は完全に同意です
    • 問題があるから、解決策が必要になる。その解決策として新たな技術。
    • 価値を提供したいから新たな技術を採用する。
  • 変化を楽しむってとても大事だと改めて感じました

JTF2015講演まとめ

nihonbuson.hatenadiary.jp