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

学生が個人開発でイケてる成果物を作るコツ / Tips for students to create awesome products in personal development

学生が個人開発でイケてる成果物を作るコツ / Tips for students to create awesome products in personal development

2021年3月13日 - 3月15日に開催された技育祭( https://talent.supporterz.jp/geeksai/2021/ )で登壇したときの資料です。

スライドで紹介したリンク
* 技育祭2020でのセッション
 * タイトル『400人以上のインターン生を受け入れ成長させてきたCTOが考える若手エンジニアが成長するコツ』
 * スライド
 * 講演動画
 * 補足記事
* VOYAGE GROUP サマーインターン 「Treasure」2021
 * エントリー受付
* 書籍
 * Engineers in VOYAGE ー 事業をエンジニアリングする技術者たち
 * 入門 起業の科学
 * プロダクトマネジメント――ビルドトラップを避け顧客に価値を届ける
 * SCRUM BOOT CAMP THE BOOK【増補改訂版】 スクラムチームではじめるアジャイル開発
 * ドメイン駆動設計入門 ボトムアップでわかる!ドメイン駆動設計の基本
* 記事、スライド
 * The Myth of Incremental Development
 * マネジメント向けアジャイル開発概要
 * テストコードのリファクタリングが目指すもの

9c87ec93b3b2aff85a03d3b56e7b8db8?s=128

KOGA Masanori

April 26, 2021
Tweet

Transcript

  1. 学生が個人開発で
 イケてる成果物を作るコツ
 @技育祭2021


  2. 自己紹介
 • 小賀 昌法
 ◦ 株式会社VOYAGE GROUP 取締役CTO (2010年7月 -

    )
 ◦ 株式会社CARTA HOLDINGS 執行役員CTO (2020年1月 - )
 ◦ 日本CTO協会 理事
 • 技育祭2020でのセッション
 ◦ タイトル『400人以上のインターン生を受け入れ成長させてきたCTOが考える若手エンジニアが成長するコツ』
 ▪ 「若手エンジニアが成長するコツ」で検索してみてね
 ◦ スライド https://speakerdeck.com/makoga/three-tips-for-young-engineers-to-grow-and-examples-of-voyage-group-practice
 ◦ 講演動画 https://www.youtube.com/watch?v=_aw5SLdiwTM
 ◦ 補足記事 https://techlog.voyagegroup.com/entry/geeksai2020_growing-tips-for-young-engineers
 • 書籍『Engineers in VOYAGE ー 事業をエンジニアリングする技術者たち』の企画、監修
 ◦ https://techlog.voyagegroup.com/voyagebook 

  3. イケてる成果物を作る 
 にはどうすればいいのか?


  4. すでに多くの知見が入手できる
 https://www.amazon.co.jp/dp/B07P5K4DQ3/ https://www.oreilly.co.jp/books/9784873119250/ https://www.amazon.co.jp/dp/B086GBXRN6/ https://www.amazon.co.jp/dp/B082WXZVPC/ イケてる成果物を作るにはどうすればいいのか? 


  5. 学生の個人開発はここが違う
 イケてる成果物を作るにはどうすればいいのか? 
 時間がない チームじゃない 締切がない

  6. 学生が個人開発で イケてる成果物を作る 
 にはどうすればいいのか?


  7. 小さく作り、磨いていく
 Small Base App 1. ベースとなる小さな アプリを作る 2. UXと内部品質を磨く Awesome

    App 学生が個人開発でイケてる成果物を作るにはどうすればいいのか? 

  8. 目次
 • [13:35] 自己紹介
 • [13:38] 学生が個人開発でイケてる成果物を作るには
 • [13:40] 1.

    ベースとなる小さなアプリを作る
 • [13:57] Q&A
 • [14:00] 2. UXと内部品質を磨く
 • [14:15] Treasureの紹介
 • [14:25] Q&A

  9. 目次
 • [13:35] 自己紹介
 • [13:38] 学生が個人開発でイケてる成果物を作るには
 • [13:40] 1.

    ベースとなる小さなアプリを作る
 • [13:57] Q&A
 • [14:00] 2. UXと内部品質を磨く
 • [14:15] Treasureの紹介
 • [14:25] Q&A

  10. 小さく作り、磨いていく
 Small Base App 1. ベースとなる小さな アプリを作る 2. UXと内部品質を磨く Awesome

    App 学生が個人開発でイケてる成果物を作るにはどうすればいいのか? 

  11. よくある悩み
 作りたいものが
 決まらない


  12. 作りたいものが決まらないときのコツ
 すでにあるものを模倣して、 小さな成果物を作ることから始めてみよう ゲームとか?
 サービスとか?
 作りたいものが
 決まらない


  13. 考えることは山のようにある
 入門 起業の科学 STEP 0 「成功に至るプロセス」を理解するから抜粋

  14. 模倣することのメリットは考えることを減らせること
 入門 起業の科学 STEP 0 「成功に至るプロセス」を理解するから抜粋 このあたりに 注力できる

  15. よくある悩み
 やることが多すぎて
 終わらない


  16. やることが多すぎるときのコツ
 優先順位をつけて、今すぐ必要なこと に手をつけよう やることが多すぎて
 終わらない


  17. すでにあるものを模倣して、 小さな 成果物を作ることから始めてみよう ゴールが大規模でもいいが、まずは小さくする
 ゲームとか?
 サービスとか?
 やることが多すぎるときのコツ 
 世界中の人とオンラインで闘う バトルロイヤル・ゲームとか

    日本競馬史にその名を刻んだ名馬 たちをモデルとした娘がレースす るゲームとか
  18. 大きなものを小さく作り始めるときの考え方
 • まずはスケボーを作る ◦ 試せることが大事 • タイヤから作らない ◦ 部品にこだわりたくなっても我慢 •

    目的を達成する最小の動くもの を作る やることが多すぎるときのコツ 
 https://herdingcats.typepad.com/my_weblog/2014/07/the-myth-of-incremental-development.html
  19. ターゲットを絞る
 • 例 ◦ iOS14単体で動くアプリ ◦ サーバーサイドでHTMLを返す Webアプリ ◦ HTML+JavaScript

    やることが多すぎるときのコツ 

  20. 優先順位の付け方
 • 機能等を書き出す(バックログ) • 優先順位をつける やることが多すぎるときのコツ 
 http://agile.blog.jp/agile_scrum/14974437.html

  21. 優先順位の付け方
 • ユーザーが頻繁に使うコアな機能 • 不確実性の高い技術 ◦ 使ったことのない技術、外部API やることが多すぎるときのコツ 
 https://slide.meguro.ryuzee.com/slides/101?vertical=1

  22. ユーザ同士がコミュニケーションす るWebサービスを作りたいときの例 として、Twitterを模倣して考えて みる 模倣して小さな成果物を作る例


  23. ターゲットを絞る: Twitterを模倣
 サーバーサイドでHTMLを返すWebアプ リに絞る やることが多すぎるときのコツ 


  24. 大きな課題を分割するときの考え方: Twitterを模倣
 やることが多すぎるときのコツ 
 https://herdingcats.typepad.com/my_weblog/2014/07/the-myth-of-incremental-development.html 何があると スケボーになる?

  25. 優先順位の付け方: Twitterを模倣
 • 1st priority ◦ ツイートする ◦ 自分のツイートがタイムラインに 表示される

    • 2nd priority ◦ 他のユーザーをフォローする ◦ フォローしたユーザーのツイート と自分のツイートがタイムライン に表示される やることが多すぎるときのコツ 
 http://agile.blog.jp/agile_scrum/14974437.html ーーーーーーーーーーーーーーーー
 ここまでをベースアプリとするのは どうか?
  26. 優先順位の付け方: Twitterを模倣
 • 3rd priority ◦ いいねする ◦ 返信する ◦

    リツイートする ▪ 引用なし ▪ 引用あり ◦ プロフィールを登録・編集する ◦ プロフィールと一覧が連携してい る • 4th priority ◦ ユーザー登録する ◦ 認証する ◦ 画像をアップロードする やることが多すぎるときのコツ 
 http://agile.blog.jp/agile_scrum/14974437.html いいねをベースアプリに入れても いいかも?
 ーーーーーーーーーーーーーーーー

  27. 小さく作り、磨いていく
 Small Base App 1. ベースとなる小さな アプリを作る 2. UXと内部品質を磨く Awesome

    App 学生が個人開発でイケてる成果物を作るにはどうすればいいのか? 

  28. 目次
 • [13:35] 自己紹介
 • [13:38] 学生が個人開発でイケてる成果物を作るには
 • [13:40] 1.

    ベースとなる小さなアプリを作る
 • [13:57] Q&A
 • [14:00] 2. UXと内部品質を磨く
 • [14:15] Treasureの紹介
 • [14:25] Q&A

  29. 目次
 • [13:35] 自己紹介
 • [13:38] 学生が個人開発でイケてる成果物を作るには
 • [13:40] 1.

    ベースとなる小さなアプリを作る
 • [13:57] Q&A
 • [14:00] 2. UXと内部品質を磨く
 • [14:15] Treasureの紹介
 • [14:25] Q&A

  30. 小さく作り、磨いていく
 Small Base App 1. ベースとなる小さな アプリを作る 2. UXと内部品質を磨く Awesome

    App 学生が個人開発でイケてる成果物を作るにはどうすればいいのか? 

  31. よくある悩み
 最低限はできたけど
 ここからアイデアが
 ない


  32. 追加したい機能や改善点が思いつかないときのコツ
 
 
 
 フィードバックをもらい UXを磨く 基盤やコードを整備し 内部品質を磨く 最低限はできたけど
 ここからアイデアが


    ない

  33. フィードバックをもらい、UXを磨く
 • 友人・知人に作ったものを使っ てもらおう • 使い方に迷っていたり、自分が 考えていたのと違う操作をした ときがあれば、メモっておこう • 一通り使ってもらったら感想を

    聞こう 追加したい機能や改善点が思いつかないときのコツ 

  34. 参考:プロダクトインタビュー
 • 質問リストの抜粋 ◦ これは何をするものだと思いますか? ◦ 今、何をしようとしていますか? ◦ XXXボタンは何をするものだと思いますか? ◦

    XXXボタンは期待通りに動きましたか? ◦ 期待通りでないならば、どのように動くと期待して いましたか? • チェックポイントの抜粋 ◦ そのプロトタイプを使っていて何かつまづいたこと はあったか? ◦ ユーザーがUXによって何を助けてほしいか、どのよ うな体験をしたいかについて(作り手側が)言語化 できたか? 追加したい機能や改善点が思いつかないときのコツ 
 https://www.amazon.co.jp/dp/B07P5K4DQ3/ 入門 起業の科学 『CHECK 28 「プロダクトインタビュー」でユーザー体験を検証』から抜粋
  35. フィードバックで得た気付きから、 バックログを追加し、優先順位をつ ける。 http://agile.blog.jp/agile_scrum/14974437.html フィードバックをもらい、UXを磨く
 追加したい機能や改善点が思いつかないときのコツ 


  36. 追加したい機能や改善点が思いつかないときのコツ
 
 
 
 フィードバックをもらい UXを磨く 
 
 
 基盤やコードを整備し

    内部品質を磨く 
 最低限はできたけど
 ここからアイデアが
 ない

  37. 基盤やコードを整備し、内部品質を磨く
 • 他のPCでも開発できるようにする ◦ GitHubなどにPush ◦ README、開発ドキュメントを書く ◦ 1ステップで環境構築できるようにする •

    テストを充実させる ◦ 1ステップでテストを実行できるように する ◦ テストコードを書く • ゼロから書き直してみるのもあり ◦ 前回よりも短かい時間でキレイなコード が書けるはず 追加したい機能が思いつかないときのコツ 

  38. 基盤やコードを整備し、内部品質を磨く
 • 他のPCでも開発できるようにする ◦ GitHubなどにPush ◦ README、開発ドキュメントを書く ◦ 1ステップで環境構築できるようにする •

    テストを充実させる • ゼロから書き直してみるのもあり 追加したい機能が思いつかないときのコツ 
 VOYAGE GROUPにある実際のリポジトリの READMEから抜粋
  39. 基盤やコードを整備し、内部品質を磨く
 • 他のPCでも開発できるようにする • テストを充実させる ◦ 1ステップでテストを実行できるように する ◦ テストコードを書く

    ▪ 参考 • テストコードのリファクタリ ングが目指すもの/DXD 2021 • ゼロから書き直してみるのもあり 追加したい機能が思いつかないときのコツ 
 VOYAGE GROUPにある実際の リポジトリの READMEから抜粋 VOYAGE GROUPではほとんどのチームが複 数の言語を使っており、上記のように makeから testやbuildを行えるようにしていることが多い
  40. 基盤やコードを整備し、内部品質を磨く
 • 他のPCでも開発できるようにする • テストを充実させる • ゼロから書き直してみるのもあり ◦ 前回よりも短かい時間でキレイなコード が書けるはず

    追加したい機能が思いつかないときのコツ 

  41. イケてる成果物を作る 
 にはどうすればいいのか?
 再掲

  42. すでに多くの知見が入手できる
 https://www.amazon.co.jp/dp/B07P5K4DQ3/ https://www.oreilly.co.jp/books/9784873119250/ https://www.amazon.co.jp/dp/B086GBXRN6/ https://www.amazon.co.jp/dp/B082WXZVPC/ イケてる成果物を作るにはどうすればいいのか? 
 再掲

  43. 学生の個人開発はここが違う
 イケてる成果物を作るにはどうすればいいのか? 
 時間がない チームじゃない 締切がない 再掲

  44. 学生が個人開発で イケてる成果物を作る 
 にはどうすればいいのか?
 再掲

  45. すでにあるものを模倣して、 小さな成果物を作ることから始めてみよう 作りたいものが決まらないときのコツ
 ゲームとか?
 サービスとか?
 作りたいものが
 決まらない
 再掲

  46. やることが多すぎるときのコツ
 優先順位をつけて、今すぐ必要なこと に手をつけよう
 やることが多すぎて
 終わらない
 再掲

  47. 追加したい機能や改善点が思いつかないときのコツ
 
 
 
 フィードバックをもらい UXを磨く 基盤やコードを整備し 内部品質を磨く 
 最低限はできたけど


    ここからアイデアが
 ない
 再掲
  48. 小さく作り、磨いていくことで、
 多くのイケてる成果物が生み出されることを
 期待してます!
 Small Base App 1. ベースとなる小さな アプリを作る 2.

    UXと内部品質を磨く Awesome App 学生が個人開発でイケてる成果物を作るにはどうすればいいのか? 

  49. 目次
 • [13:35] 自己紹介
 • [13:38] 学生が個人開発でイケてる成果物を作るには
 • [13:40] 1.

    ベースとなる小さなアプリを作る
 • [13:57] Q&A
 • [14:00] 2. UXと内部品質を磨く
 • [14:15] Treasureの紹介
 • [14:25] Q&A

  50. 学生の個人開発はここが違う
 イケてる成果物を作るにはどうすればいいのか? 
 時間がない チームじゃない 締切がない 再掲

  51. 3週間でチーム開発するTreasureで全て解決!
 イケてる成果物を作るにはどうすればいいのか? 
 時間がない チームじゃない 締切がない 解決 解決 解決

  52. None
  53. Go言語を使って学ぶ
 価値のあるもの創りとチーム開発
 8/9(月)〜8/27(金)
 https://voyagegroup.snar.jp/jobboard/apply.aspx

  54. インプット/アウトプットのサイクル
 1 講義:6日間 チーム開発:8日間 Input Output

  55. 1 【Treasure2021講義内容】
 
 ・フロントエンド(TypeScript)
 ・バックエンド(Go)
 ・データベース設計
 ・インフラ / セキュリティ(AWS)
 ・アイデアを出す考え方


    
 小さく、シンプルな ベースアプリが用意して あります! インプット/アウトプットのサイクル

  56. 1 【Treasure2021チーム開発内容】
 
 ・4人1組でチーム開発
 ・各チームにクルー2名がフルコミット
 ・ペアプロ / コードレビューをがっつり
 ・VOYAGE GROUPのエンジニアリング文化を体感


    
 学生4人、クルー2人で 最終プレゼンに向け チーム開発します! インプット/アウトプットのサイクル

  57. フルコミット体制
 2 24名    40名
 Treasure生より、講師・サポーターの方が多い!!

  58. 昨年のTreasure生の声
 3 Webの面白さはもちろんですが、 それ以上にプロダクトづくりの面白さを肌で実感することができました! 自分の作りたいもの・価値あるものを作れるように 今後も技術に貪欲にいたいと思いました! #voyage_intern 圧倒的に考え方も立ち回りかたも成長できた。 本当にいい夏だった! 最後までサポートしていただいて、本当に感謝して

    います。これからのエンジニア人生の一部にな ることは間違いないです!
  59. 目次
 • [13:35] 自己紹介
 • [13:38] 学生が個人開発でイケてる成果物を作るには
 • [13:40] 1.

    ベースとなる小さなアプリを作る
 • [13:57] Q&A
 • [14:00] 2. UXと内部品質を磨く
 • [14:15] Treasureの紹介
 • [14:25] Q&A

  60. 技術書部門大賞と 審査員特別賞受賞の ダブル受賞!! 『Engineers in VOYAGE ― 事業をエンジニアリングする技術者たち』
 https://techlog.voyagegroup.com/voyagebook PR

  61. https://speakerdeck.com/twada/engineers-in-voyage どんな内容かはITエンジニア本大賞の決勝プレゼンのスライドに詰まっています!
 PR