今の私はソフトウェア開発者として生計を立てており、しばしば進路について考える。ソフトウェア開発者の行く末は概ね幾つかに大別される。部下を持つ管理職、技術で周囲を率いるテックリード。これらと並んでよく耳にするのがソフトウェアアーキテクトだ。私は自分が将来何になりたいのか分からない。それを知るためには、まずそれらの職務が具体的に何なのかを知る必要が有る。

そんなことが頭の片隅にあり、ふと目に入った『ソフトウェアアーキテクチャの基礎』(Mark Richards、Neal Ford 著、島田浩二訳)を手に取った。見た目通り実に教科書的な本で、その内容はソフトウェアアーキテクチャとは何たるやの定義から始まる。一般的なソフトウェアアーキテクチャスタイルが説明されており、巻尾には要点の理解度を確認できるチェックリストも付いていて便利だ。

「ソフトウェアアーキテクチャはトレードオフがすべてだ。」というソフトウェアアーキテクチャの第一法則は、ぼんやりとしていた「ソフトウェアアーキテクチャ」という言葉が何故ぼんやりしているのかを明確に表していると感じたし、チェックリストの有用性については今日から適用できる実践的な内容だ。

また、本書にはしばしば「新米のソフトウェアアーキテクト」という表現が出てくる。当たり前だが、ソフトウェアアーキテクトだからと言って常に先が見通せる訳でもないし、全てを知っている訳でもない。ソフトウェアアーキテクトは「上がり」なのではなく新たな「始まり」なのだ、と気付かされた。

本書を読んでソフトウェアアーキテクトになりたくなったかと言われると、それはよく分からない。だが、その職務遂行に欠かせない諸要件は、たとえソフトウェアアーキテクトにならずとも役立つだろうし、それは雲の上にあるのではなく日々の業務と地続きなのだ。そう思えた。