【独学版】未経験から自社開発企業内定までの学習ロードマップ
はじめまして。
なな(@mornnana)です!
簡単に自己紹介でもしようと思います😆
・私立文系の大学4年生
・旅行と食べることが大好き!
・プログラミングの勉強を本格的に始めたのは2月
2月から猛烈にプログラミングを開始し、
最終的(6月)には自社開発企業の2社から内定を
頂くことが出来ました。
内訳:(メガベンチャー1社・スタートアップ1社)
そんな私がこれまで独学で学んできた道のりを
全て公開しようと思います!!!!!
参考にして頂けたら嬉しいです。
<このノートの対象になる方>
・プログラミングを始めようかと迷っている方
・プログラミングの学習はしているが、勉強方法に不安がある方
・ポートフォリオを作成中・これから面接を控えている方
初期・中期・終盤期といった感じに書いているので、自分のフェーズに応じて読みすすめることをオススメします😆
それでは私の勉強の軌跡を大公開します!
目次
🐥1章 あなたがなりたいエンジニアはどんなエンジニア?
・SlerとWeb系企業の違い
・Web企業の3つの形態
・Web開発?Web制作 ?
🐥2章 私のこれまでの勉強内容一挙公開
・はじめに(プログラミングの対する考え方編)
・私が考える最短勉強攻略法
・学習の大まかな流れ
・スクール VS 独学
・プログラミング学習にかけた費用一挙公開
🐥3章 ポートフォリオ作成
・3段階のステップ
・テーマの決め方
・設計しよう
🐥4章 面接編
・学生なら絶対に使って欲しいエージェント
・面接で聞かれる質問集
・面接に対する向きあい方
🐥5章 終わりに
🐥1 章 あなたがなりたいエンジニアはどんなエンジニア?
「フリーランスになって楽しいノマド生活したい!!」
「エンジニアは市場価値が高いらしいから年収高そう!!」
「コミュ力なくても働けそう!!」
ちょっと待ってください✋✋
必ずしもそれが達成出来るとは限りません、、。
エンジニアといっても様々な働き方があります。
最初に選択を間違えてしまうとあなたの想像している未来からは、かなり遠ざかってしまうかもしれません。
あなたがなりたいエンジニア業界にはどういった働き方があるのか把握した上で勉強を始める必要があります。なりたいエンジニアをしっかり決めた上で勉強に取り掛かりましょう✊
エンジニアの人が働く会社は大きく2つの形態に分けられます。
📍Web系企業
📍Sler企業
✅ Web系企業とSler企業の違い
知っている方は飛ばしちゃって構いません。
❏ Web系企業
→Webを使って自社のWebサービスを運営したり、提供したりする企業。
向いている人
・何かを作ることが好き
・効率化を常に考えている
・コミュニケーションに抵抗がない
代表的な企業でいうと、
ヤフー、メルカリ、サイバーエージェントが有名です。
❏ Sler(System Integrator)企業
→様々なシステムやアプリ開発を請け負う受託系企業
向いている人
・大規模なシステムの構築に興味がある
・顧客の悩みをITの力で解決したい
・他社と連携しながら働きたい
代表的な企業でいうと、NTTデータ、野村総研、アクセンチュアがSlerとして有名です。IT業界の中でもSler業界が最もエンジニアの数が多いです。
Web系企業には大きく2つに分類されます。
1. Web開発
・Web系自社開発企業
・Web受託系企業
・Web系SES企業
2. Web制作
今回はWeb開発の方について詳しく説明していきますね。
📍Web系自社開発企業
この企業を一言でまとめると、
「自社サービス」を持っている会社のことです。
⭕ メリット
・新しい技術にふれる機会が多い。
・ユーザーからの反応をダイレクトにもらえる
・自由な社風の企業が多い
❌ デメリット
・同じ技術のみの開発が多くなる
・広い人脈を構築しにくい
・入社難易度が比較的高め
📍Web系受託企業
この企業を一言でまとめると、
「依頼者から開発の依頼を受けてからシステム開発を行う」会社のことです。
⭕ メリット
・様々なプロジェクトを経験出来るので、スキルUPしやすい
・様々な業界の会社とつながりを持つことが出来る
・会社ごとの完全オーダーメイドで開発を行うため、面白さややりがいを持てる
❌ デメリット
・納期があるので、激務になりがち
・下請け企業となると、短納期、売上額に合わない開発案件を押し付けられることがある
📍Web系SES企業
SESとは、システム・エンジニアリング・サービス(System Engineering Service)の略で、他社の会社に客先常駐といった形で客先に向かい、その会社に技術力を提供している会社です。
⭕ メリット
・納品義務がないので、長時間の残業が少ない
・様々な企業・プロジェクトに関われる
・IT業界未経験でも正社員として採用されやすい
❌ デメリット
・多重下請け構造の温床になっている
→プロジェクトの規模が大きくなればなるほど、4次請け、5次請けとなっていき担当できる業務内容が限定されていく
・案件ガチャと呼ばれるものがある
→自分で案件を選べないため、精神的過酷な環境で働く場合もある
・自社への帰属意識が低い
→客先に常駐して仕事をしているため、自社に変えることが滅多にない
✅ Web開発?Web制作
Web開発をしたいのかWeb制作を行いたいのか迷っている方はYujiさんのこの動画を見ることをオススメします。
❏ Web制作
主にホームページ(Webサイト)を作ります。
特徴
・副業として人気
・良いサイトを作るためSEO(Webマーケティング)の知識を必要とされる
・HTML,CSS , jQuery,JavaScript,Wordpressを中心に勉強が必要
向いている人
・成果が形になってみえるのが好きな人
・デザインに興味がある人
❏ Web開発
WebアプリケーションやWebシステムを作ります。
→Twitterやメルカリのようなアプリを作る仕事です。
特徴
・Rubyや PHPなどの知識が必要。
・実務経験が重視されるため、
いきなりフリーランスになるのは難しい
向いている人
・プログラミングを本業にしたい人
・将来高単価なフリーランスになりたい人
・常に新しいことを学ぶのが好きな人
🐥2章 私のこれまでの勉強内容一挙公開
📍0. はじめに
プログラミング学習において、
正しい努力を毎日着実に積み上げることが大切です。
むやみやたらにいろんな教材に手を出したりしてはいけません。いろんな教材へ浮気するのは絶対ダメです❌
1日の学習時間の目安として、
フルタイムで時間が使える人は毎日最低8時間以上、
お仕事をされている方は、平日3時間、休日8時間以上
目指して頑張りましょう。
「えええ、多いな、長いな、、、。🥺」って思った方もいると思いますが、ダラダラやっても人間のモチベーションって常に高い状態でキープすることは出来ないです、、!
短期間で一気に勉強することをオススメします。
📍1. 最短勉強攻略法
とにかく実際に手を動かしてコードを書いていきましょう!眺めているだけでは、身につきません!
NG勉強法は、
Progateを何周もして基礎の勉強から抜けずに、
教材マニアになってしまうことです。
現時点で分からなくても大丈夫!!
あとから理解できたらOKです!!!
6割理解で次にどんどん進んじゃいましょー!!!
📍是非見て欲しいYoutubeの紹介
Yujiさんのこの動画がとても勉強になるので貼っておきます。
勉強するためにやるべきことについて話されています。
以下にざっくりとした要約を貼っておきます。
・目的を明確にすること
・作業環境を整えること
・ルーティーンを整えること
についてのお話をされています。
プログラミングは9割の人が挫折すると言われています。それだけ継続しながらプログラミングの勉強をすることは大変なのです!しかし、「9割の人がプログラミングで挫折する」といった事実を知っておくだけでも「わからないのは自分だけじゃないんだ!」「みんな結構悩んでいたりするんだ!」と気持ちが楽になると思います。
この動画ではプログラミングを挫折しないための対策方法について語られているので是非参考にしてみてください。
📍2. 学習の大まかな流れ
私はRubyを選択して勉強を行いました。
基礎学習のフローとしては、
Progate
↓
Webの仕組みの理解
↓
Gitの勉強
↓
Rubyの勉強
↓
Railsの勉強
↓
Techpit
↓
テーブル設計
↓
ポートフォリオ作成
といった流れです。
1. Progate
まず、Progateで「プログラミングとはどんなものなのか」を理解していきましょう。まずHTML・CSSから初めてみるのが良いと思います。
道場コースというものがあるのですが、難しいのでやらなくていいです。
無料コースである程度自分の中でやっていけそうか考えてみて、面白いなと感じたらすぐ有料コース(月額1078円)へ移ることをオススメします。
2. Webの仕組みの理解
Webの仕組みの理解には、この本をオススメします。大学で情報系の学部に通っていた人は読む必要はないとは思いますが、文系だった人は読むことをおすすめします。
解説がとても丁寧で、これからプログラミングの勉強を始めようとする人にとっては読みやすく、役に立つ内容だと思います。
3. Gitの勉強
Udemyの教材がとてもオススメです。
・はじめてのGitとGitHub (無料)
・もう怖くないGit!チーム開発で必要なGitを完全マスター を用いて勉強を行いました。
【参考サイト】【超入門】初心者のためのGitとGitHubの使い方
このサイトはとてもわかり易くまとまっています。
GitHubを使い始めてすぐの頃はよくこのサイトをみながら学習をしていました。適宜参照する形でブックマークに入れることを推奨します😊
4. Rubyの勉強
入門なだけあって、説明がとても丁寧です。
Kindle版は読みづらいので、紙の方で読むことをオススメします。いっぱい本に書き込んじゃいましょうー!
メルカリなどで沢山出ているので、もっと安く買えると思います!
5. Railsの勉強
これもKindleより紙の本で読むことをオススメします。Kindle版も購入したのですが、見づらいのでオススメはしません。本が最強だと思います。
この本を一通り全部やったあと、「大体理解出来た!or 簡単だった!」って方はポートフォリオ作成に移って良いと思います。
私はまだまだRailsがチンプンカンプンだったので理解を深めようと「Techpit」の教材をしました。
6. Techpit
Techpit Unlimitedというコースがあるのですが、
月額2.980円で80種類以上のコースが学習し放題という超お買得な学習教材になっています。
「ドラクエ風ゲームアプリを作ってみよう!」であったり、「Instagram簡易SNSアプリを作ってみよう!」など面白そうな教材が沢山揃っています。
私は、Techpitの教材の
・天気予報を教えてくれるアプリ
・楽天APIを用いてお買い物bot
・Trello風アプリ
・Rails × Vue.jsでメモアプリ
を使って簡単なアプリを作っていました〜!
Railsがまだまだサッパリわからないな(TT)って方は
「Railsの教科書」がオススメです!✨
解説がなんといっても丁寧で分かりやすいです。MVCモデルの理解が曖昧な方は是非読んでみてください!!
7. テーブル設計
テーブル設計はこれまた、Udemyの教材が良いと思います。
「はじめてのテーブル設計・データベース設計」というやつがオススメです。これが終わったらすぐポートフォリオ作成に移ってもいいと思います。
画像で保存したい方はコチラをどうぞ😊
🐥おまけ:タイピングの練習
タイピングが遅いと作業も当然遅くなってしまいます。タイピングは上達するまで時間がかかるので、コツコツ毎日続けていきましょう。
オススメサイト
📍ひよこでも出来るタイピング練習講座(初心者向け)
→ホームポジションって?って方はここから入ることをオススメします。私はこのサイトを半月ぐらい使っていました。
📍寿司打
有名サイトです。目安としては、1万円コース1万円突破を目指して頑張りましょう〜〜
📍イータイピング
タイピング結果をカルテとして保存できるので、どれだけ点数が伸びたか実感できる機能がついています。
📍3. スクール VS 独学
独学とスクールのどっちがいいかについては、本人の性格と経済面で決まると思います。
コツコツ一人でやっていける人は独学で充分だし、
みんなと共に頑張りたい!勉強を管理して欲しい!
っていう人はスクールの方が良いと思います。
しかし、スクールに通うとなるとかなり高額の費用がかかってきます。大体30万円〜100万円近くかかってくると思います。分割払いを行うことができるスクールが多いですが、ローンを組んでまでスクールに行く必要はないかなと思います。独学で正直充分なんじゃないかなというのが私の意見です。
仲間と共に勉強したいのであれば、プログラミングのサロン(例えば「雑食系エンジニアサロン」や朝もくサロン)に入れば良いし、進捗を管理してほしいのであれば、「MENTA」というサービスを使ってモチベーションを管理してもらうほうが、圧倒的低価格で勉強し続けることが出来るでしょう。
📍雑食系エンジニアサロン
勝又さんが主催するサロンで、同じくエンジニアを目指す仲間と交流することができるサロンです。
📍朝もくサロン
朝もくサロンでは、現役エンジニアの方であったり、デザイナー、マーケターなどいろんな職種の方がサロンに入っています。
<得られるメリット>
・毎日の積み上げ量が2〜3倍になる
・優秀な仲間と繋がれる
・早起きの習慣が身に付く
・表に出ない有益な情報が得られる(有料級セミナーが無料で受講できる)
朝の時間を有効活用しようとする意識が高い人達が集まっています。
ついだらけてしまう方などに特にオススメします。
📍MENTA
MENTAは、「教えたい人(メンター)」と「学びたい人」をマッチングするサービスです。
<特徴>
・プログラミングのメンターさんだけで1139人もいる
・スクールに通うに比べて圧倒的リーズナブル
・コードレビューもしてもらえる
私は4ヶ月程Web系企業のCTOを務めていらっしゃるメンターさんと契約をし、コードレビューなどをしてもらいました。現役エンジニア目線でのお話を聞けるので、とても勉強になります。
📍4. 私がプログラミング学習にかけた費用一挙公開
【内訳】
<書籍>
・書籍「Web技術の基本」(税込1848円)
・書籍「ゼロからわかるRuby超入門」(税込2728円)
・書籍「現場で使えるRuby on Rails」(税込3828円)
・書籍「リーダブルコード」(税込2640円)
・書籍「キタミ式 基本情報技術者」(税込2310円)
<Udemy>
・はじめてのGitとGitHub (無料)
・もう怖くないGit!チーム開発で必要なGitを完全マスター(1610円)
・はじめてもRuby on Rails (税込1820円)
・基本情報技術者試験最短合格講座(税込1500円)
・はじめてのテーブル設計・データベース設計(税込1500円)
・3時間で学ぶ SQL ・データベース 超入門(税込1760円)
・AWS:ゼロから実践するAmazon Web Services(税込1610円)
<その他>
・Webテキスト「EverydayRails RspecによるRailsテスト入門」(20ドル)
<課金教材>
・Progate月額1078円×1ヶ月
・Techpit Unlimited 月額2980円×1ヶ月
<オンラインサロン>
・朝もくサロン 1980円×4ヶ月
・雑食系エンジニアサロン 980円×2ヶ月
・MENTA 14980円×4ヶ月
トータル 99,112円でした〜〜
メルカリで参考書を探すと半額ぐらいの価格で売っていることもあるので、探してみても良いかもしれません。
🐥3章 ポートフォリオ作成
3段階のステップ
Webサービス開発の超絶大まかなフローは、
企画→設計→開発です。
✅ 企画編
企画では、どんなサービスを作るかというサービスの概要を決めていきます。すでに自分の作りたいものが明確な人は、次のステップの設計に移りましょう。
✅ テーマの決め方
急にアイデア出すのはとても難しいよ〜😂って方は、1日の行動を書き出してみることをオススメします。
自分の悩みを解決するもの、自分の周りの人(両親、祖母など)の悩みを解決するものが良いと思います〜!
例えば、コンビニに行った際、
「あ、おにぎりに新商品が出てる!!」
「気になるけど買って不味かったら怖いな、、」
「誰か他の人先に食べたりしてないかな〜」
↓
「みんなとコンビニの新製品の感想を共有出来たら良いのになあ」
↓
「ああ、そうだ!!自分で作ればいいじゃん!!!」
みたいなノリで作っちゃっていいと思います(笑)
そのサービスは誰の・何を解決するものなのかをハッキリさせましょう!!
✅ 設計編
次は設計段階です。ここが一番重要です。
曖昧な設計をしているとのちのち後悔することになります。気合をいれて取り掛かりましょう!!
・ページ遷移
・機能の洗い出し
・データベースの設計
・ページの命名
主にすることはこの4つです。
紙とペンを容易して書き出していきましょう!!!
最初は思うがままになぐり書きして後で綺麗にまとめてきましょう。
✅開発編
設計書をもとに開発をしていきます。
【上級編】
開発する際オススメしたいのはissue管理です。
タスクを数時間から1日程度に分割をしてGitHubのissueにまとめていくのですが、これを行うことで次にやるべきことが明確かつGitHubに草を生やすことが出来るのでオススメです。
本来チーム開発のときにissue管理を行うのですが、個人開発でもチーム開発を見据えてissue管理を行っていると、他の人と差別化を図ることが出来ます。詳細は以下に記事を貼っておくので是非参考にしてみてください。
草って何なの?って方のために
→pull, merge数(コントリビューション数)に応じてGitHubは色が緑に変わるため草を生やすと言われています。
↑私のGitHubの様子です。
色がついていれば、「草が生えている」状態です。
ポートフォリオについては、また後日別のnoteで詳しく書こうと思います!
4章 面接編
✅ 学生なら絶対に使って欲しいエージェント
私が一番お世話になったエージェントさんは、
「サポーターズ」さんです。
いろんなエージェントさんを登録してきましたが、「サポーターズ」さんが一番私に寄り添って、進路を共に考えてくださりました。サポーターズさんには感謝しかないです。
紹介できる企業の数が豊富で自社開発企業のスタートアップからメガベンチャーまで様々な会社を紹介して頂けました。
このエージェントは恐らく学生しか使うことが出来ないので、是非学生の方なら使ってみて欲しいです。
✅ その他の応募手段
Wantedlyに登録してガンガン応募していきましょう!!!返答率は悪い印象でしたが、沢山のスタートアップ企業と出会うことが出来ます。プロフィール文が少ないと思いがなかなか企業様に届きません。プロフィール文の目安として1000文字は書きましょう!!
✅ 面接で聞かれる質問集
<過去を問う質問>
・学生時代に頑張ったことはなんですか?
→なぜそれを取り組んだのですか?
→困難なことはありましたか?またそれをどう乗り越えましたか?
・小中高大、簡単に5分間で今までやってきたこと説明してください
・これまでに挫折した経験はありますか?
<人柄を問う質問>
・周りからどんな人間であると言われますか?
・長所と短所を教えて下さい。
→短所に対してどのように克服しようと考えていますか?
・苦手な人はどういった人ですか?
・あなたのセールスポイントは?(志願企業に役に立つと思える)
<プログラミング関連の質問>
・簡単にポートフォリオでどんなことが出来るのか説明してください
・苦労した所・工夫した所をいしてください
・なぜその言語を選択して勉強をしたのですか?
・エラーで詰まったとき、あなたはどう解決しますか?
・将来のキャリアプランを教えてください
✅ 面接に対する向きあい方
大切なポイントは3つです。
✅ 他人と比べないこと
✅ 落ちて当たり前と思うこと
✅ 面接後は振り返ること
就活していてTwitterなどで内定報告を見てしまったときや、友達から内定したと伝えられたとき、かなり焦りますよね😂しかし、焦っていてもそれは面接官に伝わってしまいます。自分のペースを持って他人と比べないことが大切です。ありのままの自分をさらけ出して、受け入れてくれる企業を探しましょう。
また、「落ちて当たり前」と思いましょう。その方が気持ちが楽です。あまり期待しすぎないことが大切です。面接官の方は、空気を和らげようと沢山褒めてくださります。しかし、その後「お祈りメール」が送られてくることがザラにあります。「あんだけ褒めてたやーん😂」と思うと思いますが、過去を悔やんでも時間がもったいないので「よし!次だ次だー!」と「これからどうするか」について考えていきましょう。
最後に「面接した後、すぐに振り返る」ということを徹底して欲しいです。私は面接ノートを作り、「何を聞かれたか」「逆質問として何を聞いたかとその回答」「気づいた点・面接官に刺さったエピソード」について見開き2ページで書いていました。これをやり続けることで、面接のパターンを把握することが出来、面接を通過できる確率が確実に上がります。ぜひ「振り返ること」を面倒くさがらずやってほしいです。
5章 終わりに
私は正直、4月の段階では「就職できるのかな」「来年ニート生活かな」と不安な日々を送っていました。そして内定もらえた今でも、「入社してもついていけるかな、やっていけるかな」という不安を持ちながら生活しています。しかし、その緊張感・不安が私にとって朝活(プログラミング)を行う良いモチベーションとなり今日までプログラミングを継続している動機となっています。
最初はエラーでつらい日々かもしれません。
ですが、みんなスタート地点は同じです。
大変ですが、コツコツ諦めずに頑張りましょう!!
最後まで読んでいただきありがとうございました。
共にプログラミングを頑張っていきましょう!!!✊
この内容を読んで
「学びになった〜」「これから頑張るぞ〜」
って方は♥マークとTwitterに感想を載せてくれると泣いて喜びます😭❤️❤️
私にもし興味を持ってくださったら、
Twitterをフォロー(@mornnana)して頂けると嬉しいです🐥
エンジニアの生活のリアルをこれから発信していこうと思います👩💻
この記事が気に入ったらサポートをしてみませんか?