地方エンジニアが感じる地方・中小企業での悩み

当然のようにある淘汰

»

 ここ何年かでよく言われるようになったことの1つに、「プログラマは将来不要になる」というものがあるかと思います。

 高度に発達したフレームワークなどの効果で、1からスクラッチで組み上げることはかなり減少し、必要とされるスキルは「パーツを組み合わせて目的を達成するようなアプリケーションを組む能力」と言われています。そのように言われてけっこうな時間が過ぎてはいますが、まだそこまでの事態には至っていません。

 ですが、わたしは向かう方向性として上記のような世界はいつか訪れるものだと感じています。それが来年なのか再来年なのか、はたまた 10 年後なのか 20 年後なのかは分かりませんが。

 思想としての SaaSや徐々に地盤が整いつつあるクラウド、そして既に高度に発達しているフレームワーク。事実として、10 年前に記述していたプログラムと今同じ用件を満たすプログラムを作成した場合、その効果は歴然と目に見えてきます。

 レスポンスをさほど気にしないのであれば、データベースからデータを抽出する場合、 SQL 文を記述する必要はほとんどありません。ハードの進化も手伝って、極限までのチューニングを行わずとも、相当のレスポンスを発揮させられているのです。例えば、 5 年ほど前に作成したシステムを、現在のハードウェアで動作させると、ものすごく実感できます。チューニングを行う必要性は、かなり薄まってきているのです。

 このような流れがある以上、今後求められていく人材像として、ハイレベルと一般的レベルの二極化が進むことは十分にあり得ます。ミドルレベルに位置する多くの人材は、今後それほど必要とされない可能性が高いのです。そしてこれは人材に限った話ではありません。

 ユーザーが求める企業というのも、同じように二極化されていくことが予想できます。現にシステムやソリューションの提供価格は年々下がる一方で、反対に求められる納期は短縮される傾向が強いことは、皆さんご承知のところと思います。この流れはそうそう簡単に変わりそうにはありません。

 考えられるのは、一般的な価格で提供される一般的なシステムはどこの企業に発注してもよく、より高度なより専門的なシステムを求める際にのみ、高額でも技術力のある企業が求められるという形です。

 いま、システムの作成やソリューションの提供を行っている企業に勤めている方は、改めて周囲の状況を見回してください。自分たちが提供しているものと同じようなものが、別企業から提供されていませんか。そうであれば、いまあなたたちがいる立ち位置は、間違いなく特別なものではありません。別の企業でも可能な、一般的なシステム・ソリューションなのです。

 このように競争が発生した場合、多くの企業は価格で差をつけようとしています。また購入する側のユーザーとしても、価格で発注先を決めてしまう傾向が強いと思われます。こうなってしまっている以上、そうそう簡単に負のスパイラルから逃れることはできないでしょう。価格以外の何かで競合する企業よりも優位に立てなければ、待ち受けるのは破滅です。体力勝負に陥ってしまえば、大企業に敵う道理はありません。

 そのような状況になった際に求められるのは、「価格以外に価値を生み出せる人材」です。普通にプログラムが組める、普通にシステムが設計できる程度の人材は、企業にとって負担にしかならなくなるでしょう。

 そうなると企業が求める人材というのは上記で述べたように二極化してしまうことは、想像に難くありません。今できているから、と安心したところで来年同じようにできるかと言われれば誰も分からないのです。

 そうなった際に慌てたところで、後の祭です。価格以上の価値を提供できなければ、購入するユーザーはほとんど存在しません。そのようなシステムしか作ることのできない人材を、どこが雇ってくれるのでしょうか。また独立したとしても、価値を提供できないのであれば誰が相手をしてくれるのでしょうか。

 いまに始まったことではありませんが、IT業界には特に秀でたところを持たない人材や企業の割合が非常に高いと思います。言い換えれば、供給過多な状態だと思います。さまざまな要因から発生している不景気ですが、年々企業が破綻し人員があぶれているのは、不景気だけが原因ではないと考えます。ユーザー側が求める企業数と比較して、存在する企業数が多すぎるのです。それと同じくらいに人員数も多すぎるのだと感じます。

 この御時世というのもあり、明日は我が身なのはわたしも同じです。ただそうだからといって何もしないのではなく、何か人と違う、他の人よりも優れている点を身に付けて、自身の力をさらに磨きあげる必要があるとわたしは思います。

 それは何も技術だけの話ではありません。問題点に対する対策を考える力もあるでしょうし、丁寧なサポートというのもあります。ものを作ることだけが、この業界に求められているのではないのです。

 自分がユーザーだとして、どの程度までであればお金を払って仕事を頼みたいか、どの程度までいろいろこなせる人がいてほしいと思うのか。そこが見えれば、今の自分に不足しているものが見えれば、自ずとどうしなければいけないかは見えてくると思います。不足している点が見えたけど、どうすればよいのかが分からない。それでも構わないと思います。今の自分はいろいろ不足しているのですから、方法が見つかるとは限らないでしょう。

 ただそれでも。

 何も考えず日々を過ごしているだけの人たちに比べれば、遥かに真剣です。前を見ているのであれば、少しずつでも進めるのと思います。そうでない人たちは、厳しい言い方ですが淘汰される流れから逃れることはできないだろう、わたしはそのように考えています。努力している人でさえ報われるとは限りません。それであれば努力しなかった人にはたとえどうなろうと文句を言う権利はないのではないでしょうか。

Comment(7)

コメント

とくめい

記事一覧の紹介文て手書きなんでしょうか?
本文は「組み上げる」
一覧の見出しは「汲み上げる」
どっちかが何時こっそり直したのかわかりませんけど、なんか微妙ですよね。。。

とくめい

うわ、レス投稿したとたん直ってる。ま、なによりです。
誤植って結構気になりますし。

Ahf

ご指摘ありがとうございます。

私の方では特に修正を行っていないので、編集部側で対応してくれたのだと思います。推敲不足で申し訳ありません。

としろう

「パーツを組み合わせて目的を達成するようなアプリケーションを組む能力」
というの自身が今の高級言語である程度のフレームワーク上でプログラム作成と
作り方が低級言語からIDE利用での高級言語での作成への変遷と
ある意味大差無いのではないかとも思います。
そして、パーツを組み合わせるにしても、SEが設計するのと同じく
パーツの動作を理解している人間にしか本当に必要な物は作れない。
その意味で大きな変化ではないとも言えるのではないかと思っています。

今までエンドユーザにも~出来ますみたいなのは沢山ありましたが
結局エンドユーザに開発者に近い能力が無ければ
見栄えというレイアウト関連以外で十分有効活用できたと言えないように思います。
エンドユーザ自身のレベルアップが無い限り仕事は無くならないのでは。

まるーん3

プログラマが不要になることはまだ無いと思いますが、スーパープログラマでもない限り、単品で食える時代はすでに終わったのではないかと感じています。
としろうさんが仰るように、エンドユーザーが専門職以外でスキルアップすることはまあ無いとしても、いま以上の安価で関係会社で競争させ、相見積で決めた会社に一括発注することはありえます。小さいパイのとり合いですね。
我々のような中小のエンジニアが生き残るには分業化をやめ、小規模なチームとして提案・営業から提供までをプロデュースしてチームごとに粗利を稼ぐという世界に突入していかなければならないと思います。つまり分担はあるにせよ、チーム全員がSIするということですね。
社会全体が不景気で顧客の予算は絞られそうですから、出来ない人を含めた人月換算では自社に大きな負担を掛けることになりそうです。
こういう案件が増えると従業員の質が問題になります。チャレンジ(学習)しない人が多い会社は必然的に大赤字を出すか、下請けとして厳しい契約で安くこき使われるかしかないので、徐々に淘汰されていくのではないでしょうか。

Ahf

遅くなりましたが、としろうさん、まるーん3さん、コメントありがとうございます。

>結局エンドユーザに開発者に近い能力が無ければ
>見栄えというレイアウト関連以外で十分有効活用できたと言えないように
>思います。エンドユーザ自身のレベルアップが無い限り
>仕事は無くならないのでは。
(としろうさん)

実際にエンドユーザーがそのレベルまでたどり着くのは難しい、というよりも「ほぼない」と私も思っています。「パーツを組み合わせる」事でアプリケーションを作成できるようになった際には、開発側に影響が大きくでるのだと考えています。

今後さらに短時間で一定以上の品質を持つAPが作成可能となった場合、仕事量自体は変化なくともそこにかかる時間は恐らく減少していくと思います。
そうなると今までより多くの仕事を扱えるようになり(金額的には恐らく下がる)、会社によっては仕事が回ってこないという状況にはなりえるのではないか、と私は感じています。

>我々のような中小のエンジニアが生き残るには分業化をやめ、小規模なチームと
>して提案・営業から提供までをプロデュースしてチームごとに粗利を稼ぐと
>いう世界に突入していかなければならないと思います。
>つまり分担はあるにせよ、チーム全員がSIするということですね。
(まるーん3さん)

チーム全体でSIできるようになるというのは、難易度が高いですが非常に魅力的ですね。今後はそのような形式が求められる場面が増えそうに思います。

もちろん、それについてこれないチーム・企業は・・・というところです。

ニート3世

「レスポンスをさほど気にしないのであれば、データベースからデータを抽出する場合、 SQL 文を記述する必要はほとんどありません。ハードの進化も手伝って~チューニングを行う必要性は、かなり薄まってきているのです。」
とのことですが、その意見には賛成しかねます。
RDBMSは構造的に、組み合わせ爆発という問題と常に隣り合わせであり
不適切なIO処理処理による時間的発散と、ハード性能による時間短縮は、
現時点ではオーダーまるっきりが違うように思います。
そういう意味で、チューニングの必要性は、10年ほど前から実はあまり変化が無いように思います。

コメントを投稿する