SIerで働いており、ほぼ未経験の駆け出しエンジニアと同レベルの私が、Pythonを使っている自社内開発企業へエンジニア転職するまでにやったことなどを紹介します!!!
みなさん。ごきげんよう。Kazuritsarです。
以前の投稿からまたずいぶん時間が経ってしまいましたね。
みなさんはこのコロナの環境下、いかがお過ごしでしょうか。
私は完全リモートということが追い風になってか勉強・転職活動といったことに専念しておりました。この一年間は一回も外に遊びに行ってないですね(笑)
ということで、無事に転職活動も終わったので、転職活動の経緯とどんな準備をしていたかなどをざっと紹介していきます!!!
SIerから自社開発企業への転職!!ほぼ未経験からのPythonエンジニア
そもそも、転職活動をしようと思ったのは2020年の4月くらいです。
ちなみにこれが人生初の転職です。(もうすぐ社会人5年目)
理由としてはエンジニアとしての仕事からはかなりかけ外れていたからです。
入社してすぐにインドで駐在をしているときはNode.jsを用いたWeb開発のプロジェクトで開発業務をさせてもらえていたんですが、日本に帰国してからアサインされたプロジェクトでは要件定義や上流工程のような仕事をさせられていました。
そもそも、プロジェクトアサイン時にDeveloperとしてアサインされたはずなのに、なぜかBusiness Analystのようなことをさせられていたという謎。
このままではエンジニアとしてのキャリアを進めていけないと焦りを感じました。
私のような状況にある人がSIer(もしかしたらSESにも?)にはたくさんいらっしゃいます。
もし、この記事を見ている学生やエンジニア志望の人がいたら声を大にして言います。SIerはやめときなさい。SIerで開発業務をしている人はいなくはないですが、正直なところ、運がかなり良い人たちです。世間の方々は場所は関係ないといいますが、大ありです。環境・上司が全てです。企業の大小ではありません。
自社開発企業のエンジニアになるために準備したこと
さて、実際に転職活動をする前に、ある程度準備をしないといけません。
私はほぼ未経験レベルのエンジニアですので、準備にもそれなりに時間を要しました。
準備した内容としては以下になります。(順番もそのままです)
- Pythonの学習(3か月)
- Django(Django Rest Framework)の学習(1か月)
- ポートフォリオの作成(1か月)
- 履歴書・職務経歴書の作成(1~2週間)
- 競技プログラミングの練習(転職活動を始めた最初の数か月)
ここに書いてある内容以外でもDockerやAWSを勉強していましたが、ポートフォリオにも入れていませんでしたし、面接のときにすこし勉強していると伝えたくらいだったので、あまり転職活動には必要なかったと思い、除外しておきました。
また、JavaScriptのフレームワークに関しては転職前には何も勉強していませんでした。というのは、会社によってVueであったり、Reactだったりと、まちまちなので入社が決まってから勉強しようと決めていました。
実際、素のJavaScriptの理解をしっかりしておけば、フレームワークはすぐにキャッチアップできると思います。
ちなみに入社先の会社ではVueを使用するそうなので、現在は下記のMaximilianさんのUdemyの講座で勉強しています。
Pythonの学習で使用した教材
Pythonの学習に関しては、かの有名なシリコンバレーエンジニアの酒井さんのUdemyの講座を使用させていただきました。この講座と公式のドキュメントを読んでいけば大体のことが網羅されています。非同期処理、テスト、コード規約やプロジェクトの練習課題等、内容盛りだくさんであるため、完了させるのに3か月ほどかかりました。
これ以外にも転職活動後半の時には同じく酒井さんのアルゴリズムとデータ構造の講座も受講させていただいておりました。Udemyの講座をいくつも受けたことがある方ならきっと共感していただけると思いますが、酒井さんのコードは本当に奇麗ですし、説明もわかりやすく、質問にも丁寧に答えてくださいます。
最近はPythonの書籍も買おうかなとか考えたりもしていますが、必要性をあまり感じていないのでまだ買ってないです笑
正直Pythonに関しての学習は酒井さんの講座一択です!!!
Django(Django Rest Framework)の学習で使用した教材
DjangoとDjango Rest Frameworkに関してもUdemyの講座を使用しました。初心者にとってはどちらも悪くない内容なのかなと思ました。Django Rest Frameworkに関しては日本語の講座が一つもなかったので英語のものを購入しました。英語のものでも初心者向けのものはほぼ皆無でしたが、何とかインド人講師の講座でそれなりに学習できたかなと思います。(自分はインド英語にだいぶ慣れてるなと学習しながら思ってました笑)
ただ、Djangoに関してはこの講座を終えた後に違う講師の人が出したものがよさげだったため、今度時間があるときにそちらの講座も受講しようかなと考えています。
しかしながら、ここまで紹介したDjangoとDjnago Rest FrameworkのUdemy講座だけだとかなり物足りない感があると思います。実際、私も現在そう感じています。ですのでなにか良い書籍がないか探していたら良さげなものが4冊あったので紹介しておきます。
ポートフォリオ作成はあまり意味がない?
上記のpythonとDjangoの学習がある程度終わったらポートフォリオづくりに入りました。とはいえ、一からデザインをやってなどできるはずもないのでYoutubeやUdemyで作成したものを自身で改良するという方向性にしました。
実際3つくらい用意しておきましたが、これまで受けてきた企業の中でポートフォリオに関して聞かれた会社は1割未満です。もちろん転職求人サイトのプロフィール欄に載せておいたので見てくださっているかもしれませんが、面接中にそれが話題になったことはなかったです。
ちまたではポートフォリオがすべてだといっているインフルエンサーや未経験エンジニアがいますが、正直応募者によるのではないかと思っています。つまり、今まで業務でプログラミングしたことがまったくないという人は絶対必要だと思いますが、SIerやSES出身でまだまだ未経験レベルとあまり変わらない人でも実務でプログラミングを使ったという経歴がある人はポートフォリオというよりはそちらの実務の内容を面接では詳しく聞かれると思います。
よく考えれば当たり前だと思いますが、完全未経験の人はこれまでのエンジニアとしての指標が全くないわけですから、学習してきたことやポートフォリオに関して聞くしかないですよね。一方、エンジニアとして実務で少しでもなにかをしていればそこを中心的に聞かれるのは当たり前ですよね。まあ、SIerやSESでまったくエンジニア的なことをしなかった場合はポートフォリオに力を入れざる負えませんが、、、、
ポートフォリオに関する見解はこんな感じですかね。
履歴書・職務経歴書の作成方法
履歴書と職務経歴書の作成はネット上にあった大手の求人サイトが掲載しているエンジニア用のテンプレートを用いました。ネットでググれば簡単に手に入ります。
ただ、自分で作成した後にそのまま応募先にそれを送ってはいけません!!!応募する前にプロの方にチェックしてもらいましょう。
後で紹介する大手の転職エージェントは求職者が作成した履歴書と職務経歴書を無料で添削してくれます。もちろん、そちらの大手の転職サイトから応募することを前提にしていますが、絶対というわけではありませんので、そこはうまく活用させていただきましょう。(私は実際にいくつか大手エージェントを通して応募はしました。)
添削後、修正して再度見てもらい、問題がないようであれば実際に下記にまとめたエンジニア転職のための求人サイトから応募しましょう!!!
競技プログラミングの練習ってする必要あるの?
結論からいうと、選考の過程で競技プログラミングのような課題を課している企業を受けるのであれば必要ですが、現在の日本のほとんどのベンチャー企業では必要ないと思います。ほとんどの企業が未経験者に課しているのはポートフォリオですね。
しかし、最近ポートフォリオはすばらしいけど、入社して実際に業務をしたところ、たいしてコード書けないじゃないかということがけっこうあるという話をちらっと聞いたので、もしかすると日本もこれからアメリカのようにエンジニアの実力をしっかり見極めるという意味で競技プログラミングのような課題が増えてくる可能性は十分ありそうですね。
個人的にはエンジニアの実力はコピーし放題のポートフォリオより競技プログラミングで測った方がいいと思いますし、そうするべきだと思います。
エンジニア転職のために使った転職サイト・エージェント
私が主に利用した転職サイトは以下の2つです。
これ以外では、いくつか転職エージェントを利用しましたが、正直あまりお勧めはしません。先ほども言ったように、転職エージェントは履歴書・職務経歴書を添削してもらうために利用するだけに留めておくのが良いかもしれないです。(別に使いたい人は使っても全然問題ないと思いますよ!!)
面接は大体一日に2~3社ほど受けておりました。ちなにですが、WantedlyとGreen経由でそれぞれ1社ずつ内定をいただきました。
転職活動をして思ったこと
結局、転職活動を半年くらいしていましたが、技術力があっても、CTOの考えにマッチしないと落とされることもありますし(コーディングテスト受かったのに最終で落とされました)、技術力が足りなくて落とされることも当然あります。また、人員の空き状況など様々な要素が関係してきます。
つまり、私が言いたいのは、面接で受かろうが、落とされようが一喜一憂するなということです。全然内定がもらえなくても勉強しながら根気よく続けていけば何とかなります。
今やっている仕事を辞めて勉強に集中し、そのあと転職活動をしようとする人がちらほらいますが、意味が分かりません。自分で自分の首を絞め、とる必要のないリスクをとることに何の意味があるのでしょうか。
仕事をしつつ、やるべきこととしては、プログラミングの学習と並行して、これまで自身が携わってきたエンジニア業務の分析です。面接で聞かれるのはここがメインです。
ここをしっかり答えることができれば大抵の面接はうまくいくと思っています。
さて、これでお伝えしたかったことは以上ですが、多少は皆さんのエンジニア転職の一助になれたでしょうか。
自分も転職活動中になんども心が折れそうになりましたが、評価というものは評価する人が変われば結果も変わってきます。アドバイスは受けつつも、思いつめることなく、ひたすら前を向いて頑張りましょう。
皆さんの転職活動がうまくいくことを祈っています!!!