flint>flint blog>2015年> 6月>30日>The 4th Anniversary

The 4th Anniversary

月日の過ぎるのは本当に早いもので、独立してから4年が経ちました。 未だ法人化もできてはいませんが、それでも縁故もなかったこの山梨で事業を継続できているのは、ひとえに周囲の皆様の力添えによるものでしょう。

さて、これまでの仕事であちこちの現場に入らせて頂いていますが、その在り方は本当に多様です。 規則・規約でアウトプットの内容と形式を厳格に制限し、技術者を「部品として扱う」ことが徹底されているところもあれば、「技術者に (しかも外部委託先である私) にここまでの裁量を与えて大丈夫なのだろうか」とこちらが心配になるほど奔放な会社も。 また、内部の雰囲気についても然りで、従業員間で公私共に良い関係が築かれている職場もあれば、互いのプライバシーには極力干渉しないといったスタイルもありで、一概にどれが良い・正しいと言えるものではありませんが、そうした違いを観察できるのは、個人事業主ならではの醍醐味かも知れません。

そんなわけで、このエントリでは、そうした多様な現場を渡り歩いた経験から、特定の企業・団体に限らず、IT業界全体 (といっても私の観測範囲など多寡が知れていますが) について私が感じていることを述べてみることにします。

やはりプログラマの地位は低い

今に始まったことではありませんが、IT業界においてプログラマというのは最底辺ないしその付近に位置付けられることの多い職種です。 それはおそらく、ソフトウェア製品の開発において指揮系統の末端に位置することに由来するものでしょう。 プログラマは、上級職 (大抵の場合はシステムエンジニア) が作成した仕様書の通りに動作するコードを書き上げるだけの仕事であり、そこには特別な (敬意あるいは高い賃金を払うに値する) 知識, 技術, あるいは経験などない、といった認識が、程度の差こそあれ、どの現場にも浸透しているようです。

例えば「システムエンジニアには1ヶ月あたりxx万円出せるけど、プログラマならその半分まで」という条件に遭遇することもしばしばであり、私が現場に入るときの肩書きは「プログラマ」ではなく「システムエンジニア」であることが殆ど。 実質的な業務内容にはまったく違いがなくても、肩書きだけでそれほどの差が付いてしまうのです。 これまでに幾度、次の台詞を聞かされたことでしょうか:

プログラムなんて誰が書いても同じなんだから。

こうした認識は誤りであり、プログラマの技術力・生産性の個人差が他の職種と比較しても非常に大きいこと、そして、コード品質の軽視はビジネス上の重大なリスクとなるということを幾度も主張しています。

ソフトウェアもこれと同じで、ロジックの共通化、インターフェイスの整備などにより、できあがった「もの」をちょっと眺めただけでは分からない、しかし、決定的な品質の差が生じます。 その差を生み出すのは、一言で表すならば、作られるに際してどの程度「作りやすいカタチ」「壊れにくいカタチ」「直しやすいカタチ」が意識されたか。 しかし、残念なことに、この「作るときの意識 (あるいは思考, 目線)」はドキュメントにも完成品にも残らず、常に抜け落ちてしまうもののようなのです。

flint blog: 抜け落ちるもの

コードが読みづらいものであれば、読解・修正には余分な手間、即ち工数が掛かることとなり、それは作業に対する見積・請求の金額にダイレクトに反映されることになるでしょう。 報酬を多く払えばそれで済むのならばまだマシな方で、納期直前に退職, 入院, 死亡, 失踪などの理由でコードを書いた人間がいなくなってしまった場合は、各方面に頭を下げてのスケジュール調整が必要となる上、下手をすれば賠償請求をされる可能性すらあります。

flint blog: 引数のデザイン

こうした見方はプログラマやシステムエンジニアを含めた技術者や、実際の開発を担当する業者のレベルではある程度の危機感をもって共有されているものの、発注者の側にはなかなか広がらず、新聞などで時折報じられる所謂「動かないコンピュータ」問題の温床となっています。 空前の技術者不足と取り沙汰される「2015年問題」の只中にあっても、未だIT技術者は頭数幾らで取引され、その単価も上がる気配はなし。 エンジニアを雇用して技術を育てるという発想を持たないメーカが殆どという現在のIT業界が、今後確実に到来する「技術者余り」によってどうなるのかについて、明るい見通しはまったくありません。

ノマドとか社畜とか

Rat-hunting Squadron

最近はあまり耳にする機会もなくなってきましたが、私が独立した2011年頃は「ノマド」なる言葉が流行していました。

「ノマド」とは遊牧民のことであり、いつも決まった場所ではなく、カフェや公園、お客さんのオフィスなどでノートパソコン、スマートフォンなどを駆使しネットを介して場所を問わずに仕事を進めること。 「サードプレイス」という自宅でもなく、オフィスでもない、第三の自分の居場所で仕事を行う新しいスタイル。

「じゃあ具体的にどんな人が "ノマド" で成功しているのだろうか」と思い調べてみたものの、出てくるのは「こうすればノマドになれますよ」というノウハウを著書やセミナーを通して売って稼いでる事例ばかり。 つまるところ、単なるファッション商品でしかなかったわけですが、当時はそれなりに「若者」からの支持を集め、「新しい働き方」として注目・利用されていた概念ではありました。

その一方で、ノマド賛美の反動から、会社勤めをしている人たちを、「企業に飼い馴らされている」「自分の判断で行動することを放棄している」という揶揄を込めて「社畜」と呼ぶ風潮が生まれ、それは今もなお (一部にではありますが) 残っています。 しかし、実際にフリーランスとしてソフトウェア開発業務に携わる経験をしている者としては、

「お前ら、傭兵だけで戦争ができると思ってんの?」

以上の感想が出てきません。

ある程度の規模以上のソフトウェア開発には、設計や実装以外にも多くの職能を持つ人間が携わります。 その際、個人で賄うことが特に難しいのが、全体の調整と金銭まわりの処理、そして顧客 (発注者) との遣り取り。 例えば、各機能をどの順で、それぞれいつまでに作るかというスケジュールは技術的な要因だけでなく、他部門のスタッフやレビューの実施計画によって応じて決める必要があります。 また、開発中に仕様変更などがあった場合には、スケジュール変更や予算の調整なども必要になるでしょう。 スタッフの雇用契約に関する処理も適切に行わなければならず、そのためには各種の法律に関する知識やある程度の実務経験が欠かせません。 また、仕入れに関して発注者からの前払いが受けられない場合は、その分を立て替えなければなりませんが、個人事業主のレベルでは不可能なほど大きな金額になることもしばしばです。

そして何より、そうした大規模なプロジェクトの業務は個人の事情で遅滞させることは許されず、誰かが職務を遂行できなくなった場合に代替の人員を充てる (場合によっては新たに雇用する) ことが必要となるわけですが、それを可能とするバックアップ体制は組織にしか持ち得ないもの。 この「確実性」「信頼性」の有無こそが、個人と組織の達成しうる成果を分ける要因であり、また、趣味的なソフトウェア開発とビジネスにおけるそれの違いでもあるわけです。 会社あるいは担当者によって、そのこなし方の上手い/下手の差はありますが、いずれにせよ、20年前であればいざ知らず、現代のソフトウェア開発はそうした「組織の力」なしには成立しません。

この事実を省みることなしに、勤め人を「社畜」「組織の奴隷」呼ばわりし、自分たちが特別に素晴らしい働き方や仕事をしているという優越感を持っているフリーランスのプログラマを見かけることも少なくありませんが、それは技術者として世を渡っていく上で致命的な勘違いです。 そうした思い上がりをしているフリーランスと付き合うことはビジネスの上では「汚いコード」以上に大きなリスクとなるもの。 こうした心得違いをしていないか、折に触れて自分自身を省みつつ仕事に取り組んでいきたいものです。

最後に

そんなこんなで、当初は無謀とも思われたこの事業も今年で4周年。 今年は柄にもなく組合の理事になってしまったりもしましたが、今期はこれまで「なんとなく」目指していた法人化に指向けて、より具体的なアクションを起こしていければと考えている次第。 現在お取引頂いている皆様には変わらぬご愛顧を賜りたく存じます。

それでは、今後ともよろしくお願い致します。

成田 (繋がるけど混ざらない)
このエントリーをはてなブックマークに追加

コメント

「技術者余り」が起こるのかな? ( 投稿者: nsdt <lo46as67ETep9> )

人が減っていって機械に仕事させようとするほど、名目的技術者でさえ、足りなくなるのではないかな。 
これは技術者の楽観的な、社会的悲観なのかな。

積み重ねられた知識が増えるほど、技術者になるのが難しくなる気がする。
分業出来れば、全体の幸福の最大化を目指せるのだろうけど。

(混ぜるな危険)

Re: 「技術者余り」が起こるのかな? (1/2) ( 投稿者: なりた )

まず、技術者余りは確実に起こるでしょう。

本文中でも述べたマイナンバー関連案件および大手銀行のシステム刷新のため、市場では技術者の「買い占め」が起きています。その人員が有効に活用されているのであればまだ良いのですが、実際の所はひたすらに頭数だけを掻き集めているというのが現状。プロジェクトの規模に対して、どう考えても過剰な人員が投入されています。

何故そうなっているかと言えば、スケジュールに対して絶望的に進行していない壊滅同然の進捗を埋め合わせようとする足掻き......であればまだ良い方で、その惨状を招いたベンダがクライアントに「誠意」をアピールするため、というのが実際のようです。それを示しているのが、能力や実務経験を殆ど問うことのない「来る者拒まず」状態の求人。下請けに対して「採用した新卒を全員こちらの案件に提供してくれ」という依頼が出されるというような酷い例もあるとか。

しかし、そうした炎上プロジェクトもいつまでも引き伸ばせるわけではなく、法律の施行や予算の枯渇といった要因によって、いずれは大幅な縮小ないし打ち切りを余儀なくされます。そうなれば、それらの案件によって囲い込まれていた大量の技術者が市場に放出されるわけですが、残念なことにその殆どは「来る者拒まず」の求人で掻き集められ、しかもその案件ではまともな開発経験を積めていない、能力・経験ともに素人同然の連中。一般的な開発現場においては、そうした「人材」に対するニーズは殆どありません。

かくして、新卒でもなければ、技術職以外の実務経験もなく、しかしスキルの方はさっぱり、というプログラマやシステムエンジニアが企業の内外に溢れかえることに......というのは火を見るよりも明らかな展開です。

Re: 「技術者余り」が起こるのかな? (2/2) ( 投稿者: なりた ) [link]

そうした状況では、nsdt さんが仰ったような

> 人が減っていって機械に仕事させようとするほど、名目的技術者でさえ、足りなくなるのではないかな。

という推論は成り立たなくなっていくわけです。

例え話をすると、ずっと昔、日本の中で外国人と接触する機会のある人が少なかった頃 (あるいはインターネットが普及する以前) であれば、例えカタコトであっても英語を話すことができればそれを職能とすることができたかも知れません。しかし、世界規模での情報交換が当たり前で、誰もが無料で自動翻訳サービスを利用できる現在では、「(単に) 英語が話せる」くらいの技能には、職を得るための優位性は殆どなくなっています。それと同じように、「プログラム (/HTML) が書ける」程度のスキルは、20年前であればそれだけで仕事となることもあったでしょうが、現在では技術者の職能としては完全に不足であるわけです。

別の言い方をすると、現代社会は単純な技能しか持たない「労働者」を上手く扱うことができず持て余してしまう、ということ。何故ならば、単純な技能による労働は、それこそ機械・コンピュータによって代替されてしまうからです。従って、

> 積み重ねられた知識が増えるほど、技術者になるのが難しくなる気がする。

というのはまさに正しく、しかもそれは技術者に限ったことではない。現代そしてこれからの社会では「労働者」になること・であることが難しくなっているのです。

flint blog: 技術と魔法のギャップ
http://www.flint.jp/blog/?entry=40
> しかし、学校を卒業して社会人となり、サービスを提供する側に立ったときから、自分たちが使っていたものよりもさらに高度な魔法を自らの手で生み出すことを要求されることになります。 このギャップの大きさは、想像を絶するものがあります。 そして、このギャップは今このときにおいても、確実にその幅を増しつつあるのです。

そんなわけで、例えば、全国の大学で進められている「職能」「実用」重視の改革には大きな危機感を覚えていたり。そうした教育で養成される「人材」は早晩、少なくとも機械以下のコストで働かざるをえなくなるわけですが、まだそこまで行き着いていない現時点ですら色々な無理が生じています。産業界からの要請で進められているこの手の改革が、逆に産業の基 (もとい) を危うくする方向に少しずつ、しかし確実に作用しているという皮肉。本来であれば、技術・経済が発展した社会では、その構成員のひとりひとりが、それぞれに抜きん出て高度な教育を施されなければいけない (そうでなければ、社会に対してわずかの貢献もできなくなってしまう) わけですが、そうした認識が根付くのはまだまだ先の話のようです。

Re2: 「技術者余り」が起こるのかな? ( 投稿者: nsdt <lo46as67ETep9> )

> 市場では技術者の「買い占め」が起きています

直接、大学や研究室や先生方に、企業から人を紹介してくれるように来たりしているのを見たことがあります。大手がヘッドハントしたりして、人が足りないのだとか。

> 一般的な開発現場においては、そうした「人材」に対するニーズは殆どありません

そうした人材を選別できる目を持つ人が十分にいるということですね。それならば、余るかもしれません。

しかし、頭数をそろえる、という指示がどこからか出るのではないかな。意志に反して。そして、人の数自体が減っている。
良い技術者が他から仕事を奪う速度が勝つということかな。

Re3: 「技術者余り」が起こるのかな? ( 投稿者: なりた ) [link]

> 直接、大学や研究室や先生方に、企業から人を紹介してくれるように来たりしているのを見たことがあります。大手がヘッドハントしたりして、人が足りないのだとか。

それは「現在」の状況ですよね。一般に言われている2015年問題 (人手不足) の反動としての技術者余りは、2017~2020年に発生すると言われています。「特需」が終われば、それによって (かろうじて) 仕事にありつけている技術者がダブついてしまうわけです。

> しかし、頭数をそろえる、という指示がどこからか出るのではないかな。意志に反して。そして、人の数自体が減っている。

仕事がなければ頭数を揃える必要はありません。そして市場に供給される人 = (名目上のも含めての) 技術者が増えることは確実。特需が終われば、それによって買い占められていた技術者が仕事のない市場に大量放流されるわけですから。「減っている」のは、あくまで囲い込みが行われている現在の話です。

> そうした人材を選別できる目を持つ人が十分にいるということですね。それならば、余るかもしれません。

仕事そのものがなくなる (絶対量が減る) ため、企業は優秀か否かに関わらず、技術者の採用を手控えるようになります。つまり、まともなスキルを持っていたとしても、仕事にありつくことが難しい時期がくるわけです。もちろん、優秀な技術者を雇い入れ、そのスキルを活用して新しい事業を展開していくことは考えられますが、それは企業として大きなリスクを伴う決定であるため、市場の趨勢を変えるほどの規模での新規採用はまったく期待できません。それらの事業が軌道に乗れば、「その他」の技術者の雇用にも繋がるかもしれませんが、それまでには少なくとも数年のラグがあります。

実際のところ、どれだけの人員が余るのか。頓挫した特許庁のシステム開発を例に取ると、

(2/2) 政府システム調達、失敗の本質 - 55億円無駄に、特許庁の失敗 : ITpro
http://itpro.nikkeibp.co.jp/article/COLUMN/20121204/441882/?ST=system&P=2
> 東芝ソリューションは現行の業務フローを文書化するため、2007年5月までに450人体制に増強した。だが、現行業務の把握に手間取り、作業が遅延した。
> 東芝ソリューションは遅れを取り戻すため、2008年には1100~1300人体制にまで増員した。人材派遣会社や協力会社を通じて、大量の人材を集めたという。これが、さらなる混乱をもたらした。

こんな具合に、そもそも必要であると見積もられた人員に、それを遥かに上回る1000人規模の追加投入が行われたわけです。(余談になりますが、そんな頭数を投入された現場がどうなるか─全体の何割が意味のある作業に当たれるか、は想像に難くないですよね。)

現在行われているマイナンバー関連開発 (中央だけでなく全国各地の自治体でもそれぞれ行われている) や、大手銀行のシステム刷新では、これ以上の数の「本来は必要ない」人員が投入されていると考えるのが妥当でしょう。つまり、全国で数千人、下手をすれば数万人にも及ぶ規模です。これが少しずつジワジワと放流されるのであればまだ良いのですが、抱え込まれているのはそもそも過剰な人員なので、開発業務に区切りが付いた時点で一斉に契約終了とされるはず。その全てが技術者ということはないにしても、これだけの人材の放流を受け止めるだけのバッファが市場にあると期待するのは無理が過ぎます。

「オリンピック特需でなんとかなるのでは」という楽観的な観測もあるようですが、コンピュータ・システムに対する直接的な需要ではないので、おそらく期待するほどの足しにはならないでしょう。
投稿者
URI
メールアドレス
表題
本文