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

CTOが語る、これからのソフトウェアエンジニアに必要なことと鍛え方 / GEEK-SAI-20...

CTOが語る、これからのソフトウェアエンジニアに必要なことと鍛え方 / GEEK-SAI-2022-SPRING

技育祭 2022 春の登壇資料です。
https://talent.supporterz.jp/geeksai/2022spring/

CARTA Engineering

March 18, 2022
Tweet

More Decks by CARTA Engineering

Other Decks in Technology

Transcript

  1. 自己紹介 データエンジニアリング ウェブ技術が好きです 本も書きました(いずれも共著) 鈴木健太 すずけん 経歴 2012年 VOYAGE GROUP新卒入社

    2018年 fluct(子会社) 取締役CTO 2022年〜 CARTA HD 執行役員CTO ポッドキャスト「 https://ajito.fm 」 得意なこと このへんにいます Twitter: @suzu_v
  2. アジェンダ 1: これまでのキャリア: 学生編 北海道から出てきてエンジニアになった流れ 初めてのプログラミング、研究、インターン、スタートアップ 2: これまでのキャリア: 社会人編 ソフトウェアエンジニアリングの面白さ

    プログラミングとソフトウェアエンジニアリングの違い 3: 「必要なこと」と「鍛え方」 10年前の自分に伝えるならなにか じゃあこれからどうしていけばいいだろうか
  3. アジェンダ 1: これまでのキャリア: 学生編 北海道から出てきてエンジニアになった流れ 初めてのプログラミング、研究、インターン、スタートアップ 2: これまでのキャリア: 社会人編 ソフトウェアエンジニアリングの面白さ

    プログラミングとソフトウェアエンジニアリングの違い 3: 「必要なこと」と「鍛え方」 10年前の自分に伝えるならなにか じゃあこれからどうしていけばいいだろうか
  4. 突然のプログラマ実践編❷: 事務バイトのはずがプログラムを書くことに • 周りにエンジニアはだれもいない環境だった • 自分で事務作業をしてみると、面倒なところがわかってきた • まわりの事務の方々に「何に困ってますか?」をひたすらランチや雑談 で聞いた •

    すると細かい作業に手間がかかっており、目視での確認も多く必要なこ とがわかった • 「エクセルにあるデータをそのままブラウザに反映すればいい」と気づ いた • 調べてみると、どうやらVBAというのを使えばできるということがわ かった 2006 2011 2010 2015 2012 2008
  5. プロの世界がわからないのでインターンにいってみた 2010年: インターンTreasureに参加した 当時ECナビ(その後VOYAGE GROUP、現CARTA HD) 学生が20-30人くらい3週間集まって開発するインターン PHPによるAPI実装、テスト駆動開発、セキュリティ、データモデリングな どについて学んだ 現場のエンジニアの方々は「持続可能なアプリケーション」をつくっている

    のだなあ・・ということを知った 「修羅の世界に飛び込むか・・」という気持ちでいったらみんな技術談義を 楽しんでいて、自分も自然体で楽しめた なにより自分にとって、ウェブはなくてはならないものであり、この世界に 携わりたいと思いはじめた 2006 2011 2010 2015 2012 2008
  6. スタートアップを始めてみた 2006 2011 2010 2015 2012 2008 2011年2月 修士1年のとき、Trippieceという旅行サービスの立ち上げ 大学院で研究をしつつ開発

    きっかけは同じくECナビ(当時)にインターンに来ていた @ishidaian から、 「人を誘って旅行に行けるサービスをつくるエンジニアを探してる」 と言われたこと。 なんとなく、作れそうな気がしたので参加してみることにした。 あと、直感的に楽しそうだな〜と思った😃
  7. 【これまでのキャリア】意識的に、自分のコンフォートゾーンから飛び出していく 目的ある練習の4つのポイント • はっきりと定義された具体的目標がある • 集中して行う • フィードバックが不可欠 • コンフォートゾーンから飛び出すことが必要

    “30年間同じ曲を同じやり方で繰り返し弾き続けてきたアマ チュアピアニストは、たしかに1万時間分の練習を積んだかも しれないが、30年前と比べてまったく上達していないはずだ” “ 2006 2011 2010 2015 2012 2008
  8. アジェンダ 1: これまでのキャリア: 学生編 北海道から出てきてエンジニアになった流れ 初めてのプログラミング、研究、インターン、スタートアップ 2: これまでのキャリア: 社会人編 ソフトウェアエンジニアリングの面白さ

    プログラミングとソフトウェアエンジニアリングの違い 3: 「必要なこと」と「鍛え方」 10年前の自分に伝えるならなにか じゃあこれからどうしていけばいいだろうか
  9. 【これまでのキャリア】2012年当時作りたかったもの❷ すごくたくさんの Webサイト 検索とかを いい感じにする API データを収集する なんらかのAPI きっとすごい速い 最強の

    データベース 2012年当時の自分なりにGoogle Analyticsのアーキテクチャを妄想 その後、サービスを見るたびにアーキテクチャを妄想するのが習慣に 2006 2011 2010 2015 2012 2008
  10. 【これまでのキャリア】「実世界のもっと大きなサービス」をやりたくてウェブ広告業界へ 2006 2011 2010 2015 2012 2008 スタートアップの立ち上げを通じて、ウェブサービスをつくるというのは 体験できた(と思っていた) せっかくだし、もっと大きなサービスを作りたい

    複数のサイトをまたがって動くものというのは技術的にも面白そう 1サイトじゃ経験できない難しさを味わえそうな予感 「ウェブ広告」の仕組みが近いのでは?と思い、ウェブ広告畑へ
  11. 【これまでのキャリア】2012-2013年: 行動ログ解析 + セグメントする基盤をつくる 新規事業の立ち上げへ • 行動ログを集めて分析して返す仕 組み(DMP)をつくった • エンジニア3-4人くらいのチーム

    • AWSでのデータ処理(EMR、 DynamoDBまわり)をごりごり触 る機会になった https://www.slideshare.net/suzuken/dmp-30079817 DMPの仕組み データを扱う基礎力があがった 広告システムを初めて作ることで、お金の流れと経済性に興味がわき始めた しかしその後事業撤退へ・・ 2006 2011 2010 2015 2012 2008
  12. 【これまでのキャリア】2015年: fluct SSP開発へ 2006 2008 2010 2011 2012 2013 2015

    SSP 当時、リリースから5年、事業的にもぐいぐい伸びているfluctのメインプロダ クト。エンジニアは15人くらい。いままで一番大きな開発チーム。 昔書かれたコードが多く、意図がわからないものも。そもそも仕組み自体が 複雑で、理解もたいへん。 こんなにでかいコードベースに対処できるのか?という不安➞またコン フォートゾーンから飛び出すことに
  13. 【これまでのキャリア】意識的に、自分のコンフォートゾーンから飛び出していく 目的ある練習の4つのポイント • はっきりと定義された具体的目標がある • 集中して行う • フィードバックが不可欠 • コンフォートゾーンから飛び出すことが必要

    “30年間同じ曲を同じやり方で繰り返し弾き続けてきたアマ チュアピアニストは、たしかに1万時間分の練習を積んだかも しれないが、30年前と比べてまったく上達していないはずだ” “ 2006 2011 2010 2015 2012 2008
  14. 【これまでのキャリア】入社前に思い描いていたこと(再掲) 2006 2008 2010 2011 2012 2013 2015 実世界で動く Webサービス

    実世界で動く、大きくて 複雑なWebサービス ? まだまだ基礎も足りない気がする・・ あと課題もまだわかってない気がする・・
  15. エンジニア リング 【これまでのキャリア】ちょっとずつ分かってきたこと 利用される価値 プロダクト=資産 質への投資 お金になる価値 プロダクトが大きくなると、使う人も開発す る人も増える 長くプロダクトの「質」を保つことは難しい

    「質」を保つためのエンジニアリングは、 将来に価値を与える 「質」に投資すればプロダクトは「資産」に なり、長期的に価値を生み出す 使われ続けるサービスになるには、プロダク トが変化し続ける必要がある 気づけば「ソフトウェアエンジニアリング」 に出会っていた
  16. アジェンダ 1: これまでのキャリア: 学生編 北海道から出てきてエンジニアになった流れ 初めてのプログラミング、研究、インターン、スタートアップ 2: これまでのキャリア: 社会人編 ソフトウェアエンジニアリングの面白さ

    プログラミングとソフトウェアエンジニアリングの違い 3: 「必要なこと」と「鍛え方」 10年前の自分に伝えるならなにか じゃあこれからどうしていけばいいだろうか
  17. 意識的に、自分のコンフォートゾーンから飛び出していく 目的ある練習の4つのポイント • はっきりと定義された具体的目標がある • 集中して行う • フィードバックが不可欠 • コンフォートゾーンから飛び出すことが必要

    “30年間同じ曲を同じやり方で繰り返し弾き続けてきたアマ チュアピアニストは、たしかに1万時間分の練習を積んだかも しれないが、30年前と比べてまったく上達していないはずだ” “ 2006 2011 2010 2015 2012 2008
  18. 「鍛え方」というより「楽しみ方」: もっと実世界の複雑さを楽しもう • 実際に使われる世界は、予測が難しい • 予測が難しいほうが、面白い • 「ソフトウェアエンジニアリング」は実世界の難しさを手元に たぐり寄せ、制御し、時間の積分をつかって解く技術 •

    「プログラミング」する力は解ける問題の幅を広げてくれる • あれこれ考えるのもいいけど「やってみる」力をプログラミン グは与えてくれる やってみると、続けてみると、きっともっと面白い