彼氏をWebエンジニアにする方法

はじめまして。表題の通り、エンジニア未経験の彼氏を、約半年で自社開発のフロントエンドエンジニアとして転職成功させたときのノウハウを公開します。(駆け出しエンジニアの方の参考にもなるかと!)

背景:前職が大手Slerなのですが、長時間労働なのにスキルが身につかない状況で苦しんでいました。レガシーからの脱却と、コードがかける環境を求めていたのでWeb業界を勧めた次第です。

1. プログラミングは楽しいと洗脳する。

「できた、楽しい!」と思わせ、成功体験を積むことが初心者にとってはすごく大事。なぜなら学習意欲につながるから。

なお初っ端で多くの初心者が「プログラミングは難しいもの」と思い込んでしまい、離脱してしまいがちです。その要因としては、わからないと悩む時間、エラー、環境構築、Git、強い人のマサカリなどが挙げられるかと思います。

なのでまずはそれらを除外して学べるものとして以下がおすすめです。
・Progateで楽しさに気づいてもらう
・ドットインストールでProgateの復習や知識の穴埋めをする

2. 勉強方法や転職までの道筋を早めに確定させる

勉強法や転職までの道筋などはネットに情報がゴロゴロ転がっているし、私自身も一生懸命伝えたものの、初心者の方だと本当にそれでいいのか悩んだり、不安に思う人が多かったです。彼氏以外でも転職希望者のほとんどが該当する気がする。

悩んだ結果、違う道を突っ走ったり、中途半端に手当たり次第に手をつけたり、悩みながらふわふわ勉強する時間がもったいない。早めに正しい道を確定させて、悩んでいる間に手を動かしたほうが圧倒的に早い。

とりあえず、サポーターズの転職希望者向けの勉強会と面談のリンクをLINEで送るなどして勧め、外部の人に勉強の進め方などについて説得力を補強してもらいました。

こんな感じの勉強会がたくさん開催されております

私が事前に伝えていた一例が以下です


・勉強の流れの大枠
①Progate
②何らかのカリキュラム通り作る
③オリジナルサービス作成

・言語等の勉強順
①HTML/CSS
②プログラミング言語のうちとりあえず1つ(Ruby、PHP、Javascriptなど)

③上記で学んだ言語のフレームワークのうち、とりあえず1つ(Rails、Laravel、Vue.jsなど)
※①はとりあえず手っ取り早くプログラミングの楽しさに気づいてもらうために最初に配置。②の段階において個人的には(転職希望の初学者に)PythonやGoはあまりおすすめしません

・覚えたことや勉強した記録をTwitterやQiitaで発信する
※GithubやQiita、Twitterアカウントを面接で見せることが多いのでコンテンツを充実させる

なお、外部で紹介されている例や、エンジニア志望の人と関わる上で、進め方はだいたい上記のままでよいとわかったようです。

ただ多くのエンジニア志望の人が"エンジニアになるならプログラミングスクールに行かなきゃ!"と思っており、それに影響されて帰ってきたので、まず上記手順で勉強してみて、つまづいたら(スクールを)考えよう!とアドバイスしていました。

正しい勉強の道筋の指示とモチベーション管理、エンジニアに質問できるということ以外は、市販の教材と大差ないので、その部分はMENTAなどに委託すれば、個人的にはスクール不要派です。

勉強会の楽しさにも気づいたようで、その後も勉強会にたくさん行くようになったのはいい習慣。サポーターズの勉強会は駆け出しエンジニアの方が多いので参加ハードル低めかと思う。(※ただ最近マルチ勧誘が多めのようなので注意)

3. progateを早々に卒業させる

まだ理解してないから!とprogateをもう一周やり始めようとしたので、「まず流れがわかれば大丈夫!」とprogate内ではなく、自分のPCでプロダクトを作ることを勧めました。(完全に理解するまで何周もしてたらなかなか前に進めず、理解もできず、飽きてしまいがちなので。)なお以下カリキュラムをやることでprogate内でわかってなかったことも補填されるはず。

・最近だとUdemy
・jsならN予備校という選択肢も(サーバーサイドも関心がある方向け)
※Rails チュートリアルも一応

なお、いきなりRailsチュートリアルだと、ボリュームが多くとっつきにくいのであんまりおすすめしないです。彼氏はjsの基礎を一通り終えてる他、フロントエンドかサーバーサイドで迷っていたのでどちらにもいきやすいjsで、初心者にも優しいN予備校を勧めました。(過去のインターン先のCTOがN予備校を激推ししてたこともあり)

独学派の人もこの段階でMENTAなどを利用して、わからない部分をメンターに聞くと効率いいと思う。

※一応私もメンターとして登録してます
https://menta.work/plan/724

こちらの招待リンクから登録して契約すると500円割引されます↓


4. ポートフォリオを難しく考えすぎない

初心者の方はここで一番つまづく気がする。自分で1から作らなくてはならないと思い込んでいたり、世の中にまだないようなプロダクトじゃないと!と何を作るかで迷っている印象がある。

私的には3の過程で作ってきたカリキュラム通りのプロダクトをまずは改変するといった内容で最初は十分なように思う。

たとえば新しい機能を足したり、使いづらい部分を直したりなど。

またサーバーサイドの場合、「何か投稿して表示させる」といった機能が大方なので、3で作ったサービスをベースにして別のサービスに作り変えてしまってもいいと思う。

世の中にありふれたようなサービスも、ちょっとの工夫でオリジナルさがでるので、あんまり難しく考えないでほしいなと思う

5. まだ意思が固まってない状態や未熟なままでも面談、面接に突撃させる

内定までが早かったのはこの要素が大きいかと。目標達成までの差分とその道筋がリアルになります。実力がついてから面接にいくと初動が遅いのであらかじめ面接慣れをしておくとよいです。足らざるを知ってから足りない部分だけを埋めにいくほうが効率良くないですか?

自作のサービスが1つでもあればもう十分面接に行けると思います。

例えば履歴書を書くときに、書ける実績がないことに気づいたり、技術面接で技術力の不足に気づいたりできるかと。

※面接対策を早い段階で無理やりにでもやっておくと、面接が怖くなくなると就活時に自分も体感したことから。

6. チーム開発を経験させる

これも初学者の人だとだいぶハードルが高く感じられるかと思うのですが、週末ハッカソンのやさしいものに参加すれば、これはわりと簡単に達成できるかと思います。はじめてのハッカソンやサポーターズ企画のものがおすすめ。
https://はじめてのハッカソン.com

また可能であればgitを使って、ブランチの切り方やコンフリクトの直し方などもチーム開発を通じて学べるとよいです。

初心者のプログラミング教育でよく省かれがちなgitですが、現場では必須の知識なので、使えないとまずいかと思います。また、面接で「チーム開発の経験はありますか?」と私の場合かなり聞かれました。チーム開発だとそのときの立ち振る舞いで実務での傾向もわかるからでしょうか。

gitがわかるようになればgithubにプロダクトをあげて面接官に見てもらえるようにもなります。

チーム開発を通じて作成したものをポートフォリオに含めて、自分の役割と作った部分をアピールすれば面接でも使えます。経験上、初回はだいたいうまくいかないので複数参加するとよいです。

最後に

私のタイムライン上で多くの駆け出しエンジニアの方が就活に苦戦しているので、上記以外の内容でなぜ彼氏の場合内定が早かったのか考えてみました。

1, 比較的ブルーオーシャンな領域
正直駆け出しエンジニアが学ぶ上で、Railsはだいぶレッドオーシャンなので、フロントエンドエンジニアを狙いに行くという選択がよかったように思います。

2, 業務で多少触っていたこと
会社のプロジェクトでVueを多少使っていたり、インフラ周りの知識があったのでそれもプラスに働いたのかと思います。スクール以外に自分の会社で技術力が身につきそうな機会があれば積極的に活用するといいと思います。

3, ポテンシャルを面接官に感じさせたこと
私も就活していてとても感じたのですが、面接で見るのは現時点の技術力ではなく、これから伸びるかどうかというポテンシャルです。SNSでのアウトプットやポートフォリオにおける工夫した点の語り方などで「技術が好きかどうか」といったポテンシャルが伝わるかと思います。

読んでいただきありがとうございました!
駆け出しエンジニアの皆様の転職の成功をお祈りしております🙏

また面接対策はぜひこちらの記事を見てみてください!


サポートは書籍や勉強会参加費に活用させていただきます。学んできたことを記事にしたいと思います!