ソフトウェアアーキテクトが知るべき97のこと

ソフトウェアアーキテクトが知るべき97のこと

ソフトウェアアーキテクトが知るべき97のこと

具体的な技術的なことよりも、心構えについて書かれています。色々な分野で活躍しているソフトウェアアーキテクトが自身の経験から、アーキテクトが考えなければならないこと、行動すべきことについてコラム形式で綴られています。
 
読んでいて思ったことは、ソフトウェアアーキテクトは、ソフトウェアに関する幅広い知識だけではなく、問題の本質をとらえて解決策を考えることが必要だと思います。そのために技術力・マネジメント力・交渉力など広範な部分を抑えることが求められるのだと思います。
 
ここからは、個人的なちょっとした妄想ですが、、本の中身とは全く違うことまで考えてしまいました。
実際日本のソフトウェア開発というと、受託型のSIがまだまだ多い現状です。個人的には、今後ソフトウェア開発というのは、日本の企業でも内製化が進むと思っています。その時に、システムインテグレーション系の企業に開発を依頼するのではなく、ユーザ企業が直接エンジニアを雇う方が効率的だと思っています。その時に優秀なアーキテクトがユーザ企業にいるともっと効率が上がると思います。
 
基本的に、ソフトウェア開発はPJ単位の開発になるので、人が常に同じ人数必要かというとそうではなく、PJのフェーズなどによって要員の数は変わってきます。その時に現在は開発でユーザ企業が開発者を抱えていることが難しいため、Sierなどに開発を依頼することになるのですが、それもよくよく考えると非効率です。とはいえ、効率的ではないからといって、そんなにすぐに変わって行く事はないと思いますが、ユーザ企業が個々でエンジニアを雇う(PJ単位で、特に社員じゃなくても)ことにいずれなっていくと思います。
実際Sierもエンジニアを色々なところから集めてやっているのが実態だと思います。もちろん正社員がガチガチに守られる日本の今の制度では難しい部分もあるので、法制度改正などで、雇用の流動化が進まないとできないとは思います。しかしながら、派遣切りなどで、ナイーブな反応をする日本ではまだまだ難しいことのかもしれません。とはいえ、優秀な人間を色々なところで働けないのは社会にとって損失だとも思います。
 
正社員の雇用だけをかたくなに守るということだけが、日本の労働者の幸せな形ではないと最近ちょっと考えたりしています。全員が幸せになる制度というのはないけれども、今より幸せな形をデザインしたり、妄想したりするのは楽しい。エンジニアの仕事に限らず、労働の仕方自体を考えることもシステム開発をする上では大事なことだと思っています。