はじめに
エンジニアって技術力が高ければいけないってほとんどの方が思っていますが、
実際そうでもないです。(無さすぎはやばいですが)
そもそもエンジニアって聞くとプログラミングをする人ってイメージですが、
1つ質問します。
「Reactが書ける、Goが書ける」これだけで収入上がると思いますか。
そもそも上の2つができたらなんで収入が上がるか説明できますか。
自分の答えはNoでした。
その前にほとんどのエンジニア、エージェント、SESの営業もわかっていないです。
参考資料
エンジニアのキャリアの考えの現状
経験が5年くらいある先輩エンジニアが
「バックエンド、フロントエンド、AWSができたら収入めっちゃ上がるよね‼︎」
と話されてましたが、自分は「上のことができたらそもそもなんで収入上がるんですか?」
ってお話をしても実際わからないとお話されてました。
なぜフルスタックになるといいのかもわからずにフルスタック目指せという風潮があるのですね。
じゃあなんなんだよ‼︎ってなりますよね。
利益を上げるために動けるエンジニアが強い
結論、プログラミングがいっぱい書けるかではなく、利益貢献できるかです。
ほとんどのエンジニアは、面接ではこんな感じです。
「Reactできます」
「Rails3年やっています」
「上流工程やっています」
「フルスタック目指してます」
「Laravelやりたいです」
こんな感じです。これでは、会社にどう会社に貢献できるかを話していないですよね。
大事なのは、技術を使ってどう会社に貢献するかです。
こういう観点で動いているエンジニアが少ない印象です。
そもそも仕事でお金をもらうにも関わらず、自分のキャリアとかやりたい技術ばかり話すエンジニアが多いのが現状です。
利益とはそもそも何か
利益ってそもそもどうやって出るのでしょうか。(自社開発を想定)
利益は以下の2つです。
- 売上を上げる
-
経費を下げる
ちなみにエンジニアはどちらで貢献できそうでしょうか。
エンジニアの場合は、経費を下げることに力を入れていくべきだと思います。
売上を上げるはどちらかと言えば、マーケターや営業の土俵ですね。
売上を上げることはエンジニアでも活躍はできたりします。
UXの改善や売上を上げるための新機能の追加などもありますが、
誰でもすぐにできるのは経費削減です。
少ない工数でいかに利益を上げるか
エンジニアが考えるべきことは、最新技術を導入しまくろうではなくて、
お金をなるべく使わずに、サービスを作っていくことです。
ここで言うお金はどういう時に発生するでしょうか。
1つは工数です。
開発では、誰でもすぐに理解できて、キャッチアップできて、無駄な工数を省いていかに
利益を上げることができるかという技術選定、設計を考えていく必要があります。
ユーザーはNetflixやAmazonを使う時、何のプログラミング言語使っているか気にしていますか?
「Goだ、Reactだ、AWSだ」とかよくSNSで言われてますが、ユーザーからしたら
NetflixやAmazonがGoで作られていようがどうでも良くないですか。?
Goにしたと言う理由だけで、「はい、売上が倍になりました」とはならないですからね。
売上が上がるかは、技術のレベルじゃないです‼︎
スクールレベルの技術でも成り立っているサービスはある
参考資料に書かれている内容で、入門書レベルでも動くサービスは作れると書かれていましたが、実際に自分が入った現場で、
スクールに毛が生えたレベルの技術でもサービスと稼働していました。
実際どんな感じだったのか
-
現場1
言語Python FastAPI
Pythonって機械学習の案件とかあって
難しそうですが、FastAPIという
フレームワークは初心者向けなので
スクール卒業した人なら対応できるレベルです。実際採用側から現場に入る前は簡単だからNo勉でも大丈夫とか言われました。実際RailsやLaravelの方が難しかったですね。 -
現場2
言語、フレームワーク
Rails
テスト RSpecは自分が参画する少し前に導入したばかりでも動いていた。
GitHubActionsなどCI使わなくても動く
Serviceクラス使わなくても動く
LINEとAPI連携させなくてもサービスとしては成り立っていた。
フロントはReactを使わず、普通のviewでも動いていた。
サービスをシンプルに考えるとテーブルなどのファイルの数が多いだけ
ロジックを複雑にしなくても動く
こんな感じです。最新技術なんか使っていなくてもちゃんと稼働していました。
経費削減するためにできること
何点か挙げてみました。
- 環境構築の時のドキュメント整備(新規参画者がつまらないようにする)
- ミーティングの時の議事録を作る(メンバーで共有できるようにするため)
- コマンド1つでできるようにシェルスクリプトを作成する(無駄なコマンドを打たないようにする)
などなどです。
有名企業も人柄採用になっている
この参考資料のブログを書かれた方がXでツイートされていたのですが、
Netflixの開発チームも人柄優先の採用になったみたいです。
サイバーエージェントやメルカリもいかにミッションドリブンで動けるかを重視されているみたいで、経験何年か、上流工程やっているか、何の言語をやったことあるかは優先順位が低いみたいです。
フルスタックがいいとか言われているけど?
正直話すとフルスタックエンジニアを求めていない会社多いです。
以下の動画は人事をやっている方の動画です。
フルスタックエンジニアになりたいの?無理でしょ!【エンジニア初心者向け】
フルスタックを目指すより以下の2点を意識して取り組むべきです。
協調性があること
技術を使ってどう会社に貢献できるか
逆にフルスタックが欲しいとか即戦力欲しいとか言う現場ってどんな感じ?
この2点です。
お金が儲かっていない会社
単純に全部やって欲しいだけの会社
2だとバックエンド、フロントエンド、インフラ全部できてエンジニアを余計に採用する必要がないから1人で全部お願いして収入が上がったりします。(こんな現場ばかりではないです。)
問題は1です。儲かっていない会社に限って最新技術(GO Next.js Rust Terraformなど)を
やたらとアピールして技術大好きエンジニアを採用しようとします。そして即戦力エンジニア(技術力が高いエンジニア)を欲しがります。
- 自分の体験談
スタートアップで資金力がない会社では、Go、Next.js、Terraform全部やれます‼︎と言っている会社のフリーランスの単価は技術力が高いエンジニアになってもフリーランスで単価50万(フリーランスの平均月収は70万なので平均にも届きません) です。あと自分が経験した現場で、エンジニアを呼び込む目的でGoやReactを採用しようとしていました。自分が受けた現場や月80万以上の単価を取っているエンジニアなど儲かっている企業に限って意外と最新技術使っていないです。
自分はフリーランスで収入上がりましたが(月80万弱)、技術はモダンな技術使っていないです。最新技術でもないですがレガシーな技術でもない現場です。前Next.jsを使っていた現場で今回はReactですが収入上がりました。
モダンな技術、上流工程、経験年数 = 収入が高いではない
良かったらこの動画を見てみてください。これを見ればよくわかると思います。
収入が高い = 企業が儲かっている
収入が低い = 企業が儲かっていない
エンジニアの単価相場は何で決まるのか?技術力や経験年数では決まらない。エージェントも気づいていない真の相場観とは?
技術ばかりやったりしてアピールしてしまうとどうなるか
このチャンネルで出演されている技術力が高いフルスタックエンジニア(バック、フロント、インフラ全部対応できる)の方です。
普通に考えたらどこも欲しいとなりますが、不採用でした。理由はこの動画を見てみてください。SNSやエージェント、SESの営業がフルスタック目指そう‼︎、経験年数や上流工程が大事だとか言ってますが、この辺の意見は無視してください。実際に採用やっている方やCTOの方の意見を参考にしてください。年収チャンネルさんの動画です。
スキルもコミュ力もあるエンジニア。思いがけない事態に|vol.1794
「最新技術を常にキャッチアップしろ」ってよく言われるけど?
結論すぐにキャッチアップできなくてもいいと思います。
理由は、情報が少ないから企業もすぐに導入しないからです。
2、3年は様子を見たりしますし、採用しないパターンもあります。
そもそも扱えるエンジニアがいないから採用コストがかかってしまいます。
最新技術入れなくても、売上が上がるなら無理に工数をかける必要はないです。
言語やフレームワークもビジネスの方針で決まっているのがほとんどです。
2024年は開発業務が楽になってきたのもいろんな先人たちのおかげ、いろんな情報の宝庫になっているにもかかわらず、
無理な情報が少ない最新技術を導入しまくるみたいなことは必要ないと思います。
報酬が高いお金持ちの企業って必ずしも最新技術導入していないです‼︎
求人票見てもらえればわかります。
ex)
ChatWork(別にNext.jsやGoは使っていないですよ)
https://hrmos.co/pages/chatwork/jobs/1020010
この案件Rubyしか使ってないですよね?
レバテックフリーランスの案件検索より引用