技術力無くてもエンジニアとして活躍できる理由!
はじめに
エンジニアって技術力が高ければいけないってほとんどの方が思っていますが、
実際そうでもないです。(無さすぎはやばいですが)
そもそもエンジニアって聞くとプログラミングをする人ってイメージですが、
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点を意識して取り組むべきです。
協調性があること
技術を使ってどう会社に貢献できるか
技術ばかりやったりしてアピールしてしまうとどうなるか
このチャンネルで出演されている技術力が高いフルスタックエンジニア(バック、フロント、インフラ全部対応できる)の方です。
普通に考えたらどこも欲しいとなりますが、不採用でした。理由はこの動画を見てみてください。SNSやエージェント、SESの営業がフルスタック目指そう‼︎、経験年数や上流工程が大事だとか言ってますが、この辺の意見は無視してください。実際に採用やっている人やCTOの方の意見を参考にしてください。
「最新技術を常にキャッチアップしろ」ってよく言われるけど?
結論すぐにキャッチアップできなくてもいいと思います。
理由は、情報が少ないから企業もすぐに導入しないからです。
2、3年は様子を見たりしますし、採用しないパターンもあります。
そもそも扱えるエンジニアがいないから採用コストがかかってしまいます。
最新技術入れなくても、売上が上がるなら無理に工数をかける必要はないです。
言語やフレームワークもビジネスの方針で決まっているのがほとんどです。
2024年は開発業務が楽になってきたのもいろんな先人たちのおかげ、いろんな情報の宝庫になっているにもかかわらず、
無理な情報が少ない最新技術を導入しまくるみたいなことは必要ないと思います。
報酬が高いお金持ちの企業って必ずしも最新技術導入していないです‼︎
求人票見てもらえればわかります。
ex)
ChatWork(別にNext.jsやGoは使っていないですよ)
この案件Rubyしか使ってないですよね?
レバテックフリーランスの案件検索より引用
Discussion