はじめに
この記事はNuco Advent Calendar 2022の2日目の記事です。
なぜ記事を書こうと思ったか
未経験からエンジニア転職をして早2年になりました。この2年間で、ダッシュボード作成などのデータ分析業務、Webアプリケーション開発業務、機械学習モデル開発業務など、たくさんのプロジェクトに携わってきました。
また、この1年は採用にも携わらせていただくという貴重な経験をさせてもらっております。非常に濃密な2年間だったので振り返りもかねて、開発経験や、採用活動の中で感じたことを改めてまとめてみようと思います。
あくまでも採用担当の1人として個人的に感じていること、考えていることなので、弊社を代表してのものでないことをご留意いただけますと幸いです。
なぜ未経験エンジニアを採用するのか?
世の中にごまんとあるIT企業(ちらっとググったところ4万3000社くらいみたい)は、なぜ未経験のエンジニアを採用するのでしょうか?
一から教えるとなると、経験者のエンジニアと同程度まで稼げるようになるまで時間がかかるため、普通に考えて経験者を採用する方がベターな選択のように思えます。(というか自分は昔そう思ってました)
そんな中で、【未経験歓迎】と銘打って求人を出している会社の心理は、大きく下記の2つかなと思います。どちらかだけという0と100ではなくて、グラデーションはありますが、多かれ少なかれ思っていることだと思います。
理由① 経験者が採用できないから仕方なく
まず根本的に人が足りません。エンジニアは需要が供給を上回っているため、エンジニアは基本的に重宝されます。
よく引用されている図ではありますが、国が公表しているIT系人材の推移予想です。2022年においても30万人程度不足していると予想されています。
(参考:IT人材白書2020/独立行政法人情報処理推進機構社会基盤センター)
しかも今後さらに需要が高まり、供給が追いつかない状況が続いていきそうです。
本心では経験者採用を取りたいが、止むを得ず未経験エンジニアを採用している会社もたくさんあることと思います。
理由② 未経験者の伸び代に期待している
他職種を経験してからエンジニアになった方が大成する
と個人的に思っています。(もちろん全員ではないですし、条件付きではありますが)
というのも、
「エンジニアとしての優秀さ」=「専門知識(技術力)」×「ビジネス力」
だと思っているからです。
「ビジネス力」にはいくつか意味を含めているので、後ほど詳しく書きますが、イメージ湧きやすい例としては「コミュニケーション力」です。
エンジニアという仕事は「コミュニケーション力」を伸ばすのには向いていない、かつ、「コミュニケーション力」の平均値が低い業界です。(あくまで個人的な所感です)
営業などの職種と比較すると圧倒的にコミュニケーションの頻度は少ないですし、求められるレベルも高くありません。「コミュニケーション力が苦手だからエンジニアになった」という人もいたりします。
そして、
「コミュニケーション力」と「技術力」で言えば、圧倒的に「技術力」の方が後から身につけやすいです(もちろんどちらも早いほど良いですが)。
また変な癖がついてしまうと、それを修正するのは難しいので、「技術を一から学ぶこと」と、「コミュニケーション力の癖を直す」のであれば、「技術を一から学ぶこと」の方が何倍も簡単です。
最初の1,2年はもちろん、実務経験者の方が会社の売り上げに貢献してくれるかもしれません。が、2年3年して技術力がしっかりと伴ってきたときには、未経験社が経験者を追い抜くことも決して珍しくありません。
「そんな伸び代いっぱいの未経験者と出会いたい!」と思いながら、採用活動やっております。
具体的にどんなことを未経験エンジニアに期待しているのか?を以下まとめてみました。
①エンジニア適正がある
どの職種にも言えることだと思いますが、エンジニアにも向いている人と向いていない人がいます。自分は、営業にはあまり向いていなかったけれど、エンジニアには向いていたのだなと、両方経験したからこそ感じるポイントがあります。
もちろん、向き不向き関係なく、抜きんでた努力をすれば結果は出ると思います。
この記事では 「向いている」=「同じくらいの苦労で人よりも成果を出せる」 と捉えていただければ幸いです。
学ぶことが好き
これにyesと言えない人は、正直エンジニアになることはお勧めできません。
学ぶことを楽しいと思えるか、大変なことと思うかで、この仕事の大変さはかなり変わります。「エンジニアを続けていること」と、「学び続けていくこと」とは、切っても切り離せません。
常に技術が進歩しているIT業界において、学ぶことをやめて立ち止まってしまうと、数年で置いていかれてしまいかねません。
学ぶことが得意
好きなだけでは物事上手くいきません。野球が死ぬほど好きでもプロ野球選手になれるのは一握りです。活躍できるエンジニアになるためには、「学ぶのが好き」だけでなくて、「学ぶのが得意」であることが大切です。
もちろん、これは質より量でカバーできるものではあると思います。しかし、学ぶ効率が3倍差があると、3倍の時間勉強が必要になります。学生時代ならまだしも、社会人として仕事をしながら、人の3倍学ぶというのは非常にストイックさが必須になります。
受験勉強をが頑張ってきた人や、難しい資格試験のために努力してきた人などは、「学ぶのが得意」である割合が高いと思います。自分も、何の意味があったのだろうと思った時期もあった「受験勉強」ですが、エンジニアになってからは、あの努力は無駄ではなかったと改めて感じます。
論理的思考力がある
プログラミングをするにあたって、論理的思考力は欠かすことができません。
パソコンは非常に優秀ではあるものの、「言われたことしかできない」という欠点があります。そのため、どのパターンはどうするかということを漏れなく、適切に指示をする必要があります。人と仕事をしていると、論理の欠落や飛びがあっても、よしなに理解してくれて大事に至りませんが、ことプログラミングに関してはロジックに欠陥があると、100%バグになります。
論理的思考力も、もちろん社会人になってからも伸ばせるものだとは思います。が、20年以上かけて積み上げてきた土台を逆転するのはかなり大変です。もし苦手という自覚があるのであれば、それなりの努力をする覚悟を持ってチャレンジするのをお勧めします。
②自走力がある
当たり前のことですが、未経験からエンジニアになるというのは大変です。
もちろん年齢にもよりますが、大学を卒業して何年も実務経験を積んでいる人、あるいは大学入学時から勉強している人がライバルになります。
だからこそ、自分で考えて自分で動いていける人でないと、エンジニア転職を成功させるのは困難です。
環境のせいにしない
面接をしていると、何かと理由はありながら「まだ動けていない」という人が数多くいます。
本当にやむを得ない人もいますが、条件が整えていないと動き出せないという発想だと、未経験からエンジニアになるのは結構難しいなと感じます。
全ての環境が整うということは基本的にほとんどありません。条件が整わない中で、試行錯誤してどうやって自分の目指すところに近づいていくか。それを考えるのが大切であり、実際に転職してエンジニアになってからも非常に大切な力だと思います。
できない理由を探すのではなくて、どうやったらできるかを考える。そういった思考法がある人であれば、未経験からエンジニアに転職しても必ず上手くいくと思います。
自分を客観的に見れる
自分の状況を客観的にみて、自分が次にどう行動するべきかを考える。自分は何が得意で、何が苦手なのかを理解する。周りを見て自分のやるべきことを考えられる。こういった力は非常に大切です。
「1から10まで教えてもらえる」と思うのは、新卒ならまだしも、転職するにあたってはかなりリスキーな発想です。大の大人に対して、一つ一つ丁寧に教えてくれる企業はそう多くないですし、冷静に企業の立場に立ったときに、自分で自分のやるべきことを見つけていける人と、常に指示を待っている人とのどちらが魅力に写るかを考えると、答えはいうまでもないでしょう。
もちろん、分からないことは質問するのは良いことですし、何も助けてもらえないと思う必要はありません。ただ、自分の頭で悩みもせずに与えてもらうまで待つという発想だと上手くいかないのは間違い無いです。
目標達成できる
自分で決めたこと、チームとして決めたことを達成することに拘れるかどうか。これも仕事をする上で非常に大事なポイントです。「何かアクシデントがあったら、完了できなくても仕方ない」という人と、「何かアクシデントがあったとしても、なんとしても完了できるように進めよう」という発想の人とで、天と地ほどの差があります。
自分が誰かに大切な仕事を頼むとして、どちらの考え方をしている人にお願いしたいかを想像すると、議論にもなりません。
自分が、一緒に仕事をしたいと思える人になる。
エンジニアに限らず、仕事をする上で非常に大切な発想ですし、そうした意識を持つことができるかどうかで、仕事の質は自ずと変わってきます。
逆に言えば、そういった発想で仕事をしている人は、職種が変わったとしても成果を出せると思いますし、何より一緒に働きたいと思います。選考をしている中では、必ずしもエンジニアとしてのエピソードを求めているわけではなく、どんな仕事にも通じる部分のことをアピールすることも非常に大切になってきます。
③ビジネス力がある
ビジネス力がある。これは非常に多様な要素を含んでいるなと思いつつ、この表現にしました。
エンジニアという職種は、技術力がものをいうようなイメージがあると思います。(実際自分も転職するまではそう思っていました)ただ、実際にエンジニアになってみると、思っていた以上にビジネス力が大切です。
どれだけ技術力があっても、ビジネス力がないことで宝の持ち腐れになっている人を数多く見てきました。わかりやすい例で言うと、クライアントの意図を汲み取り切らずに実装を進めた結果、1ヶ月かけて実装したものが丸ごと無駄になったということもあります。vsクライアントもそうですし、チーム内でのコミュニケーションというのは避けては通れないものになります。そこをしっかりとやってこそ一流のエンジニアになっていけるなと、この業界に飛び込んで改めて感じます。
コミュニケーション力
幸い(?)なことにエンジニア業界は、コミュニケーションが苦手な人が結構多いです。技術力さえあれば、コミュニケーションが苦手でもある程度のアウトプットを出すことができます。ただ、そういった業界だからこそ、コミュニケーション力がある人の需要は他の業界と比較しても、非常に高いです。
自分も営業職だった前職では、周りと比較して劣っているなと自覚していたコミュニケーション力でしたが、転職してからは平均よりも上位にいるなと思ったりします。技術的に未熟ではあるものの、10年以上エンジニアをしている人よりも、プロジェクトへの貢献度を評価してもらった経験もあります。
コミュニケーションというと、「面白い話ができる」とイメージする人もいるかと思いますが、仕事で必要なコミュニケーション力は少し違います。
- 「専門的な知識を、平易な言葉にしてわかりやすく伝えること」
- 「相手の考えていることを想像して、言語化してあげること」
- 「クライアント、チームから求められている動きをすること」
など、「相手の立場に立って考えられる」 というのが、コミュニケーション力の根幹だと思います。
タスク管理力
タスクの優先度をつけて、いつまでに何をやるべきかを整理できる。
これも非常に大切な能力です。
仕事というのは、締め切りに間に合わせられなかったら、何の価値もありません。
W杯用のスタジアムを作っているのに、開催終了してからスタジアムが完成しても何の価値も提供できません。
タスクを期限内に終わらせるために、適切なタイミングで質問したり、相談したりできるというのは、非常に大切な力です。
エンジニアになりたての頃は特に、どれだけ時間を欠けても十分なアウトプットをするのが難しかったりします。
そういったときに、自分からSOSを発信して、ちゃんとタスクを完了していくというのは、非常に大切になります。
問題解決力
エンジニアという仕事は、自分の知っている範囲で仕事が完結することはほとんどありません。
自分が過去に経験したことのない技術を活用することが避けられない場面も多々あります。
未知の問題に対して、どのようにして情報を収集して、どのように解決していくのか。
暗記している量よりも、こうした問題に対してどうやって解決していけるか。そこを考えられる力は大切です。
エンジニアという職業だからこそ、問題にどう立ち向かって、どうやって解決していくか。ここが仕事ができるかどうかの大きな分岐点になりえます。
「論理的思考力がある」というのは、この問題解決するために必要な力でもあります。
まとめ ~未経験エンジニアが最強~
つらつらと思っていることを書いてきました。
結局何が言いたいのか?何を伝えたかったかというと、
「未経験から転職するのは非常に良い」
ということです。
もちろん、決して楽な道ではありませんし、「必ずうまくいく」とは言えません。
ただ、上記に書いてきたような要素が少なからずある人は、胸を張ってお勧めします。
弊社は、将来的なポテンシャルを見て、経験者に拘らず未経験者でも採用をしています。半分近くは文系出身であり、情報系の学部だった人はほとんどいません。
そんな中で、各プロジェクトで評価してもらい、順調に仕事を増やしていけているのは、単純な技術力に加えてプラスアルファの部分が大きいです。
おわりに
アドベンツカレンダーの3日目は、【まとめ】クラウドデータベース・データウェアハウスを網羅的に紹介です!ぜひこちらも読んでみてください!
弊社では、実務経験の有無を問わず、社員やインターン生の採用を行っています。
興味のある方はこちらをご覧ください!