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

超初期のスタートアップでエンジニアとして働いて分かったこと / What it's like to work at a seed-stage startup

E88541aef79469c4f02288a9ece06101?s=47 PINTOR
February 25, 2021
26

超初期のスタートアップでエンジニアとして働いて分かったこと / What it's like to work at a seed-stage startup

E88541aef79469c4f02288a9ece06101?s=128

PINTOR

February 25, 2021
Tweet

Transcript

  1. 超初期のスタートアップで エンジニアとして働いて分かったこと 2020-02-23 Daiki Miura

  2. 自己紹介 ▶ 名前: 三浦 大輝 (Daiki Miura) ▶ GitHub: @daikimiura

    ▶ Twitter: @daikiii5555 ▶ 最近の興味: 車輪の再発明         (自作コンテナランタイム、自作OS etc) 大学時代に大手ベンチャー複数社でインターンを経験後、PINTORを起業し大学卒業 後そのままPINTORにフルコミット。PINTORではサーバーサイドとAndroidの開発を主 に担当。
  3. 目次 1. スタートアップの種類 2. 大手スタートアップでインターンをして学んだこと 3. 超初期スタートアップで働いて学んだこと 4. 大手スタートアップと超初期スタートアップの           

    両方で働いて見えてきた違い 5. こんな人は超初期スタートアップに向いてる! 6. PINTORの技術スタックと開発体制
  4. スタートアップの種類 そもそもスタートアップ企業の定義は? 「新しいビジネスモデルを開発し、          短期間で急激な成長とエクジットを狙う企業」

  5. スタートアップの種類 大手スタートアップ 超初期スタートアップ

  6. 大手スタートアップでインターンをして学んだこと • インターン経験 ◦ FiNC Technologies ▪ 2018年4月 ~ 2020年4月

    ▪ サーバーサイドエンジニア ▪ APIの実装 • 通知マイクロサービスをゼロから作成 • アプリとwebサイトのSSOの仕組みを構築 • etc ◦ Wantedly ▪ 2019年7月 (サマーインターン) ▪ フロントエンドエンジニア • デザインシステムの構築 ◦ CyberAgent ▪ 2019年8月 (サマーインターン) ▪ サーバーサイドエンジニア • リアルタイムweb広告入札システムの開発
  7. FiNC Technologiesでインターンをして学んだこと • インターン申し込み時の技術的知識 ◦ 基本的なRubyの文法が分かる ◦ 簡単なRailsアプリを作れる ◦ チーム開発経験なし

    ▪ gitもちゃんと使ったことない • インターンに申し込んだ動機 ◦ オフィスきれい ◦ レベル高い人いそう ◦ インターン生多くて教育環境がしっかりしてそう
  8. FiNC Technologiesでインターンをして学んだこと • 初めは簡単な文言変更や管理画面への機能追加など • 徐々に既存APIの改修や新規APIの作成もするようになる • 通知マイクロサービスの構築 ◦ ゼロからほぼ一人で設計と実装を行った

    認証機能 体重記録機能 アプリ内通知機能 食事記録機能 アプリ内通知 サービス 食事記録 サービス 体重記録 サービス 認証 サービス
  9. FiNC Technologiesでインターンをして学んだこと • 開発フロー ◦ 1スプリント2週間 ◦ PM * 1,

    エンジニア* 3~4, デザイナー * 1, QA * 1 で1チーム デザイナーが デザインを作成 PMが 仕様を策定 開発 QA リリース 🎉 PM or TLが タスクを割当て (Jiraチケットを切 る)
  10. FiNC Technologiesでインターンをして学んだこと • サーバーサイドエンジニアとして最低限必要な技術的な知識 ◦ 基本的なコードの書き方 ◦ 基本的なアプリ設計のノウハウ ◦ etc

    • チーム開発の進め方 ◦ バージョン管理 ◦ アジャイル開発
  11. 大手スタートアップでインターンをして学べなかったこと • サーバーサイド以外の技術の知識 ◦ モバイルアプリ開発の知識、インフラの知識 etc • プロダクト開発のノウハウ ◦ 仕様策定方法、ユーザーインタビューの仕方

    etc ▪ 与えられた仕様を実装するだけ • アプリのグロースさせる方法 ◦ データ分析の仕方、マーケティングの仕方 etc ▪ エンジニアは開発しかしない
  12. 超初期スタートアップで働いて学んだこと • それまで触らなかった技術スタックの知識 • アプリ全体の基盤に関する知識 ◦ ログ分析基盤を作る ◦ 機械学習をアプリに組み込む ▪

    絵画のレコメンド サーバーのみ => サーバー + Android ( + iOS ) インフラのみ => インフラ + iOS ( + サーバー )
  13. 超初期スタートアップで働いて学んだこと • アプリ機能開発の全てのステップをエンジニアが中心となって行う ◦ ユーザーの目線を強く意識しながら開発できる デザイン作成 仕様策定 開発 QA リリース🎉

    タスクを割当て PM エンジニア PM or TL エンジニア QA デザイナー エンジニア デザイン作成 仕様策定 開発 QA リリース🎉 タスクを割当て PINTOR 大手スタートアップ
  14. 大手スタートアップと超初期スタートアップの                   両方で働いて見えてきた違い 大手スタートアップ 超初期スタートアップ エンジニアリングにおける裁量 ◯
 ◎
 ビジネスサイドへの関わり △
 ◎


    経営陣との近さ △
 ◎
 Exit時の金銭的リターン △
 ◯
 若手エンジニアの育成環境 ◯
 △

  15. エンジニアリングにおける裁量の違い • 個人の開発範囲 (責任範囲) ◦ 大手: 狭い。サーバー/iOS/Androidなど、技術スタックごとに分業さ   れている。機能ごとに分業されている ◦ 超初期:

    広い。技術スタックを横断して開発できる。 • 技術/アーキテクチャ選定の裁量 ◦ 大手: 小さい。特定の技術/アーキテクチャでの長年の運用経験があ り変更しにくい。新技術/アーキテクチャを選定するにしても シニア層が選定しがち。 ◦ 超初期: 大きい。課題を解決するために最適な技術をほぼ何にも縛 られず選定できる。
  16. 大手スタートアップと超初期スタートアップの                   両方で働いて見えてきた違い 大手スタートアップ 超初期スタートアップ エンジニアリングにおける裁量 ◯
 ◎
 ビジネスサイドへの関わり △
 ◎


    経営陣との近さ △
 ◎
 Exit時の金銭的リターン △
 ◯
 若手エンジニアの育成環境 ◯
 △

  17. ビジネスサイドへの関わりの違い • 新機能策定への関わり ◦ 大手: ほぼない。エンジニアがアプリの機能を決めることはない。 ◦ 超初期: ある。「ユーザーインタビュー =>

    仮説立案 => 機能策定 =>     仮説検証」 のサイクルをエンジニアが中心となって回す。 • サービス全体の方向性や今後の戦略への関わり ◦ 大手: ない。すでにサービスが形になっている。今後の戦略を決め るのは経営層。 ◦ 超初期: ある。事業が完全に形になっていないからこそ、サービス 全体の方向性ついて関わることができる。メンバーが少な いので一人ひとりの発言力が大きく、今後の戦略について も関わることができる。
  18. 大手スタートアップと超初期スタートアップの                   両方で働いて見えてきた違い 大手スタートアップ 超初期スタートアップ エンジニアリングにおける裁量 ◯
 ◎
 ビジネスサイドへの関わり △
 ◎


    経営陣との近さ △
 ◎
 Exit時の金銭的リターン △
 ◯
 若手エンジニアの育成環境 ◯
 △

  19. 経営陣との近さの違い • 経営陣との関わり ◦ 大手: ほぼない。年に1回ランチする程度。 ◦ 超初期: ある。経営陣と一緒に仕事をする。経営陣が何を考えてい るのか?

    や 会社がどこへ向かっているのか? が分かる。会 社経営のノウハウを学べる。
  20. 大手スタートアップと超初期スタートアップの                   両方で働いて見えてきた違い 大手スタートアップ 超初期スタートアップ エンジニアリングにおける裁量 ◯
 ◎
 ビジネスサイドへの関わり △
 ◎


    経営陣との近さ △
 ◎
 Exit時の金銭的リターン △
 ◯
 若手エンジニアの育成環境 ◯
 △

  21. Exit時の金銭的リターンの違い • Exit時の金銭的リターン ◦ 大手: 少ない。ほとんどの場合せいぜい数百万ぐらいが限度。すでに上 場しているケースもある。 ◦ 超初期: 多い。数千万から億単位になることもあり。これをきっかけにエン

    ジェル投資家などになる事例もある。
  22. 大手スタートアップと超初期スタートアップの                   両方で働いて見えてきた違い 大手スタートアップ 超初期スタートアップ エンジニアリングにおける裁量 ◯
 ◎
 ビジネスサイドへの関わり △
 ◎


    経営陣との近さ △
 ◎
 Exit時の金銭的リターン △
 ◯
 若手エンジニアの育成環境 ◯
 △

  23. 若手エンジニアの育成環境の違い • エンジニアの育成環境 ◦ 大手: 整っている。経験豊富なシニアエンジニアがジュニアエンジ ニアのメンターとなって育成する環境が整っている。エンジ ニアスキルを身に着ける研修が整っている。 ◦ 超初期:

    整っていない。研修は整っていないがメンター制度は整っ    ている。
  24. こんな人は超初期スタートアップに向いてる! • 大きな裁量を持って仕事をして、エンジニアとして成長したい ◦ 課題を解決するために最適な技術を自由に選定したい ◦ アプリの一部分だけではなく、アプリ全体について考えたい ◦ 幅広い技術スタックを触りたい •

    エンジニアリングだけではなく、アプリの仕様やビジネスサイドの戦略にも関わりた い • 将来起業したい
  25. とはいえ... • スタートアップの特性上、人の入れ替わりは激しい ◦ スタートアップは短期間で急激な成長とエグジットを狙う企業 ▪ 変化が多い • 自分が魅力を感じたところでとりあえず働いてみて、合わなかったら移るのでいいと思う ◦

    とりあえず超初期スタートアップで働いてみて、合わなかったら大手スタートアップや その他企業に移る ◦ まずは大手スタートアップでエンジニアとしての地力をつけてから超初期スタートアッ プに移る
  26. PINTORの技術スタックと開発体制 • サーバー ◦ Web API & 管理画面 ▪ Ruby

    • Ruby on Rails • インフラ ◦ AWS ▪ ECS ▪ Elasticsearch Service ▪ SQS ▪ etc • iOS ◦ Swift ◦ MVVM (移行中) • Android ◦ Kotlin ◦ Jetpack ◦ MVVM + Clean Architecture エンジニア (2名) サーバー、Android : 1名 iOS、インフラ : 1名
  27. PINTORのカルチャー • エンジニアがビジネスサイドにも大きく関わる ◦ サービス全体の方向性、仕様策定、ユーザーインタビュー • 技術スタックを横断して開発を行う ◦ 幅広い技術スタックに触れることで技術全体に対する理解が深まる ▪

    例: クライアントサイドのアーキテクチャを学ぶことでサーバーサイド のアーキテクチャの理解も深まる • ソースコードの質 (保守性) と開発スピードをトレードオフで捉えない
  28. 全ポジション エンジニア / エンジニアインターン積極採用中!🔥 大きな裁量を持って仕事をし、エンジニアとして成長したい方 エンジニアリングだけでなくビジネスサイドにも関わりたい方

  29. アンケートのご協力をよろしくお願いします🙏 https://forms.gle/RXGDfv3FFCezZYQH9