Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
私のキャリアの旅路: 技術をきっかけに変化を楽しむ
Search
かとじゅん
July 22, 2023
Programming
1.1k
3
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
私のキャリアの旅路: 技術をきっかけに変化を楽しむ
かとじゅん
July 22, 2023
More Decks by かとじゅん
See All by かとじゅん
TAKTでAI駆動開発の品質を設計する
j5ik2o
9
1.9k
終盤で崩壊させないAI駆動開発
j5ik2o
5
3.3k
CQRS/ESになぜアクターモデルが必要なのか
j5ik2o
0
2.2k
メッセージ駆動が可能にする結合の最適化
j5ik2o
11
7.2k
曖昧なプロンプトでも正しいコードが書ける理由
j5ik2o
0
540
AIコーディングエージェントの現実と設計品質の重要性
j5ik2o
0
160
なぜイベント駆動が必要なのか - CQRS/ESで解く複雑系システムの課題 -
j5ik2o
17
8.4k
アクターシステムに頼らずEvent Sourcingする方法について
j5ik2o
8
1.7k
メッセージとイベントを中核に置いたシステム設計の有用性について
j5ik2o
12
4.5k
Other Decks in Programming
See All in Programming
ルールを書いて終わらせないハーネスエンジニアリング
yug1224
4
1.8k
なぜ関数型プログラミングで「型」と「証明」が語られるのか #fp_matsuri
kajitack
3
1.1k
型も通る、synthも通る、それでも危ない 〜AIのCDKの権限とコストを機械で検証する〜 / It Passes Type Checks, It Passes Synth Checks, but It’s Still Risky — Automatically Verifying Permissions and Costs in AI’s CDK —
seike460
PRO
1
530
アルゴリズムは何を圧縮しているのか ─ Haskell から育った「圧縮代数」というメンタルモデル
naoya
16
3.8k
VibeCodingからAgenticWorkflowへ
starfish719
0
230
2年かけて Deno に DOMMatrix を実装した話 / How I implemented DOMMatrix in Deno over two years
petamoriken
0
200
PHP に部分適用が来るぞ!……ところで何それ?おいしいの? #phpcon / phpcon-2026
shogogg
0
550
Android CLI
fornewid
0
210
AI時代に設計が 最大の生産性レバーになる 意図駆動開発とデータを消さない設計|Don't Delete Your Data or Your Intent — Design as the Deepest Lever in the AI Era
tomohisa
1
660
自動化したのに回らないテスト運用の壁ーAI時代の品質責任と生産性
mfunaki
0
120
仕様駆動開発の消費期限
watany
8
3.7k
使いながら育てる Claude Code — 開発フローの1コマンド化 × 繰り返し指摘の自動仕組み化
shiki_kakaku
0
1.7k
Featured
See All Featured
The Cost Of JavaScript in 2023
addyosmani
55
10k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
47
8.2k
Believing is Seeing
oripsolob
1
180
Claude Code どこまでも/ Claude Code Everywhere
nwiizo
66
57k
Product Roadmaps are Hard
iamctodd
55
12k
Designing Experiences People Love
moore
143
24k
Organizational Design Perspectives: An Ontology of Organizational Design Elements
kimpetersen
PRO
1
790
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
133
19k
Building Adaptive Systems
keathley
44
3.2k
For a Future-Friendly Web
brad_frost
183
10k
Information Architects: The Missing Link in Design Systems
soysaucechin
0
1k
The Pragmatic Product Professional
lauravandoore
37
7.4k
Transcript
私のキャリアの旅路: 技術をきっかけに変化を楽しむ HACK.BAR & Forkwell 言語カクテルとエンジニアの人生に触れる夜〜キャリアLT〜 かとじゅん(@j5ik2o) ©2023 Junichi Kato,
Chatwork Inc 1 / 12
自己紹介 Chatwork テックリード。ウェブ業界に転身後、ScalaやDDDを採用 した開発に従事。現在は次期アーキテクチャの設計に携わる 執筆 WEB+DB PRESS Vol.126 - 21周年記念エッセイ
今も読み続ける1 冊の本 レビュー エリックエヴァンスのドメイン駆動設計 Akka実践バイブル ドメイン駆動設計入門 良いコード/悪いコードで学ぶ設計入門 WEB+DB PRESS Vol.132 - 特集1 オブジェクト指向神話からの脱 却 趣味はRust。最近CQRS/Event Sourcingの実装を作りました twitter: j5ik2o github: j5ik2o ©2023 Junichi Kato, Chatwork Inc 2 / 12
タイトル回収 キャリアは旅の如く、その本質は目的地に到着する ことだけではなく、その旅路そのものに醍醐味があ ります。目的地を目指す道のりでは、新たな出会い があり、見たことのない風景に出会い、未知の食べ 物を味わうなど、旅路は絶えず新しい体験を与えて くれます。 同様に、キャリアもまた、最終的な目標に辿り着く ためだけの旅ではないのです。キャリアの中で得ら れる学びや経験、出会いといった多くの価値が存在
します。目的と手段の二項対立から逃れて、キャリ アの旅そのものを楽しむことが私たちの成長にとっ て大切なのです。 前半は、僕のこれまでのキャリアを、後半では僕の キャリアで大事な考え方を紹介させていただき、ひ とつの事例として参考にしていただければ幸いで す。 ©2023 Junichi Kato, Chatwork Inc 3 / 12
駆け出し編 1982年、(趣味)東芝 PASOPIA(8bit)でゲームとBASIC 1989年、(趣味)NEC PC-88VA(16bit)でゲームとパソコン通信とN88-BASIC 1990年、東芝入社。蛍光灯工場の技術部門(製造技術/品質管理) 1992年、(趣味)東芝ダイナブック(32bit)を買う。アセンブリとC言語 ポインタは難しいが、理解する前に使えるようになった 業務でもツールを開発していた。これもしかして仕事になるのでは?? 1995年、Visual
C++ 挫折。その後、Visual Basic, Delphi Cの延長戦でいけると思ったが、C++が全然理解できなかった (趣味)Delphi(Object Pascal)は素晴らしかった。自作VCLが雑誌掲載 1998年、東芝を辞めてSIerの世界に… 安泰な大手を辞めて大丈夫??と散々慰留された 今振り返っても正解だったと思う 趣味のプログラミングが仕事になる思ってなかったが、仕事にしてみようと思った時期 ©2023 Junichi Kato, Chatwork Inc 4 / 12
下積み編 1998年、Windows NTで分散システムを開発するプロジェクトに参画。 Visual C++ で本格的にオブジェクト指向を学び実践できるようになる。RPC やスレッド周りのクラスライブラリの設計・実装を担当 2000年、開発会社を設立。PHP4とPostgreSQLを使ったダイエット支援系ウ ェブサービスの設計から開発までを担当 2002年、SONYでPS2のSDK開発。C言語でオブジェクト指向開発
2003年、渋谷のネットベンチャーに転職。R&Dのマネージャを担当。NATト ラバーサル系スタックを開発しSaaS化 2004年、Java, C#, C++, PHPなど様々な案件を自社で受注 2007年、Seasar2 のOSSプロジェクトに参画(S2Chronos, S2Buriなど) 2008年、不動産系ベンダに転職し、Seasar2を使ったパッケージ開発 初期はがむしゃらにやってた。とにかく経験を増やすことを重視。Java/Seasar2 をやりはじめてから設計に気を配るようになった ©2023 Junichi Kato, Chatwork Inc 5 / 12
オブジェクト指向と設計編 2009年、ScalaとDDDを知る。Java,DDDを採用した大規模なアジャイルプロ ジェクトにアドバイザーとして参画 2010年、日経ソフトウエア特集記事執筆 同年、Evans本和訳のレビューに参画 2011年、WEB+DB PRESSのJavaの連載を担当 同年、日経ソフトウエアにてScala入門記事を執筆。 同年、著者のEvans氏から直接講義を受ける。集約のレクチャーがとても参考 になった
Javaの開発が楽しかったので、ウェブアプリケーション開発がメインになった。 ブログもそれなりに書いてた。技術評論社の編集さんの目に止まり、連載を担当 することに オブジェクト指向設計を起点に、設計を議論することが多くなった。そして DDD とScalaに出会い、新しい設計パラダイムを知る。10年先通用する知識だと実感 ©2023 Junichi Kato, Chatwork Inc 6 / 12
関数型とアクターモデル編 2011年、ドワンゴにて、Scala,Play2,DDDを採用したAPIサーバ開発プロジェ クトなどを立ち上げ 2013年、グリーにて、メッセンジャーの開発プロジェクトを立ち上げ。 Scala/Finagle 2014年、現職チャットワークに転職 2016年、メッセージングシステムをScala/Akka/Kafka/HBaseを採用した CQRS/Event Soucingシステムに移行 2017年、OAuth2サーバをScalaでフルスクラッチ開発
メッセージング以外の機能についても、Akka(アクターモデル)を本格的採用し マイクロサービス化を進めている。 Scalaの強力な関数型の機能を使い、分散システムの開発がメインになった。なか でも並行性や耐障害性に優れたAkkaをフルに活用する機会が増えた。現在開発中 のシステムはCQRS/Event Sourcingを採用。 ※実は業務以外ではScalaはほぼ書いておらず、今はRustに時間を割いている ©2023 Junichi Kato, Chatwork Inc 7 / 12
キャリアにおける僕の大事な考え方 注意) これは個人の考え方であって、みなさんに強要するものではありません エンジニアとして学び、実践につなげるというのは誰もやること。それだけではなく、自分のキャリアの旅路 そのものを楽しむことが大切 だと思っています。そのためには、以下の 3つの考え方 が重要だと思っていま す。 人生の目的は後から作るものだし、変わってもいい
「今に集中すること」の大切さを知る 過度な自己注目を避けよう ©2023 Junichi Kato, Chatwork Inc
人生の目的は後から作るものだし、変わってもいい 実存は本質に先立つ 例えば、はさみは、目的(本質)が先で、存在が後 一方で、人間は、存在(実存)が先で、目的(本質)が後 人間の目的は先にあるのではなく、後から作るものです 生きてること自体が目的でもいい。無目的でさえも目的で はないと否定できない。人間は「自由の刑に処されてい る」。行動のすべてが自己責任になるが可能性も無限大! 「こうしないといけない」があるとしたら、あなたがそう決 めているだけです。絶対的な目的があるとしたら自由のない
物的な人生ではないか 人生の転機に人生の目的を変えても問題はない。人間なのだ から(もちろん、サンクコストの罠やリスク回避性の問題はあ るが…) 『哲学用語図鑑』より ©2023 Junichi Kato, Chatwork Inc 9 / 12
「今に集中すること」の大切さを知る 「ハングリーであれ。愚か者であれ」 ジョブズ氏スピーチ全訳 - 日本経済新聞 将来をあらかじめ見据えて、点と点をつなぎあわせることなどできません。できるのは、後からつなぎ合わせることだけです。だか ら、我々はいまやっていることがいずれ人生のどこかでつながって実を結ぶだろうと信じるしかない。 ジョブズは大学に入学しましたが、半年で中退。親に金銭的な負担を強いながら、興味がない必修科目の授業 に価値を見出せなくなったためです。しかし、大学を辞めたものの、その後も興味のある授業だけを取るもぐ りの学生になりました。
ジョブズが魅了された授業の1つが、伝統的で芸術的な「カリグラフィー」でした。そして10年後、最初の Macを設計する際に、それがアイデアとしてよみがえったそうです ところが10年後、最初のマッキントッシュを設計していたとき、カリグラフの知識が急によみがえってきたのです。そして、その知識 をすべて、マックに注ぎ込みました。美しいフォントを持つ最初のコンピューターの誕生です。もし大学であの講義がなかったら、マ ックには多様なフォントや字間調整機能も入っていなかったでしょう。 このメッセージは示唆に富んでいます。今に集中することの大切さが込められている気がします。 ©2023 Junichi Kato, Chatwork Inc 10 / 12
過度な自己注目を避けよう 「一の矢」は避けられない苦しみ(生老病死など) 「二の矢」は自分で放つ苦しみ 例: なぜ自分だけがこんな目に遭うのだ、働けなくなったら家族はどうすれ ばいいのか、介護ばかり受けて申し訳ない、もう人生は終わりだ… 「私の将来はいったいどうなるのか…」「私は一ヶ月前も似たようなこと で怒られた…」などの「二の矢」を放つのは自分です 先行研究では 自己にこだわる(自己注目する)人ほどメンタルを壊しやすい傾向
が何度も報告されている。「自分はダメな人間だ」などの否定的な思考がよく ないのは当然ですが 「自分はどんな人間なんだろう?」と自分探しなどの時 間が長い人も不安や抗鬱の症状を起こしやすいことがわかっている ネガティブな思考を自己に向けることは、大昔は生存のためには必要なことだ ったのかもしれないが、現代ではむしろ自己に注目を向けることで、パフォー マンスの最大化を妨げる可能性がある 出典:『無(最高の状態)』 ©2023 Junichi Kato, Chatwork Inc 11 / 12
みなさんも自分のキャリアの旅路を 楽しんでください ありがとうございました! ©2023 Junichi Kato, Chatwork Inc 12 /
12