見出し画像

未経験からエンジニア転職を目指す初学者が知っておくべきこと〜【周りと差をつける知識10選+α】〜

はじめに

こんにちは。壮(sew_sou19)と申します。
僕は、コロナ禍で転職市場が冷え込んでいると言われた状況でも、実務未経験からエンジニアとして自社開発企業2社から内定をいただくことができました。

うち1社は社員規模が1,000人を超えるいわゆるメガベンチャー企業で、現在はそこでバックエンドエンジニアとして働いています。

そんな転職活動を通じて感じたのは「情報が何より大事」ということです。

✔︎どういうエンジニアを目指すのか?
✔︎どんな会社で働くのか?働きたいのか?
✔︎どういう行動を取れば内定に近づくのか?

と、「転職で得たい結果」という最重要なことを決めるためにも、情報を知っていると知らないとで判断が大きく変わってきます。

📌 このnoteの対象となる人
一言で言えば「エンジニアへの転職を目指す人全員」です。
・プログラミング勉強開始前、勉強中の人
・ポートフォリオ作成前、作成中の人
・転職活動開始前、転職活動中の人
にとってそれぞれ必要な知識を記載しました。

僕自身、情報を集めながらエンジニアとしてのキャリアを描いていましたが、知れば知るほど「もっと早く知りたかった」というものばかりです。

現に、Twitterで発信すると毎回それなりに反響をいただけました。

僕と同じように未経験からエンジニアを目指す方には、いち早く情報を知って有利に立ち回れるように、知っておくと周りと差をつけられる情報をnoteにまとめました。

【余談】
noteの機能で、右下の スキ (ハートマーク)を押していただくと僕がたまに叫びます(笑)。見てみたい方は試しに押してみてください😇

では早速まとめていきます。

1)WebサイトとWebアプリの違い 

今となってはその違いは当たり前だと思うようになりましたが、勉強を始めた当初はよくわかっていませんでした。自分が進みたい方向(Web制作なのかWeb開発なのか)に関わってくるので、超重要です😇

1-1. Webサイト

・静的なサイト(管理者が更新しない限りは、いつ誰がアクセスしても情報が変わらないサイト)
・企業のコーポレートサイトなどが代表的。いわゆるホームページ
・Webサイトを作ることを「Web制作」と言う
・使用される言語はマークアップ言語(HTML, CSS)とJavaScript
・Webサーバーに公開する
・WordPressやMovable TypeなどのCMS(コンテンツ管理システム)を利用して制作することが多い

1-2. Webアプリ

・動的なサイト(アクセスする人や時間が違うと表示される情報が変わるサイト)
・Twitterとか食べログとかがこれ。いわゆるWebサービス
・会員登録が必要なサービスはほとんどがWebアプリ
・Webアプリを作ることを「Web開発」と言う
・使用される言語はプログラミング言語(Ruby、PHP、Javaなど)
・Webサーバーとアプリケーションサーバー(その中にDB)が必要
・「WebアプリとはDBである」

ネイティブアプリ(iOSやAndroidにインストールして使用するアプリ)と混同させないために"Web"アプリと呼称してます。

2)Webアプリの役割分担

「Webアプリが何か」はなんとなく分かったかと思います。
その上で、「じゃあWebアプリを作るにはどういう役割・職種があるんだろう」と僕は思ったので調べました。

よく「フロントエンド」「バックエンド」と聞く部分はここのことです。

2-1. フロントエンド 

・目に見える部分(UI=User Interface)を実装
・バックエンドの処理で呼ばれた値を受け取って、見た目に反映させる役割
・言語は、HTML、CSS、JavaScriptなど
・HTML、CSSはマークアップ言語と呼ばれる(厳密にはプログラミング言語ではない)
・JavaScript(JS)は、フレームワークやライブラリがたくさんある(ReactやVueなど)。とっつきやすいのはjQuery(ジェイクエリー)。
・モダンな企業で使用されているフレームワークやライブラリはReact(リアクト)やVue(ビュー)が多い
・Angular(アンギュラー)はシェアが低かったり、ちょっとレガシーなイメージ
・jQueryはWeb制作会社でよく使われているイメージ

2-2. バックエンド(サーバーサイドとも言う) 

・動的な処理を実装(動的=ログインする人に応じて表示される内容が異なる、など)
・ユーザーの操作に応じて、必要な情報をDBから取得したり、情報をDBに登録するなどの処理を作る役割
・言語は、Ruby、PHP、Python、Javaなどがある。これらはプログラミング言語と呼ばれる
・多くのスクールが扱うのはRuby(ルビー)。フレームワークはRuby on Rails(ルビーオンレイルズ)
・フレームワークは、「なくてもできるがあると便利な枠組み(フォーマット)」みたいなイメージ 
・ロジックを考えるのが好きな人は向いていると言える
・Webアプリの設計を行う上で、バックエンドの知識は必須

2-3. インフラ 

・作成したWebアプリを配置して、世界に公開するためのもの(厳密には違いますがこのイメージ)
・ここでは「サーバー」だと思っていただいてOK
・サーバーの形態は大きく分けると2種類で、オンプレミスかクラウド
・オンプレミスは、端末本体を自分で購入・用意して使う方式
・クラウドは、端末本体は必要なくて、クラウドサービスを提供しているところと契約して、サーバーが使えるイメージ
・クラウドで有名なのは、AWS(Amazon Web Service)、GCP(Google Cloud Platform) 、Microsoft Azure
・実務で多く使われるのはAWS
・このクラウド上に、Webアプリをデプロイ(配置・公開)すると、インターネット上で閲覧できるようになる

3)IT業界の企業形態

「IT業界の企業形態や職種ってよくわからない!」

僕も最初全く同じことを思っていました。そのため業態と職種に分けて僕なりに調べたことをまとめます。

【業態】:4つに大別します
1. 自社開発企業
2. 受託開発企業
3. SES
4. ITコンサル

3-1. 自社開発企業(Web系)
いわゆるWeb系企業。
大多数がBtoCのサービス(食べログやTwitterなど)で、このnoteを運営するnote株式会社もここに該当します。

・「こういうシステム(サービス)があったら便利では!!」と自社でサービスにして収益化
・自社サービスの開発に携わる
・1→10の経験(既存サービスのグロース・運用)がメイン。0→1もある
■メリット
・裁量が自社にあるため納期等が緩くブラックになりにくい
・働きやすさを重視している会社が多い
・自分の意見がシステムに反映されやすい(裁量が大きい)
・BtoCのサービスなので自分の仕事が可視化しやすい
・社会に対して直接貢献している実感を持ちやすい
■デメリット
・特定の言語スキルしか身につかない可能性がある
・会社やサービスのフェーズによっては、あまり開発の経験が積めないこともある
・自社サービスありきなので、業種によっては不況の煽りを受けやすい
(逆にサービスがバズれば一気に規模拡大する)
・求人が少ない、競争率が高いので未経験にはハードルが高め

3-2. 受託開発企業(SIer)
いわゆるSIer(エスアイヤー)企業。
企業向けの業務システムを開発したり、企業に依頼されて開発する。SIerは「システムインテグレーター(System Integrator)」から来ている。

・顧客から「こういうシステム開発してくれ!」と案件を受注して開発
・0→1の経験(企画、要件定義など0からシステム作る)ができる
・SIerにも種類があるが詳細は割愛(ユーザー系、独立系など)
■メリット
・多くのプロジェクトに携わるので、業務の幅もスキルの幅も広がりやすい
・若いうちから設計から運用まで上流下流のいずれも経験できる事が多い
・企業として安定しやすい(営業力にもよる)
・第二新卒なら未経験、ポートフォリオなしでも潜り込める可能性ある
■デメリット
・顧客ありきなので、裁量は小さい傾向。顧客に振り回される可能性
・2次請けなど、下層になればなるほど納期がシビア=ブラック度が上がる
→「IT土方(どかた)」と呼ばれる所以
・納期前はデスマーチ(納期に間に合わせるために徹夜で仕事など)になりやすい

3-3. SES(System Engineering Service)
イメージとしては派遣に近い(人材派遣ではない)。

・顧客(企業)から「うちでシステム開発してるけど人手足りないから来て!」と呼ばれ、顧客の企業に常駐して開発
・客先常駐が嫌な人には向かない
→人間関係を案件毎に1から築く必要ある
→逆に色んな企業を見たい人には向いている
→また、フリーランスが案件に参入するときの立ち回りに似てるので、そこの参考にもなる
・割り切ってスキルアップのためや「実務経験あり」になるためならアリなのかと
■メリット
・未経験者にはハードルが低い(と言われている)
→ただコロナの影響で案件が激減し、今は参入障壁高いとも言われている
・研修がしっかりしている(と謳っている)会社が多い
・常駐先で成果を出せばその企業からスカウトされることもある(らしい)
■デメリット
・上流工程には携わりにくい
・案件ガチャの可能性がある
(現場によっては、Excelのコピペをひたすら繰り返すだけ、、みたいな)
・最初は家電量販店や携帯ショップでの販売員から始まることもあるらしい
・「そのうち自社サービスも立ち上げる」は常套句

3-4. ITコンサル
エンジニア職とは一線を画すが、IT業界の企業形態の一つなのでご紹介しておきます。

・「おたくの会社はここが課題だけど、こういうシステム入れれば解決するよ!」と助言。場合によってはシステム開発までする
・課題分析や要件定義など上流工程がメイン
・開発など実際手を動かすことはほぼない
(アクセンチュアなど一気通貫型のところはチームによってある)
・最近は一気通貫型になる流れが強まりつつある
・めちゃくちゃハードだが年収高い
・転職よりは新卒から入る方がハードルが低い(印象)
・論理的思考力が求められる(CAB・GABみたいな)
・国内企業はそれぞれ国内での成長の限界、危機感(国内マーケットの売上減少を危惧してる)
→グローバル進出における課題が多い
・それもあって英語力が求められる企業が多い
※コンサルはこれも分けるとものすごい量になるので割愛

4)エンジニアの職種-下流工程-

【職種】:まず下流工程を3つに大別します。

そもそも「上流工程?下流工程って何?」って方はググってみてください(簡単に情報に辿り着けます)。とはいえ簡単に説明すると、システムを作る流れのうち「どういうシステムにするか?」など最初の方の工程(川でイメージするところの上流)=「上流工程」、決められた仕様を実装する後の方の工程(川でイメージするところの下流)=「下流工程」、というイメージでOKです。

未経験から入る場合は、多くの人が最初はいずれかに該当するかと思います。主に開発やテストなどの下流工程を担当することが多いです(会社によります)。

1. フロントエンドエンジニア
2. バックエンドエンジニア
3. インフラエンジニア

4-1. フロントエンドエンジニア
近しい職種に「コーダー」や「マークアップエンジニア」がありますが、詳細な説明は省きます。簡単に説明すると、いずれもフロンエンドエンジニアの枠におさまる職種で、業務の幅がより限定的(コーディングをするだけ、扱うのがHTMLとCSSだけ、など)というイメージです。

・Webアプリ(サービス)のUI(=User Interface。つまり見た目)を実装する
・デザインをやることはあまりない。Webデザイナーがデザインしたものを実現する役割
・ユーザーの目に触れる部分を実装するのが好きな人におすすめ
・使用する言語はHTML CSSに加えて、JavaScriptを使うことが主流
・JavaScriptはフレームワークやライブラリの利用がほとんど(jQuery / React / Vue.js etc…)
・Web制作の場合はCMS(WordPressやMovable Type)の利用が多い
・SEO対策の知見も求められることも

4-2. バックエンドエンジニア
サーバーサイドエンジニアとも呼ばれます。いわゆる「Webエンジニア」と呼ばれる職種で一番イメージが近いのがこの職種だと思います。

・フロントの対比で、Webアプリ(サービス)の目に見えない部分を実装する
・Twitterなどで言えば、「投稿機能」や「ログイン機能」などを担う
・ユーザーが行った操作をデータベースへ反映させたりする処理を担う
・使用する言語はRuby/PHP/Javaなどが有名
・「こうしたい」という要望を実現するためにロジックを考えたい人におすすめ
・Webアプリ(サービス)とDBは切り離せないので、DBの知識は必須
・アプリとOSを繋ぐミドルウェア(NginxやMySQLなど)の知識も必要

4-3. インフラエンジニア
SESと相まって悪いイメージが先行してますが、しっかりとスキルアップすればしっかり稼げる職種だと思います。専任のインフラエンジニアだとサーバーとにらめっこになるので、コードを書くことやシステムを設計することはほぼないです。

・フロントとバックのエンジニアが開発したアプリを公開するための基盤を整える
・サーバーやネットワークの構築など、「アプリの安定稼働」を支える役割
・最近はオンプレミス→クラウドへの移行案件が多い(らしい)
・AWS / GCP / Azureの知識はほぼ必須
・Webサイトはどう表示されているか?みたいな基本知識が必須
・会社規模が大きいorサービス規模が大きい企業でなければ選任はあまりいない
・保守運用からであれば参入障壁は低い(SESとの親和性が高い)

5)エンジニアの職種-上流工程-

ある程度経験を積んだ上でのキャリアアップの選択肢として。企画や要件定義などの上流工程を担当することが多いです。上流工程になるほど給与は上がります(その分経験や、技術以外のスキルも必要)

1. SE(システムエンジニア)
2. 社内SE
3. PM・ディレクター

5-1. SE(システムエンジニア)

正直、バックエンドエンジニアやフロントエンジニアと明確な違いはありません。敢えて区分を分けるなら、SEは要件定義など上流工程を担当することが多く、自身はあまり手を動かしません。

5-2. 社内SE(コーポレートエンジニア/情シス)
社内の業務が正常に行えるように整備したり、社内の業務効率化が命題です。
イメージだけで言えば「エンジニアとしてゴリゴリ働きたいというよりは、家庭などを大事にしたい方におすすめな職種」という感じです。ただ、会社を回すためにめちゃくちゃ重要な職種です。

・「社内でこういう業務をもっと効率化できたら便利だよね!」と社内で使うシステムを開発
・言語使った開発よりはノーコードのサービス利用だったりする
・言語使った開発だと基幹システムが多いのでC#とかが多い
・そもそも上流工程がメインで実際に手を動かすことはほぼない(ベンダーコントロールが多い)
・規模の小さい会社だと外注orSaaSのカスタマイズしかやらない
・最終ゴールはCIO(最高情報責任者)寄り
■メリット
・社内のシステム開発なので納期など緩い(自社開発企業に近い)
・システムの規模=会社の規模なので、事業の成長と仕事の幅が比例する
・裁量が大きくワークライフバランスは高いので、エンジニアとして「アガリ」の立場と言われる
■デメリット
・社内の業務効率化やコストカットが命題なので、マイナスをゼロにする仕事が苦手な人には向かない
・社内SEから社内SEの転職は、前職の規模感をかなり重視される(スケールしにくい)
・実際にコードを書くことはあまりないので、開発のスキルを積みたい人には向かない

社内SEと自社開発企業との違い 
「会社の人が使うシステムの開発(=社内SE)」→本来の事業は別にある
「会社の人が使うシステムの開発(=自社開発)」→本来の事業の開発に携わる

5-3. PM・ディレクター

・その名の通り、プロジェクトマネジメント(PM)やプロジェクトのディレクター
・上流工程がメインだったり自分で手を動かすことがあまりない
・エンジニアやコーダーにタスクを割り振ったり、納期の管理をしたりする職種
・コードを書くエンジニアからキャリアアップした場合の選択肢の一つ
・最近は新卒からPM、ディレクターという流れも増えている

6)転職活動で意識したポイント

未経験からの転職は正直キツいと予想していたのでめちゃくちゃ戦略を立てて臨みました

6-1. 転職活動の準備

・転職に必要なものを洗い出す
・学習を毎日継続する
・リアルな情報を集める(Twitter/もくもく会/サロン)
・ロールモデルになる人を見つける
・インプットは圧倒的な時間をかけて短期間で行う
・アウトプットを複数チャネルで行う
(Twitter/Qiita/PF/資格)
・オリジナルアプリ(ポートフォリオ)を作成する
・新しいことを学び続ける姿勢を示す
(資格取得/日本語リファレンスがないGemを使う)
・チーム開発の経験を積む
・コードに触れ続けてGitHubに草を生やす
・技術の情報も集める(Twitter/サロン/書籍)
・自走力や課題解決力を示せる経験を掘り起こす

6-2. ポートフォリオ作成

・作成する目的(なんのために作るか)を明確に
・自分自身や誰かの悩み・課題を解決するコンセプト
・志望業界があれば業界の課題を解決するコンセプト
・見た目や機能は既存サービスのいいところをパクる
・ユーザビリティを徹底的に意識する
・直感的に使えるサービス設計
・多機能にする
・困難を乗り越える経験を積む(実装を諦めない)
・GitHubを本番を想定して使う
(ブランチ切る/コミット細かく出す/プルリク出す)
・テストコードを書く
・独自ドメイン取得、HTTPS化
・リアルなデータを使用する
・herokuではなくAWSにデプロイする

6-3. 面接対策

【自己分析】
・転職で何を得たいかとその理由を明確にする
・前職(現職)を退職した(い)理由を明確にする
・ネガティブな理由ならポジティブに言い換える
・なぜエンジニアなのかを明確にする
・エンジニアになりたい理由は自分の人生とITとの接点
・キャリアビジョンを明確にする
・退職理由→エンジニアの理由→ビジョンに筋を通す
・自信を持って話せるポイントを複数作る
・困難を乗り越えた経験を掘り起こす
・技術以外で貢献できる強みを掘り起こす
・第三者の視点を頼る
【企業分析】
・コーポレートサイト(特に理念、採用ページ)読み込む
・代表、CTOのインタビュー記事を探して読み込む
・テックブログがあれば読み込む
・募集要項を読み込んで、使用技術
・企業と自分の軸とがマッチする部分を明確に
・企業が求める人材像を明確にする
・求める人材像と自分がマッチするポイントを明確に
・企業の理念や価値観に共感を示す(そのためのエピソードを用意する)
【面接で気をつけたこと】
・笑顔
・結論から答える
・オウム返しする(聞かれたことに答える)
・長く話しすぎない
・うまく枕詞を使う
・逆質問は自己アピールの場として使う

7)企業に刺さるポートフォリオのポイント

7-1. 構想 → 何のために作るか 

①作成する目的(なんのために作るか)を明確に
②自分自身や誰かの悩み・課題を解決するコンセプト
③志望業界があれば業界の課題を解決するコンセプト
④作ったPFでどのように課題を解決するかを明確に
⑤ターゲット層(どういう人に使ってほしいか)を明確に

7-2. UI/UX → ユーザー視点の意識 

①直感的に使えるUIにする
②使いやすさ>開発のしやすさの意識
③既存サービスのUI/UXをパクる取り入れる
④対応ブラウザは絞る(フロント志望なら対応した方がベター)
⑤レスポンシブは対応しない(フロント志望なら対応した方がベター)

7-3. 機能/コード 

①多機能にする(細かいものも含めて5個以上)
②ゲストユーザーログイン機能
③エラー画面を表示させない
④テストコードを書く
⑤リファクタリング

7-4. インフラ 

※8)〜9)で詳細書きます。

①AWSにデプロイする
②自動デプロイ(Capistranoなど)
③独自ドメイン、HTTPS化する

7-5. その他 

①困難を乗り越える経験を積む(実装を諦めない)
②GitHubを本番を想定して使う(ブランチ切る/コミット細かく/プルリク)
③READMEを丁寧に書く
④PFを解説した記事を書く→PF説明の言語化
⑤開発中に詰まって解決した部分をQiitaに投稿→乗り越えた経験の言語化

8)アプリ公開先の種類と評価ポイント 

大きく2種類。アプリを公開する観点で見ていきます。

8-1. IaaS(アイアース、Infrastructure as a Service) 

・AWSやGCP、Azure(アジュール)がここに該当
・仮想空間(クラウド)上に、サーバーやストレージなどを自由に設定できる
・サーバーの設定まで行う必要があるため、必要な知識が多い
・ポートフォリオ(個人アプリ)はここにデプロイすると企業からの評価高い

8-2. PaaS(パース、Platform as a Service) 

・Heroku(ヘロク)、レンタルサーバー(さくらやXserverなど)がここに該当
・サーバーは設定されたものが既に用意されているため、必要な知識が少ない
・ポートフォリオをここにデプロイすることもできるが、企業からの評価は高くない
→AWSにデプロイする方が設定が多くて面倒。そのためHerokuにデプロイする初学者が多いが、Herokuだと読み込みが遅いなどデメリットが多い。また、実務で使われるのもほとんどAWSなので、AWSにデプロイした方が企業からの評価高い。

8-3. 評価されるポイント 

一例ですが、下記を理解して実装していること。

■独自ドメイン取得/DNSにドメイン委任して名前解決している
⇒一言で言うなら、12.345.xx.xxみたいな数字の羅列ではなく、google.comみたいな意味のある文字列をURLにすること。

・通常、AWSなどにデプロイすると、そのアプリにアクセスするにはIPアドレス(12.345.xx.xxみたいな)を打ち込む必要がある
・IPアドレスは、ネットワーク上の住所のこと(東京都港区芝公園4-2-8に行けば東京タワーがある、のと同じように、18.181.xx.xxに行けばAというアプリがある、みたいな)
・ただ、IPアドレスだと覚えにくいしURLだけでどんなサイトにアクセスするかわからない
・そこでドメイン(google.comなど)を取得する。ドメインはトップレベルドメイン(この場合.com)に応じて金額が変わる。安いもの(.workなど)は年間1円で使える。.comは年間1,500円くらい
・DNS(Domain Name System)という仕組みを使って、ドメインとIPアドレスを紐づけることで、「google.comにアクセスされたら、12.345.xx.xxに飛ばす!」ということができるようになる=ドメインにアクセスすることで、紐付けたIPアドレスに飛ばすことができる。これを名前解決と言う。

■HTTPS化している
⇒一言で言うなら、セキュリティの高いサイトにしている

・特に何もしないとHTTPという通信規格。これだとGoogle Chromeなどで閲覧したときに「安全でないサイトです」と警告が出ることがある
・セキュリティの高い通信(SSL)を使うために、SSL証明書(SSL通信使っていいよ、という認定証)を取得する。値段はものによる。無料のやつもある。
・サーバーに設置することで、HTTPS化できる(URLがhttp://から、https://になる)

9)ポートフォリオ公開先(インフラ)のポイント

9-1. Webアプリの場合

Webアプリ=動的サイト。RailsやLaravelで作られるものはこれ

■AWS
・実務に近いのでおすすめ
・S3自体は無制限だが、気をつけないと無料枠を超える
・ELBまで使用すると月額2〜3,000円かかる
・セキュリティ等気を付けないと莫大な請求が発生する可能性ある
・学習コストが高い(一からデプロイさせるまでが結構大変)
・ただAWSを採用する企業は多く、評価されるポイントになる
・どこにデプロイするか迷ってる人にはおすすめ
■Heroku
・デプロイが一瞬で終わるくらいの簡単さ
・サーバー設定しなくていいので学習コスト低い
・無料で使える
・ただドメインが長くなる(xxx.herokuapp.com)
・読み込みが遅い、ストレージに制限がある
・初学者はほとんどHerokuにデプロイするので差別化しにくい
・時間が本当にない方にはおすすめ
■レンタルサーバー
・ほとんど有料
・無料だと広告がつくことが多い
・FTPなど、公開までにある程度知識必要
・ストレージなど別途用意する必要ある

そのほか、NetlifyやFirebaseなどもある

9-2. Webサイトの場合

■GitHub Pages(無料)
・Forkされるので、情報が抜き取られるのが嫌な場合はなし
・WordPressは不可
・Gitの知識は必要だが、公開が簡単
■AWS(S3+CloudFrontなど)
・一から自分で構築するので知識必要
・AWSは企業から評価されやすい
・CloudFrontの特徴で読み込み速い
■WordPress
・他の静的サイトに比べて読み込み遅くなる
・作業が多い
・独自ドメインでも無料で使える
・手軽で知見が溜まってる
■レンタルサーバー
・ほとんど有料
・無料だと広告がつくことが多い
・FTPなど、公開までにある程度知識必要

10)未経験からのエンジニア転職で使用した媒体

10-1. Wantedly 

・未経験からでもチャレンジできる枠が多い
・スカウトが来る率が他に比べると高め
・企業側に紹介フィーがかからない(掲載料はかかってる)
・求人票などと比べて情報が豊富で対策しやすい
・年収などの条件面が選考行くまで分からない
・返信率がかなり低い(1〜2割)

10-2. スクール (エージェントに近い)

・提案してくれる求人が少ない
・志向にあった求人を探してくれる
・求人の背景を詳しく知れる
・「スクールの選考を通った」で書類通過率が高まる
・職務経歴書の提出など事務作業を代行してくれる
・求人に合わせて面接対策してくれる
・面接の前後で自分の人物像や志向性を伝えてくれる
・紹介フィーがかかるので、直応募に比べると内定率低いかも

10-3. 直応募 

・紹介フィー(年収の3割)がないので内定率高まる
→特に未経験者の場合は、教育コストもかかるので結構重要視される
・行動力の評価や差別化につながる
・求人を探したり応募する手間がかかる
・求人の背景などの情報が少ない
・求人の温度感が分かりにくい

10-4. Green 

・条件に応じた検索ができる
・求人自体は多い
・未経験者枠が少なめ
・紹介フィーがかかる
・返信はあるが通過率低め

■その他知人が使っていたもの
type (https://type.jp/)
レバテックキャリア (https://career.levtech.jp/)
doda (https://doda.jp/)
リクルートエージェント (https://www.r-agent.com/)
エン転職 (https://employment.en-japan.com/)

ついでに、「意外と知られていない、未経験からのエンジニア転職の常識」は以下です。

①スキルより人柄や価値観が重要
②「実務経験必須」でも応募してOK
③Wantedly経由と直応募は並行してOK
④学習言語と企業が扱う言語は違くてOK
⑤指定されない限り面接はオフィカジでOK
⑥スクール通うだけではエンジニアになれない

+α:面接対策で実践すべきポイント

1)〜10)でプログラミング学習から転職活動において、知っておくべき知識を紹介してきました。

最近このnoteを見直して「転職を成功させるために必要なポイントも加えよう」と思ったので、今回リライトを兼ねて追記しました。当たり前のものばかりですが、以下です。

1. 自己分析
2. 企業分析
3. 面接練習

1. 自己分析
面接対策で最も重要なのが「自己分析」です。
面接官は、「なぜエンジニアになりたいのか」「流行りに流されて半端な気持ちでないか」ということを見ています。それらに納得感を持って回答するためには、自己分析が重要です。

・まずは、以下の質問への回答を書き出してみてください。
・次に、面接官に対して話せるようにまとめてみてください。
・次に、家族や友人に対して何も見ずに伝えてみてください。
・そして、気になった点をフィードバックをもらってください。

これをやるだけでも自己分析の深さが大きく変わってきます

特に「自分以外の誰か」に話してみて、フィードバックをもらうのが重要です。もし「家族や知人は恥ずかしい…」という場合は、転職エージェントに登録して担当の人に話してみたり、「転クエ」などエンジニア転職に特化したコミュニティを利用するのがおすすめです。

【自己分析が深まる自問自答】
・転職で何を得たい?どうなればゴール?
・なぜ現職を辞めたい?
・どんな時にやりがい感じる?
・現職と比べてどんな働き方したい?
・なぜエンジニアになりたい?
・目的を達成するにはどういう企業?
・企業とマッチする自分の強みは?

2. 企業分析
自己分析で自分の軸を定めるだけでは、選考を通過できません。
選考で合否を左右する最大のポイントが「企業分析」だと思って対策すべきです。

事実、内定先の企業からのフィードバックで「君はうちに合うと思った」と言っていただけましたが、それは完全に狙いに行った結果です。

そのために行ったことは以下。

・募集要項を読み尽くす
・ホームページを隅から隅まで見る
・特に採用ページ/ビジョンを読み込む
・代表、CTO、活躍する社員名でエゴサ
・出てきたインタビュー記事を読み込む
・記事内の印象的な言葉を拾う
・特に「こういう社員が活躍」「こういう人が欲しい」に注目
・面接に出てきそうな人はパーソナルな部分まで知る
・競合他社に比べた強みを知る
・競合他社に比べた弱みを知る

ポイントは以下のようなイメージです。

「どういう人を求めているのか?」「どんなカルチャーなのか?」というイメージを自分の中で解像度高くする

そのイメージと自分がマッチするポイントを言語化する

それをアピールできるエピソードを用意する

これを徹底的に行って面接の中でアピールできれば、未経験者に重要な「カルチャーマッチ」をクリアできます

企業分析によるその他の効果は以下。

・企業への志望度の高さ/熱意を示せる
・アピールポイントが明確になる
・その企業で働くイメージを持てる
・それによって解像度の高い話ができる
・面接官に「一緒に働くイメージ」を沸かせられる

3. 面接練習
自己分析で軸を定め、企業分析でアピールポイントを明確にしたら、内定まであと一歩です。

最後にして最大のポイントは「面接練習」。これに尽きます。

転職活動なら当たり前のことですが、面接練習中に以下を徹底することで面接が上手くなり、結果的に内定につながります。

①鸚鵡返し
②笑顔で話す
③結論から話す
④論理立てて話す
⑤繰り返し面接練習
⑥第三者の客観的意見
⑦話すのではなく伝える
⑧本番の面接の数をこなす
⑨話すことを決めてから話す

①鸚鵡返し
質問で聞かれたことをそのまま返す手法です。「志望動機はなんですか?」「御社を志望した理由は〜」という話し方です。これを意識するだけで冗長な回答を避けられます。

②笑顔で話す
笑顔で話すと「あ、こいつは余裕があるな」と感じてもらえます。対面でももちろん重要ですが、特にWeb面接の場合は非言語で伝わる情報が表情しかないので特に意識していました。

③結論から話す
これは当たり前すぎて逆にできてないと面接の通過率が落ちます。簡単な実践方法は、「結論から申しますと〜」や「●●です。理由は3つありまして〜」などが効果的です。

④論理立てて話す
「結論から話す」もこの一部ですが、コミュニケーション能力があるか?はここで見られます。質問に対する回答が、「なるほど!」となるか「え、、、?結局何が言いたいの?」となるかで合否が大きく変わってきます。簡単な実践方法は【結論→理由→結論】の構成です。

面接官「エンジニアを目指した理由はなんですか?」

(結論)「●●だからです」
(理由)「理由は3つあって、1つ目は〜2つ目は〜3つ目は〜です。」
(結論)「そこから●●と思うようになり、エンジニアを志しました。」

⑤繰り返し面接練習
意外と疎かにする方も多いのですが、超重要です。繰り返し練習することで、質問に対しての回答の引き出しを早く見つけられるようになりますし、何より回答の仕方をどんどんブラッシュアップすることができます。

結構多いのが、事前練習なしでぶっつけ本番で面接に挑むパターン。これは相当アドリブ力やトーク力がある方以外は爆死必須ですので、絶対に事前に練習を繰り返し行っておくことをおすすめします。

⑥第三者の客観的意見
これも必須です。自分だけで考えているとどうしても考えが偏りますし、自分が思いもよらない抜け漏れがかなりあります。フラットな視点で第三者に見てもらうとその辺りが補正できて、本番で突っ込まれる前に対処できるのでおすすめです。

⑦話すのではなく伝える
特に面接が苦手と思ってる方はこの思考が重要です。どうしても「あれも話さなきゃ、これも話さなきゃ」という思考になってしまいがちですが、面接は「話す」場ではなく「伝える」ためのコミュニケーションの場です。

つまり日常生活の会話と同じです。「話したいことを話す」のではなく「面接官に伝える」という意識を持つと世界が変わります。

⑧本番の面接の数をこなす
どんなに準備をしても最初の面接からいきなりうまく話せる人は稀です。練習と本番では緊張感が全然違います。特に最初のうちは不安しかないので、不安が緊張を呼び、緊張が不安を呼ぶという負のサイクルに陥りがちです。

ただ、それは数をこなして場慣れすれば次第に解消していきます。「この会社はそんなに志望度高くないしな…」と書類通過したにもかかわらず辞退する方が結構いらっしゃいますが、面接練習と割り切って受けに行くことを強く推奨します。

⑨話すことを決めてから話す
場慣れしてない&想定してない質問が来ると結構陥りがちなのが、話す内容をまとめる前に話し始めて、結果冗長な回答をしてしまう、というものです。

もしすぐに話し始めるのが難しい場合は、「少しお時間をください」と断ってもいいので、話す内容をまとめてから話しましょう。

おわりに

いかがだったでしょうか?
僕がプログラミング学習を始めてからエンジニアへ転職するまでに、困ったことや知っておくといいことをまとめ、さらに転職において効果の高いポイントまで追加しました。

自分自身、どれも「もっと早く知っていれば」と思うことばかりですし、逆に言えばこれらを知れたので、転職活動を有利に進められた面もあります。

ここまでに紹介してきたことを生かして、僕が実際に転職活動を成功させるために立てた戦略や、実践して効果が高かった面接対策などの具体的な解説・実例をより実践的な形でnoteにまとめています。もしご興味あれば覗いてみてください🙇‍♂️ ※宣伝ですw

---------------------------

①未経験からのエンジニア転職ロードマップ
👉すべての情報が欲しい方はこちら

・未経験からのエンジニア転職の具体的なロードマップ
・転職活動に必要な網羅的な行動とその方法
・内定率を高めるために効果的な行動とその理由

---------------------------

②実践した転職戦略編
👉学習〜準備〜面接〜内定の全体的なロードマップが欲しい方におすすめ

・未経験者に企業が求めるポイントと準備すべきもの
・企業が求めるものをどう準備したかの具体例
・評価されるポートフォリオのポイント

---------------------------

③効果の高い面接対策編
👉面接対策で悩む方や選考の通過率を上げたい方におすすめ

・未経験からのエンジニア転職に特化した、自己分析のポイント
・自社開発企業から内定を獲得するための、企業分析のポイント
・実際に内定を獲得した僕のリアルな回答例

---------------------------

マガジンもあるので、まとめて見たい!という方はこちらの方がちょっとですがお得です。


この記事のご感想はTwitterなどで寄せていただけると非常に喜びます!

この記事を読んでくださった皆様の転職活動がうまくいくことを切に願っております^^



自身のキャリアで得た知見について言語化しています。執筆活動の励みになります!