bon now

ありのままの現実を書き殴る吐き溜め。底辺SEの備忘録。
Written by bon who just a foolish IT Engineer.

SI業界のプログラマ足ること

Created Date: 2015/05/18 22:05
Updated Date: 2024/01/01 02:55

(文章がまとまってないので近いうちに書き直します)

今回の記事の発端はrebuild.fmのネタから。
 http://rebuild.fm/91a/

Podcastで聴いたわけでもサイトで聴いたわけでも無いが、Twitterのタイムライン見てたら「プログラマってだけで神格化されちゃうときもあるけど、凄腕プログラマと言われている人でもそうじゃない面もあるし、むしろ普通なこともある」(要約)という話が出ていることを知った。

最近だと栗林 健太郎さん(あんちぽくん氏)の以下の記事も関連した話(と思ってる)。
 delirious thoughts -エンジニアとしていかに成長するかについて、GMOグループの新卒エンジニア・クリエータの皆さんにお話した

エンジニア(プログラマ)って凄腕になると1人でカーネル作っちゃったり、自分の興味に合わない仕様のフレームワークを拡張するフレームワーク作っちゃったり、とんでもない技術力と解決能力を持っているのが当たり前だ。 これが「先天的才能じゃない」という話がrebuild.fmの関連リンクにある。
 Jacob Kaplan-MossのPyCon 2015における基調講演: プログラミングの才能という都市伝説

上記記事を読みながら最後までスクロールしてみると、今度は別の研究結果についてまとめた記事へのリンクがある。
 本の虫 -60%の人間はプログラミングの素質がない

これらを総合して考えると、プログラマのスキルには技術力(プログラミング力)とは別の必要な能力が何かあって、組織としてはそれらをバランスよく保つ方法をみんなで考えていくことが組織の成長戦略の1つと個人的には思った。あんちぽくん氏のエントリから見ると、その1つが問題解決力ということだろう。人によっては論理思考力もあるかもしれない。そういうのを伸ばす教育をしないと、プログラミング能力の正規分布は見られないんだろうなという感じ。

んで、現状プログラマの スキル云々が正規分布でない(バイモーダル曲線)ことを正とすると、「中間の人」はほとんど現れないということになる。 かといってシステム開発のプロジェクトはプログラミングだけで構成されるものじゃないので、そこは組織力として適材適所の人材配置と、マネジメントによる円滑なプロジェクト推進を図る必要が出てくる。 これについては最近Webでみた「プロダクティビティエンジニア」とかいう職種の存在によって明言できると思う。

ということでこれらを無理やりSI業界に持ち込んでみると、意外と日本の築き上げてきたSIerの仕事ってのは的外れでもなく、むしろ組織としての力を最大限に生かせてるからそれなりに良い組織なんじゃないかと思えてくる。 もちろんこの話は組織力があることが前提だから、大企業だからとか零細企業だからとかいう区別は全くない。じゃあ何が問題なのだろう。 SI業界に対してはExcel方眼が仕様とか斜陽産業とかいうTweetや記事をみかける。まあ、確かに当事者である僕も危機感持ってる。

SIerの現場でもOSSを使ったシステム開発が進んで来ていて、昔ながらのシステム全て自社独自規格ってのは無くなってきているので、OSSに精通した技術力が必要になっている。だけど現代におけるIT技術の進化と組織内のIT技術蓄積の速度が全然違っていて、それに引きずられる形で組織内の技術力が落ちてるということが問題になっている、と僕は感じている。 例えば、システムのレガシー化する速度が早まってる現代では、5年前のやり方(良く言えば確立されてきた堅実なやり方)で物を作り始めても、工期2年を経てプロジェクト完遂した頃にはもう時代遅れの産物となり、その2年後にはシステムの入れ替えを検討し出さなきゃいけないという感じ。 また、SI業界ではプログラミング工程を下請けに丸投げする傾向がある。おかげさまで、ものづくりの基本的プロセスが欠落しちゃったことにより、上流から下流に至るシステムの論理的な整合性を保つこともできなくなっている。あとは物知りで優秀な上司は業務に急かされて、さっぱり若手が育たないとかそんな話もある。

とはいえ、SI業界の経営側の立場で物事を語ると、以下のような側面も見えてくる。

「業務プロセスの改善にプログラミングの善し悪しは関わらない。プログラミングは問題解決の手段であって、目的ではない。我々はあくまで顧客の抱えるビジネス上の問題を解決するソリューションをシステムとして提供しているだけで、それを実現する1つの手段がプログラミングである。ただし、システムの品質面においては、大いにプログラミングの善し悪しが影響する。だからこそプロフェッショナルなプログラマが揃う企業へ業務を請け負わせることで、リスクヘッジを図っている。どうだWin-Win」

確かにそうかもしれない。でもこれだと顧客の抱える問題が顧客・SI企業間とSI企業・下請け企業のように分断されてしまい、組織的に動きにくい構造を必然的に作り出してしまう。そうやって自らの首を絞める形でシステム開発のQCD(Quality,Cost,Delivery)を確保しようとする。 そしてこれが昨今DisられているようなSI業界の典型的構造なのだと僕は思ってるしきっとそう。 別にこれが完全悪だとは思わない。ただ、その間で苦しんでるサラリーマンがとても多いことが問題なのだ。

少ないパイ(優秀なプログラマ)を取り合うのか共存共栄するのかでは大きく話が違う。今後のプログラミング教育において、人材の全体的な正規分布を目指すからには相応の教育カリキュラムの確立が必要だし、それを企業がやるのかっていうとそうでもないから、今はまだSI業界でのプログラマという立場は評価されづらい(あるいはされない)だろう。 でも、恐らくきっと多分もしかしたらプログラマが当たり前にSEやってPMやって、Excelやって経理やってする時代が来るだろうから、その時まで精一杯試行錯誤しながら若者へのバトンをどう渡すか考えるのが、今の大人の愉しみなんじゃないかと思う。

SI業界を辞めるのは非常に簡単だし、やめても引く手あまたなのですぐに別の関連業界に転職できるだろう。ただ、できるなら今属してる組織と戦うとか慣習と戦うとか、そういう組織内からの下克上(要はボトムアップ)を考えるのも、今のSI業界なら案外楽しいんじゃないかと思ってる。相手は強敵だし、そうそう経営方針とか戦略の方向性の標となるのは難しいのは自明だけど、そこには起業家精神に似たものがあると僕は感じている。

local_offer
folder work