kk-web

人生短し考せよお前

2024-02-02

正社員、業務委託を問わずそこそこの数の会社で働いてきた自分ですが。

しばしば「なんでこんなに多くのエンジニアを雇ってるの?」と感じることがあります。


単刀直入に言うなら、どこの現場もエンジニアの数が多すぎるよなぁと。

求人情報や面接を通じてよく思うのですが、社員の数=会社のグレードのように勘違いしている CEO って結構いるよなと。

一方エンジニアの自分としては、スクラム開発などもそこそこ経験してきた上で、少数精鋭のチームのほうが絶対にメリットが大きいよなと。


話は少し変わって、最近関わってきた複数の現場の人事から聞いた話ではあるのですが。

たとえばフロントエンドプログラマーに限った話で言うと、市場に数はいると。

ただ数がいるだけで、採用基準に至るフロントエンドプログラマーは本当にいないとのことでした。

で、多分これはフロントエンドプログラマーに限った話ではないと思うのは言わずもがなだと思いますが。


note や Qiita、Zenn などを見ているとちょくちょく「業界未経験から 3 ヶ月でエンジニアになれました!」みたいな記事が目に付きますが。

普通に考えて、業界未経験の状態からたかだか 3 ヶ月やそこら勉強した素人が書くコードがまともなわけがないのです。

過去の現場でも「ChatGPT で出力したコードをコピペしたから大丈夫なはずです!」みたいなことを平然と言ってくる馬鹿がいましたが、本当にいい加減にしろよと。


もちろん勘違いしてほしくないのですが、確かに 3 ヶ月勉強したらある一定コーディングはできるようになるかもしれません。

ChatGPT が出力したコードをコピペすることが悪いわけではないのです。

大切なことは、その書かれたコードに強力なエビデンスが付与されているかどうかであり、そのエビデンスをエンジニアが理解できているかどうか、そこが非常に重要なわけです。


コーディング然り、スクラム開発然り、採用然り、会社で働く以上はすべての行動に強い理由が必要です。

自分はこのことをよく「正義感」という言葉で説明するのですが。

たとえば先のコードの例でいうと、その書かれたコードが正しいか否か、そこが非常に重要なわけです。

なぜなら、会社で書いたコードは会社の資産なわけです。

つまり正しいコードであれば会社の資産としての価値が上がり、間違ったコードであれば会社の資産としての価値が下がるわけです。

で、資産価値の低いコードというのはいわゆる良くないコードなわけで。

たとえば保守性が低かったり、スパゲッティコードだったり、属人化していたり、こういったコードは会社の資産としての価値が低いわけです。

となると、普通に考えて資産価値が高いコードを納品するエンジニアと資産価値が低いコードを納品するエンジニア。

会社として、どちらのエンジニアのほうが会社にとってメリットを与えてくれるのか、これはもう言わずもがなですよね。


そもそもプログラミングというものは、誰にでもできるものではありません。

最近よく話すたとえとして、たとえば動物園のサルにプログラミングをしろ!といってもできないわけです。

生まれたばかりの赤ん坊にプログラミングをしろ!と言っても同様です、赤ちゃんもプログラミングはできません。

ではなぜ動物園のサルや生まれたばかりの赤ん坊はプログラミングができないのか。

答えは簡単で、プログラミングをするだけの地頭が伴っていないからですね。


ところがこれが大人を相手に考えると、突然その事実を理解できない人がたくさん出てきます。

プログラミングというのは、誰にでもできるものではありません。

ある一定の地頭を持つ必要があり、地頭が良ければ良いほどプログラミングとの親和性が高まってくると個人的には思います。

たとえば自分でいうと、おそらくそこそこの地頭は持ち合わせていると思うので、そこそこのフロントエンドプログラマーにはなれていると思うのですが。

一方で、かなりハイレベルな実装感やロジックの排出となってくると、おそらく自分には荷が重くなってくると思っています。


もちろんプログラマーに求められる能力は地頭だけではありません、これも言うまでもないとは思いますが。

ある一定のコミュニケーション能力や人間性も必要ですし、プロダクトに対する熱意も非常に重要だと思います。

で、これらの能力も皆が皆持ち合わせているものではありません。

なのでこれらの能力を補い合うために複数人が 1 つのチームとして働くわけですが。

当たり前ですが、チーム内の人数が多ければ多いほどコミュニケーションコストがかかるため、結果的に開発速度が落ちていきます


また昨今はアメリカを中心に、開発周りの技術の発展がエグいです、AI という単語もしょっちゅう聞くようになりましたよね。

技術が発展するとどうなるか、今までヒトが手でやらなければいけなかった作業が自動化されてヒトが必要なくなっていくわけです。

ただ発展した技術を扱うために少し高いレベルの知見や理解力が求められることも少なくなく、人員の大幅な削減に至るには少しラグが発生します。

とはいえ基本的に開発のコストは年々下がっているのは事実であり、ヒトを増やすというのはむしろ時代の流れに逆らっているよなぁとしか思えません。


今や令和の時代、平成どころか昭和ですら過去の話です。

にもかかわらず、開発を人海戦術で乗り越えようとしているのは愚の骨頂であり、馬鹿がやることです。

会社においてもっともかかる費用は基本的に人件費なわけで、ここをいかにして下げるか、そこをもっと本気で考える必要があるよなーと。

とくに日本の正社員は終身雇用制度によってクビを切ることが非常に難しいわけで、正社員の採用という行為自体が会社にとっては大きなリスクなわけです。

なのでベンチャー企業などは契約を切りやすい業務委託につい手が伸びがちなのですが、雇われる側もそれを重々承知しているわけで、どうしても熱意や人間性といった部分が欠けてしまうのかなと。

まぁつまり終身雇用制度は本当にクソだゴミだ日本を終わらせる戦犯だと言ってしまえばそれで終わりなのですが、それでは次の一手もクソもないわけで。

正社員の少数精鋭でチームを構成すること、やはりこれに尽きるのかなーと、個人的には強く思う今日このごろです。

© 2018 kk-web