これなんなん?

こんにちは、都内でフリーランスエンジニアをしつつ、MENTAやスクールでメンターとしても働いてる者です。
スクールも含めると40人以上のメンティさんを対応してきましたが、お話聞いてて「ちょっと実際のエンジニアとイメージ違うなあ」と思ったことを書きます。

勘違い項目

イメージこんな感じでフワッと思ってる人が多い印象です。違ったらすいません。

  • プログラミングできればやっていける
  • 大事なのは実装力
  • SESより自社開発の方が良い
  • エンジニアは市場価値が高い
  • ポートフォリオの良し悪しで転職先が決まる

ここからは個別に解説していきます。

プログラミングできればやっていける

残念ながら プログラミングはプログラマの仕事の一部 でしかありません。
まず、仕様を理解した上で要望が実現可能か、もしくは適切な要望か判定する所から始まります。要するに調査です。
また、プログラミング以外のスキル、例えば、SQL, Git, Linuxコマンド, Docker, etc.... を駆使して自分で諸々整備する必要があります。
そして、何より大事なのはコミュニケーション能力です。相手の意見を聞き取り、自分の意見を認識齟齬なく伝えることのできる能力ですね。これもやってみるととても難しいです。慣れって感じ。

大事なのは実装力

さっきも言いましたが、仕事内容では調査も結構多いです。
コマンド叩いたり、クエリ流したり、リクエスト送ったりなどなど、実装力はその一部分でしかありません。
あと、実装力とは書く能力だと思われてる人が多いですが、それも違います。書く能力読む能力です。とりわけ現場入るとすげえ他人の書いたコードを読みます。これが予想以上に難しいので、是非とも今の内に練習しておいてください。

SESより自社開発の方が良い

これ一番質問受ける項目の1つですが、ぶっちゃけ関係ないですね。
SESだろうが自社開発だろうがやる事は同じです。開発作業です。

例えば、LINEの開発したいからLINE株式会社に入社したい!だったら120%理解できますが。自社開発ならどこでもいいって意見はよく分かりません。
あと、福利厚生やお給料に関しても違いはないです。おそらく、ネットの記事で比較対象にされてる企業がめちゃくちゃデカイとこばっかだから勘違いが多いのかなーと思いますが。

因みに、正社員での入社が難しい企業もSESなら割と簡単に入れたりしますよ。

エンジニアは市場価値が高い

(3〜5年以上の開発経験のある30代までの)エンジニアは市場価値が高い、ですね。
エージェントで正社員やってた時期もあるんですが、このフィルタは以前からほぼ変わってないそうです。
さらに言うと、上記の条件に該当していざ現場に入って働き出しても、求められたアウトプットを出せないと、わかりやすくシビアな評価をされます。まあ、これはどこの職種でも同じだとは思いますが、エンジニアだとそれが徹頭徹尾理詰めなので、苦手な人は辛いかも。

ポートフォリオの良し悪しで転職先が決まる

良し悪しの基準にもよりますが、おそらくあんま関係ないです。
現場の採用してるエンジニアさんともお話しますが、ポートフォリオはガッツリは見ないってパターンがそこそこあります。

じゃあポートフォリオの何見てるの?って話ですが、多かったのが下記ですね。なぜかと言うと3分くらいあれば確認できるから。

  • READMEをちゃんと書いてるか?
  • テストコード書いてるか?
  • Modelやライブラリに処理を記載しているか?
  • gitやGitHubの最低限の使い方を理解しているか?

ここにプラスアルファで、AWS使ってるか、Docker使ってるか、CircleCI使ってるかなどを見てます。これらもリポジトリ見ればすぐ分かるので。
あと、ポートフォリオは就職するためではなくて、自分の学習のまとめと言う側面が強い事を意識して取り組んだ方がいいです。ここら辺は別の投稿でしっかり話したいなーと思います。

まとめ

いかがでしたでしょうか?
偉そうに語りましたが、僕自身が文系出身で新卒からテキトーにエンジニアやってる人間なんで、まあまあ偏りもあると思います。
初学者の方の参考程度になれば幸いです。