Fundamentals Of Software Architecture - 24. Developing a Career Path
アーキテクトになるには時間と努力が必要だが、キャリアパスも同様に厄介
あなたのために特定のキャリアパスを描くことはできないが、いくつかの例を紹介していくことはできる
アーキテクトは学び続けなければならない
歴史上、ソフトウェアエンジニアのようにこれほど多くの詳細な知識を学び捨てた集団があっただろうか
技術とビジネスの両面から各リソースをキャッチアップする必要がある
同僚や専門家に、最新の情報を得るためにどのようなリソースを利用しているのか聞いたりするのも良い
アーキテクトはこれらのリソースをキャッチアップする時間を一日に何度か設ける必要がある
The 20-Minute Rule
アーキテクトにとって、技術の幅は深さよりも重要
https://gyazo.com/7a558a11fefdac3320d0192b2b6b8930
しかし、そんな時間はない
仕事をしながら家族との時間を大切にし、子どもたちとふれあい、趣味の時間を確保しながらキャリアを積んでいくというバランスに苦しんでいる
このバランスを保つため、20min Rule テクニックを使っている
1日に少なくとも20分をアーキテクトとしてのキャリアに充てる
InfoQ, DZone Refcardz, ThoughtWorks Technology Radar など
聞き慣れないバズワードをググって少し学び、その知識を「自分が知らないことを知っていること」に昇華させるために費やす
or 特定のトピックを深く掘り下げ、もう少し知識を得る
継続的に技術的な幅を広げていけるようになる
https://gyazo.com/a1eabcbc5abefa6938a15f7d70f8ccd4
しかし、これがうまくいくことはほとんどない
ランチタイムは短くなり、休憩や食事ではなくキャッチアップの時間になる
夕方は予定があったり家族の時間になる
ebiken.icon 現実..
1日の始まりである朝一番に 20m ルールを活用することを強くおすすめする
メールをチェックする前に 20m ルールを発動させる
Developing a Personal Radar
技術の進歩は無視してはいけない
例: Windows の台頭によって DOS アプリケーションが突然姿を消した
ある技術に大きな投資をすると、開発者は記憶的なバブルの中に住むことになる
エコーチャンバーの役割も果たす
自分と似た価値観の主張ばかり見ていることで、いかにも自分の意見が一般的なもの、正解であるかのように錯覚すること
開発者にかけているのは、Technology Radar
既存及び新規のテクノロジーのリスクとリターンを評価するための生きた資料
The ThoughtWorks Technology Radar
ThoughtWorks で作成したレーダー
4象限で構成される
Tool
Language, Framework
Techniques
開発プロセス、エンジニアリングプラクティス、アドバイスなど開発を支援するプラクティス
Platform
DB, クラウドベンダー、OSなど
4つのリングがある
Hold
話題にはなっているがまだ実証されていない
まだこの技術で新しいことを始めるな、という意味合い
既存プロジェクトで使うには問題ないが、新規で使うのはよく考えたほうが良い
Assess
組織にどのような影響を与えるか
ある程度の努力(開発、研究、カンファレンス)をする必要がある
Trial
追求する価値のある技術
リスクの低いプロジェクトを試験的に実施して理解できるようにするべき
Adopt
業界がその項目を採用するべきだと感じている
https://gyazo.com/4dbf287cc6c5c4b25367c45dbf672524
それぞれのポイントが技術やテクニックを表す
ebiken.icon 一通り見てみよう
気になったもの
Techniques
Tools
Platforms
Languages & Frameworks
個人で使用する場合はいかに意味を変更することをおすすめする
Hold
避けるべき技術、テクニック、断ち切ろうとしている習慣
Assess
良い評判を聞いているが、まだ自分で評価する時間がない有望な技術
Trial
より大きなコードベースで実験するなど、活発な研究開発
より深く理解するために時間を費やす価値のある技術
Adopt
最も興奮する新しい事柄、特定の問題を解決するためのベストプラクティス
技術ポートフォリオに対して放任主義の態度を取るのは危険。アーキテクトは技術ポートフォリオを財務ポートフォリオのように扱うべき
FP は自分のポートフォリオをどうするか。分散 させる
広く需要がある技術やスキルをいくつか選び、その需要を追跡する必要がある
オープンソースやモバイル開発も試してみると良い
レーダーを構築することは、自分の技術ポートフォリオを広げるための良い足場になる
ThoughtWorks の Build Your Own Rader ツール
Using Social Media
Twitter のようなソーシャルメディアを専門的に使い、自分が尊敬するアドバイスをしてくれる技術者を見つけ、フォローすること
新しく興味深い技術に関するネットワークを構築し、技術の世界の急速な変化に対応することができる
Parting Words of Advice (最後に)
実践は、スキルを身に着け、設計を含め、何事も上手になるための証明された方法
個々の技術の幅を広げるだけでなく、設計する技術のためにも自分のスキルを磨き続けることを推奨する
常に学び、常に実践し、実際に設計すること。