下請けとは発注者から直接受注された仕事を小分けにしたものを請け負うことで、これが2次、3次と何重にもなっている状態です。たいていは元請となる大手SIerが要件を定義し概要の設計を行います。それに沿って2次請けが開発など作業するのですが、この際に自社で賄えないことを外部委託します。その相手となる3次請けであるフリーランスなどが再び同じように再委託を繰り返すことで、ピラミッド構造が形成されています。
多重下請け構造の問題として対価が適切でない、使い捨てのように扱われる、エンジニアを育てられない、法的にぎりぎりの4つがあります。それぞれについて説明していきます。1つめの対価が適切でないことについて、想像し易いですが、中間業者がたくさん介入するためビラミッド構造の下層に行くほど報酬が少なくなります。また、外部委託が専門的・技術的なものでないことが多く、人材の確保のためにより安い業者が選ばれやすいのです。したがって、下請け業者としては給与を安くせざるを得ないのもこれを助長しています。2つめに使い捨てのように扱われるですが、下請け業者が工場のラインのような位置づけにあることが原因です。特にSI業界においては、設計と実際に作業する人を完全に分け、設計の段階で誰にでもできるようなレベルの作業のみにしてしまい人を集めやすいようにしています。そのため、エンジニアが交換可能なパーツであるかのように扱われてしまうのです。このような認識から、長時間労働や不明瞭な指示、パワハラなどが発生しています。同じ賃金なら、とできる人にばかり仕事が集中しているのも現状です。3つめはエンジニアを育てられないということについては、前述のように与えられる仕事が高度ではなく個人の能力が育ちません。さらに、分業により全体像が見えないため何をやっているのか分からず作業することも少なくありません。誰でも作業ができるようにしているということが最もレベルの低いエンジニアに標準を合わせている環境を作り出しているといえます。そして4つめ法的にぎりぎりであるということですが、労働基準法や職業安定法で禁止されている多重派遣まがいのことが行われており社会問題となっています。業務委託であれば、労働搾取とはとられないので違反ではありませんが、実態として多重派遣のような環境で仕事をいている人が多くいます。IT業界ではうつ病発生率が他の業界の倍以上と言われていますが、これらの問題点に起因しているように思えてしまいます。
上で述べた問題点の原因として考えられるのは、雇用流動性やITに対する理解度の低さだと思います。まず雇用流動性ですが、これは日本では雇用主側がなかなか解雇することができないため、一時的な人員のニーズに対応できないということがあります。また、ユーザー企業のITへの理解度が低いのも多重下請け構造を助長していると思います。情報システム部の社内での地位が低いと優秀な人材が集まらず内部で賄えないため、外部発注してしまうのです。これらの結果として多重下請け構造にならざるを得なかったのが、これまでの業界の状況だといえます。これからもIT人材への需要は加速していくことが予測されるので、今後海外の安い労働力に置き換えられるのも時間の問題だと思います。
プログラミングが早い人、ただ早いだけではなく本サイトのテーマの通り、生産性の高いプログラマの特徴を紹介します。生産性の高いプログラマは、広い視野を持って全体を俯瞰しています。目の前にあるコードだけを見るのではなく、最終的な完成形の一部としてプログラムを捉えられるかどうかで、その完成度には違いがでます。コードを書く速度はとにかく毎日書くことにつきます。毎日書いて、かつ、公開することがポイントです。
システム開発プロジェクトにおいて生産性向上をめざすにあたっては、陥りがちな落とし穴にも気をつけなければなりません。仕様も納期も決められた中での開発なのか、開発しながら仕様を決めるケースなのかによっても、生産性向上のための選択は変わります。目的に合わせたものを採用すること、トップダウンで決定しないこと、導入コストを考えること、そして導入後の現状確認を怠らないことが、落とし穴を避ける秘訣です。
プロマネという道を選択したがために、好きなコーディングがなかなかできなくなってしまい不満があるなら、プログラマに戻り、転職やフリーランスへの転身を考えてみるのも一つの手です。ただし、どちらにしても本当に自分がやりたいことを実現できるのかどうかを見極めて行動に移しましょう。転職の場合は選考の時点で確認を行い、フリーランスの場合は目的や方向性がマッチするようであれば多くの案件をこなし、場数を踏んで実績を積みましょう。