paiza開発日誌

IT/Webエンジニア向け総合求人・学習サービス「paiza」(https://paiza.jp ギノ株式会社)の開発者が開発の事、プログラミングネタ、ITエンジニアの転職などについて書いています。

20代のエンジニアが初めての転職でつまずきやすい点と3つのやるべき事

f:id:paiza:20161209203306j:plain
Photo by Student Government

f:id:paiza:20140916135428p:plainこんにちは、今回は谷口がお送りします。

初めて転職をするときは、色々と悩みや不安が尽きないもの。これから転職しようかと考えているITエンジニアの皆さんの中には、

  • 転職には興味があるけど何をしたらいいのか分からない!
  • 転職ってネガティブなイメージがある!
  • 不安、とにかく漠然と不安!

というようなことを考えてしまい、なかなか最初の一歩が踏み出せないという方も多いのではないでしょうか。

すぐに転職をするしないに関わらず、自分のキャリアを考えるのに、早すぎるということはありません。

今回は、転職経験のある30代のベテランエンジニア達に、自分の若かった頃を思い返してみて、「転職未経験のITエンジニアが20代のうちに何をしておくとよいか」を聞いてきました。また、そこから見えてきた、若いITエンジニア達が「つまずきやすいこと」についてもお話ししたいと思います。

■転職初心者のITエンジニアがつまずきがちな1つのこと

転職を考える多くのITエンジニアが、最初に陥りやすい、かつ最大の落とし穴は

「色々考えているうちに年をとってしまうこと」です。

エンジニアの転職市場は、30歳ぐらいが現実的な1つ目のボーダーラインとなってきます。あなたがSIerからweb開発に転向するエンジニアだとしましょう。あなたがまだ20代であれば、企業も「教育して育てよう」という目で見てくれますが、30代になってしまうと、多くの企業は「既に同様のweb開発経験がある即戦力」を求めてきます。

もしあなたが、漠然とした不安を抱えたまま何となく年をとっていき、気が付いたら30歳をすぎていた……やっぱりここから新しい分野に転職がしたい……と思っても、望むような求人案件は、20代の頃と比べてガクンと少なくなっています。新しい業界、未経験の技術にチャレンジするなど、様々な経験を積みたいのであれば、20代でそれをどう実現するかを設計していく必要が有ります。

さらに35歳を過ぎたころが、2つ目のボーダーラインとなります。企業はあなたに対し、「マネジメント能力」「ある技術に特化した専門性」「これまで成功した事の再現」「事業インパクト」など、何か抜きんでた経験やスキルといったベテラン要素を求めてきます。そのため、30代は専門性を高め、経験を深めながら、他の人には負けない『何か』を作る事が重要になります。

20代の頃にはこういう事をまったく知らなかった、あの頃に戻って当時の自分にこの話を伝えたいというエンジニアが何名も居ました。

◆社内異動という手もある

ただ、転職はあくまでも自分の望むキャリアを手に入れる為、もしくは市場価値を高める為の手段です。若いうちは与えられた仕事をこなすのに精一杯で、やりたい仕事があれば手を挙げて掴みに行ったり、そもそもやりたい仕事を自分で作り出したりすれば良いというこを知らなかったりします。

転職せずに1つの企業でずっと働いていく場合でも、新しい部署やプロダクトには積極的に携わるようにし、日々の情報収集も怠らないようにすることで、感度の高いエンジニアでいることが出来ます。そうする事で、社内異動のような形で、より自分がやりたい事に近づいていくという方法も有ります。

実際の企業でも、ヤフーでは、3年に一度は部署を異動するジョブローテーション制度を2013年から採用することで、メンバーが特定の部署に囲い込まれることを防いでおり、様々な技術にふれて成長する機会を、会社の仕組みとして作り出しているのが伺えます。確かに一つの業務にしか携わらず、新しい環境や技術にも触れずにいるようでは、最新技術や業界の動向に対応できない価値の低いエンジニアになってしまいます。

転職するしないに関わらず、ITエンジニアとして第一線で活躍し続けるには、常に自分の市場価値を意識しながら仕事に取り組んでいくことがとても重要になります。

■ITエンジニアが20代のうちにやった方がいい3つのこと

f:id:paiza:20161209203455j:plain
Photo by Sage Ross

◆情報収集をする

◇なぜ情報収集が必要なの?

新卒で入った最初の企業では、仕事を覚えるのに必死で、外の世界にまで目が向かない事が多いと思います。しかし、20代の早い段階から社外にも目を向け、自分のキャリアについて考えていくためには、情報収集がとても大切となります。

転職しようとしまいと、大勢の人の中で働いている以上、職業人は常に競争にさらされています。その中で生き残る為には、「自分の立ち位置を知る事」が何にもおいて重要になります。

自分は何が優れていて、何が苦手なのかが解らなければ、自分に適した仕事へたどり着く事も出来ないですし、転職時にアピールする事も出来ません。ましてや、何を勉強すれば自分の価値をより高められるのかも分からないでしょう。

世の中における「自分の立ち位置」は、社内に居るだけでは知る事ができません。例えば、同じ20代のITエンジニアがどんな仕事をしているのか?どのようなバリューを発揮しているのか?業界が変わるとどう評価が変わるのか?一流と呼ばれている人達は何を考えているのか?などなど、様々な人達の働き方、価値観、評価のされ方に触れ、比較する事で、初めて自分が業界の中でどんなレベルなのか?という事がわかります

例えばあなたが転職(社内異動等でも同様です)を思い立った時、周りには同様の転職希望者がたくさんいます。あなたが1つの企業に応募すれば、採用担当者は当然ながら他の多くの応募者達とあなたを比較します。その際に、業界の中で自分のレベルが高いのか低いのかも分からなければ、何をアピールすれば良いのか見当もつかないでしょう。こういった情報格差は、とくに転職という戦いの中では不利な状況を招きます。転職市場では、多くの有効な情報を持っているということが非常に重要なのです。

◇どうやって情報収集したらいいの?

すぐにできて、かつ有益な情報が得られる情報収集の方法として、「人が書いているブログを読む」「転職した人の話を聞く」「勉強会に参加する」が挙げられます。


・ブログを読む

まず「ブログ」ですが、今や、地方の人、都心の人、理系出身者、文系出身者、業界に精通している人、起業した人、転職活動中の人、転職に成功した人、失敗した人……ありとあらゆる人がネット上に記事を書いています。

普通に生活していたら接触することもない人達の体験談や、業界の情報が得られるブログを活用しない手はありません。

企業や業界動向の記事を読み続けているうちに、「今後はこの分野がきそう」「自分もこういう開発がしたい」といった自分のキャリアの軸や目標がより明確になっていくことでしょう。

参考になるブログをいくつかご紹介しておきます。

ワザノバ | wazanova
POSTD | プログラミングの話題を翻訳して届けるエンジニアのためのニュースメディア
脱社畜ブログ
アンカテ
モチベーションは楽しさ創造から


・転職した人の話を聞く

「実際に転職した人」は、さらにリアルな情報をくれます。

今や転職は珍しいことではありません。探せばお友達にも1人くらいは転職経験者がいるはずです。

彼らがなぜ転職をしようと思ったか、転職してみてどうだったか、どのようなスキルが転職後も役立ったかなど、気になることをぜひ聞いてみましょう。特に、転職でハッピーになった人であればあるほど、気持ちよくその時の話をしてくれるでしょう。初めての転職だと「転職はネガティブなもの」「転職は逃げなのではないか?」と思ってしまう事も有るかと思いますが、経験者にその辺りについても聞いてみると、世界が開けると思います。

また、具体的な話になりますが、特に初めて転職する方は、応募書類の作成で迷うことが多いと思います。転職したお友達が「選考に通ったときの書類」というのは、1杯2杯奢ってでも見せてもらう価値があると思います。(私も初めての転職の際は、友人が見せてくれた書類が大変参考になりました)

人の職務経歴書を知る事は、もし転職しなくとも「どういうアピールポイントがあると市場価値が高まるのか」を知る事が出来るため、キャリアを考える上ではとても有効です。

また、そうは言っても友達も忙しくて予定が合わないという人や、そもそも友達がいないという人のために、CoffeeMeeting[コーヒーミーティング]というサービスをご紹介しておきます。コーヒーミーティングは、「コーヒー1杯を飲む時間を一緒に過ごしたい人と出会うためのサービス」とされ、話したいネタをタグで分類した登録ユーザーから、自分がミーティングしたい人を選び、折り合いがつけばカフェなどで会って話をすることができるというマッチングサービスです。

こういったサービスをうまく利用して、転職経験のあるエンジニアや、興味がある分野のエンジニアに話を聞いてみるのも良いでしょう。


・勉強会に参加する

「勉強会に参加する」というのも、自分のレベル感や市場価値を知る良いきっかけとなります。

そもそも自分は他社でも通用する人間なのか?他社のエンジニアはどんな開発をして何を考えているのか?というようなことは、ずっと1つの会社で働いているだけでは、なかなか分からないことです。

そんな時に、勉強会やその後の懇親会といった場に参加すると、自分のレベル感や他のエンジニアとの距離感を感じ取ることができます。懇親会のような場が苦手であれば、初めは何となく人の横にいて話を聞いているだけでも、得るものは多いでしょう。

他社のエンジニアとの接触は、自分を見つめなおすのに役立ちます。他の人と比べて、自分が劣っているな、知識が足りないな……と感じることがあれば、そこを勉強して補強することができます。逆に、自分の方が優れているな、周りは大したことないな……と感じることがあれば、それは転職活動等の場で、自分のアピールポイントとなります。

勉強会に行ったら、憧れの企業のエンジニアがいたりして、話が聞けるようなチャンスもたくさん有ります。自分を客観的に評価するのはなかなか難しいことですが、勉強会に参加して、他のエンジニアや企業との距離感をつかむことは、自分の強みや弱みを洗い出す際の指標となります。

ちなみに、具体的に自分のプログラミングスキルのレベルが知りたい、他社でも通用するのか知りたいという人は、paizaスキルチェック問題を解いてみるのも一つの手です。回答によってレベルが判定され、書類選考がパスできる企業を知る事ができます。

ここまで読んで、「そんなに自力で情報収集しなきゃいけないの?」「転職エージェントに登録したら情報くれるんじゃないの?」と思った方もいるかもしれません。

確かに転職エージェントは転職活動を手伝ってくれますが、彼らは開発技術に精通しているわけではありませんので、ITエンジニアが知りたいような技術レベル面の話を分かってもらうのは難しいことです。エージェントに登録したものの、志向と合わないような企業への応募を勧められるばかりで、思うような情報が得られなかったというエンジニアの声をよく聞きます。そのため、まずは自分で情報収集をしていった方がよいでしょう。

◆勉強をする

◇何で勉強した方がいいの?

ITエンジニアとして、基本的に勉強をしないのは論外だとは思います。しかし、20代の頃はキャリアなんてよくわからないし、社外の人との交流も少ない……という人が多く、そうすると自分のレベルも分からず、勉強するモチベーションも余り高くないという事がありがちです。

しかし、上記の様に情報収集をしていると、自分が進みたい方向や興味のある分野が見えてきたり、自分は他のエンジニアと比べて知識が足りないと感じるようになるでしょう。

そういった知識は、自分で積極的に勉強して習得していく必要があります。

今後やってみたい開発環境の勉強をして、一通り動くものを最後まで作ってみたり、アプリをリリースしてみたり……というところまでができていれば、単純に自分のできる事が増えますし、転職や転属の際にはよいアピール材料にもなります。

具体的には、例えば今までsymfonyを使っていたエンジニアがCakePHPで開発をしている企業を受ける場合なら、「自分でCakePHPを使ってみたが、symfonyとはこういうところが違うと感じた」ぐらいのことを言える程度には、事前に勉強をしておいた方が良いでしょう。

採用現場で「○○(開発環境など)に興味はありますか?」という質問に「あります!」と答えたエンジニアに対し、「じゃあどんな勉強してるの?」と突っ込むと、「いえ、勉強は特にまだ何も……」と答える人が非常に多くいます。「興味はあるけど勉強していない」のと、「全く興味がない」のは、「何もしていない」という意味においては同じことです。

このような質問に「勉強していない」と答えるエンジニアと「実際に自分でこのようなシステムを作ってみました」と答えるエンジニアでは、どちらの方が印象がよいかは火を見るよりも明らかです。

学習に関しては、paizaでもラーニング問題を用意しております。面倒な環境構築をしなくても、コーディングをしたらすぐに動かせるオンライン学習システムですので、ぜひお試しください。

◆自分のスキルの棚卸しをする

転職でもしないと、なかなか自分のキャリアについて棚卸しをする事は有りません。しかし、自分のキャリアを考えるに当たって、一度自分のスキルや経験を棚卸しして客観的に見ることは、20代の頃から定期的にやっておいた方が良いでしょう

これまでのあなたが、どんな環境で、何のシステムの、どの工程を、どんなチームで、どれくらい作ってきたか、何が大変だったか……今までの業務経験全てを思い出して書き出してみましょう。これは自分のキャリアを見直すのにとても役立ちますので、転職をしない人も是非やった方が良いと思います。

その上で、企業の求人に応募する際は、募集要項に合わせて自分と企業の接点になりそうなところを重点的に掘り下げ、アピールポイントとする必要があります。

例えば、「Rubyの開発者が欲しい」という企業に応募するのであれば、Rubyで開発をした業務経験をアピールする必要があります。他言語での開発経験があったとしても、さらっと触れる程度でよいかもしれません。

また、別の企業で「チームリーダーの経験がある人が欲しい」という求人に応募するのであれば、チームリーダーとしての経験を重点的に書くとよいでしょう。新人の頃に経験したような業務に関しては、職務経歴書等でも1行ぐらいの表記でよいかもしれません。

職務経歴書でも面接の受け答えでも、自分の経歴やスキルと企業が求める人材の「接点」を意識することが大切なのです。

まれに、この「接点」を間違えてしまう人がいます。

Rubyの開発者を求めているのに、長くやっていたからといってC言語での開発経験ばかりを語られても、採用担当者は「この人は違うな……」となってしまいますし、給与計算システムを作っている企業だからといって「経理にも興味があります!」と言われても、「エンジニアが欲しいんだけど……」となってしまいます。(極端な例ですが、以前似たような受け答えをしたエンジニアが実際にいました……)

自分と企業の接点を見つけるには、その企業の情報収集をすることがとても重要になります。企業情報をほとんど調べずに受けた面接には必ず落ちたが、企業情報をよく調べるようになったら通るようになったと、私のとなりのエンジニアが言っていたのがとても印象的でした。孫子は「彼を知り己を知れば百戦殆からず。」という言葉を残していますが、面接でもまったく同じ事が言えます。

求人票や企業HPに載っている情報だけでなく、例えばweb開発やアプリ開発をしている企業であれば、それらを実際に触っておくことも、最低限の情報収集と言えます。さらに、「実際に使ってみて、良いサービスだと思ったが、ここは自分だったらこう作った方が良いと考えた」という提案までができると、熱意も伝わりやすくなるでしょう。

■まとめ

ITエンジニアにとって大切なことは、「どこの会社で働くか」ではなくて「何を作るか」だと思います。転職活動とは、より充実したエンジニアライフを送れる舞台を探すための活動の一つですから、決してネガティブなものではありません。

そして、前半にも書きましたが、必ずしも転職することが正しいわけではなく、社内転属や、自らやりたい仕事を作っていくという方法も有ります。

常に目の前の仕事に対して、「これは外から見たらどんな仕事なのか?」「この仕事で人にアピールできるのはどんな点か?」という目線を持って取り組んでいくことは、転職をするしないに関わらず、自分のエンジニアとしての価値を客観的に把握し、高めるためには大切なことです。

そして、情報収集をして、業界の動向を追いかけること、自分が行きたい方向を定め、自分のレベルの底上げを図っていくことが、自分の望むキャリアを築いて行く上で、とても重要な行為なのだと思います。

最後に、転職活動に役に立ちそうな記事をいくつかご紹介しておきます。

プログラマが抑えるべき10個の転職ノウハウ | ITプログラマー・エンジニア転職のpaiza
面接官は何を見ている?面接の前にチェックしたいエントリー集 - はてなニュース
就活での志望動機が思いつかないときの回答方法(例文つき) | nanapi [ナナピ]
プログラマーの力量を見極める--面接官になったら尋ねるべき質問実例集 - ZDNet Japan
面接はスキル!転職時の面接でよく聞かれる23の質問とその対処方法 | コリス
「わたしは選ばれない」という絶望と、その対応策 - インターネットの備忘録




paizaではスキルのあるエンジニアがきちんと評価されるようにし、技術を追い続ける事が仕事につながるようにする事で、日本のITエンジニアの地位向上を図っていければと考えています。特にpaizaではWebサービス提供企業などでもとめられる、システム開発力や、テストケースを想定できるかの力(テストコードを書く力)などが問われる問題を出題しています。

テストの結果によりS,A,B,C,D,Eの6段階でランクが分かります。自分のプログラミングスキルを客観的に知りたいという方は是非チャレンジしてみてください。

http://paiza.jp


プログラミング入門講座|paizaラーニング

PHP入門編Ruby入門編Python入門編Java入門編JavaScript入門編C言語入門編C#入門編アルゴリズム入門編