アーキテクトは何よりもまずデベロッパーであれ

法律家だったことのない判事、外科医だったことのない外科部長なんてものを聞いたことがありますか?それぞれの仕事の頂点に達した人と呼ばれるようになってからも、こういった職業の人々は、専門分野の新しい進展を学び続けることを要求されます。ソフトウェア・アーキテクトにも、同じことが当てはまります。

ソリューションの設計がいかにうまくできていたとしても、デベロッパーたちにゲームプランを認めさせられるかどうかによって、実装の成否は大きく左右されます。デベロッパーたちがあなたを尊敬し、信頼していれば、手っ取り早くゲームプランを認めさせることができます。

デベロッパーの信頼を得るために何よりもものを言うのがあなたのコードです。あなたが自分ではコードを書けない空想家などではないことをデベロッパーたちに示すことができれば、例えば「私ならデータグリッドにデータセットをバインドするだけでもっと短い時間で同じことができる」なら、デベロッパーたちにデータの表示方法について制約を設けても、不満の声はあまり上がらないでしょう。

自分の仕事として求められているわけではありませんが、私は比較的複雑な仕事を自分でよく片付けます。これには2つの目的があります。まず、コーディングは楽しいですし、自分の開発スキルを磨くことができます。第2に、私が日のささないところで煙を吹かしているだけの人間ではないということをチームのデベロッパーたちに示すことができます。

アーキテクトとして、あなたの第1の目標は、実現可能で、維持することもできて、もちろん目の前の問題に対処できるソリューションを作ることです。どのようなソリューションを実現できるかを判断するためには、ソリューションの要素を開発するためにどれくらいの労力がかかるかを見積もれなければなりません。ですから、自分で設計したものは、自分でコーディングできなければならないだろうと思うのです。