システムアーキテクトの職位

あるIT企業にソフト開発者として勤めています。開発者のキャリアの経路としては、マネージャーを目指すかアーキーテクトを目指すかという二つの道に分かれていますが、僕はいつかアーキーテクトになれたらいいなと思いながら日々仕事をしています。マネージャーに全く興味がない訳ではないですが、それはあくまでも「人を管理する」という要素が大きいし技術と直接関わる仕事の方が充実感があって自分に合ってると思います。

アーキテクト(英語:architect)とは、元々「建築家」という意味ですけど、内の会社では「システムアーキーテクト」、つまりソフトウェアのシステムを設計する人を意味します。

プロジェクトの規模によって開発者の数が大きく変わります。少人数(1ー5人)のプロジェクトもあれば100人のもあります。大きいプロジェクトは役割分担の為にいつかのモジュールに分かれて開発されることが一般的です。そうすることでソフトが実装しやくなる、バッグが取りやすくなるなどいろんなメリットがあります。

新しい町や家を建設する時、全体的な構造を決める必要があります。ソフト開発も同様です。それぞれのモジュールの役割、データフローやプロトコルを決めるというのがシステムアーキテクトの仕事です。最も最適な設計をするために技術を研究したり実験的なプログラムを作ったりする場合もあります。理想的なシステムの特徴とは、セキュリティ、拡張性、保守性、効率性、低コスト、そしてユーザーのニーズに合う事など様々あります。

命令された通りにプログラムを書かないといけない開発者に比べたら、アーキーテクトの方が自由があって自分が思う通りに行動できるし、想像力が求められる仕事だと思います。しかしその分、プロジェクトに影響をより与えて責任も大きいです。

プロジェクトが大きくてもアーキーテクトは一人、二人しかいないので会社の正社員のたった一部しかアーキテクトになれません。どおりで入社して10年以上のアーキテクトがほとんどです。

保証なんてないですけど、5年以内でアーキテクトになるよう頑張っていきたいと思います。