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

私のキャリアの旅路: 技術をきっかけに変化を楽しむ

私のキャリアの旅路: 技術をきっかけに変化を楽しむ

かとじゅん

July 22, 2023
Tweet

More Decks by かとじゅん

Other Decks in Programming

Transcript

  1. 自己紹介 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
  2. タイトル回収 キャリアは旅の如く、その本質は目的地に到着する ことだけではなく、その旅路そのものに醍醐味があ ります。目的地を目指す道のりでは、新たな出会い があり、見たことのない風景に出会い、未知の食べ 物を味わうなど、旅路は絶えず新しい体験を与えて くれます。 同様に、キャリアもまた、最終的な目標に辿り着く ためだけの旅ではないのです。キャリアの中で得ら れる学びや経験、出会いといった多くの価値が存在

    します。目的と手段の二項対立から逃れて、キャリ アの旅そのものを楽しむことが私たちの成長にとっ て大切なのです。 前半は、僕のこれまでのキャリアを、後半では僕の キャリアで大事な考え方を紹介させていただき、ひ とつの事例として参考にしていただければ幸いで す。 ©2023 Junichi Kato, Chatwork Inc 3 / 12
  3. 駆け出し編 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
  4. 下積み編 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
  5. オブジェクト指向と設計編 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
  6. 関数型とアクターモデル編 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
  7. 「今に集中すること」の大切さを知る 「ハングリーであれ。愚か者であれ」 ジョブズ氏スピーチ全訳 - 日本経済新聞 将来をあらかじめ見据えて、点と点をつなぎあわせることなどできません。できるのは、後からつなぎ合わせることだけです。だか ら、我々はいまやっていることがいずれ人生のどこかでつながって実を結ぶだろうと信じるしかない。 ジョブズは大学に入学しましたが、半年で中退。親に金銭的な負担を強いながら、興味がない必修科目の授業 に価値を見出せなくなったためです。しかし、大学を辞めたものの、その後も興味のある授業だけを取るもぐ りの学生になりました。

    ジョブズが魅了された授業の1つが、伝統的で芸術的な「カリグラフィー」でした。そして10年後、最初の Macを設計する際に、それがアイデアとしてよみがえったそうです ところが10年後、最初のマッキントッシュを設計していたとき、カリグラフの知識が急によみがえってきたのです。そして、その知識 をすべて、マックに注ぎ込みました。美しいフォントを持つ最初のコンピューターの誕生です。もし大学であの講義がなかったら、マ ックには多様なフォントや字間調整機能も入っていなかったでしょう。 このメッセージは示唆に富んでいます。今に集中することの大切さが込められている気がします。 ©2023 Junichi Kato, Chatwork Inc 10 / 12
  8. 過度な自己注目を避けよう 「一の矢」は避けられない苦しみ(生老病死など) 「二の矢」は自分で放つ苦しみ 例: なぜ自分だけがこんな目に遭うのだ、働けなくなったら家族はどうすれ ばいいのか、介護ばかり受けて申し訳ない、もう人生は終わりだ… 「私の将来はいったいどうなるのか…」「私は一ヶ月前も似たようなこと で怒られた…」などの「二の矢」を放つのは自分です 先行研究では 自己にこだわる(自己注目する)人ほどメンタルを壊しやすい傾向

    が何度も報告されている。「自分はダメな人間だ」などの否定的な思考がよく ないのは当然ですが 「自分はどんな人間なんだろう?」と自分探しなどの時 間が長い人も不安や抗鬱の症状を起こしやすいことがわかっている ネガティブな思考を自己に向けることは、大昔は生存のためには必要なことだ ったのかもしれないが、現代ではむしろ自己に注目を向けることで、パフォー マンスの最大化を妨げる可能性がある 出典:『無(最高の状態)』 ©2023 Junichi Kato, Chatwork Inc 11 / 12