プログラミング

プログラミング未経験33歳が自社開発企業に転職するまで

プログラミング未経験、33歳、地方住み。
「ITエンジニアになる」と決意して約5ヶ月で都内の自社開発企業から内定をもらうことが出来ました。

同じく未経験からエンジニアを志す人の役に立てばと思い、これまでにやったことを残しておきます。

自己紹介

年齢:33歳
住所:ぐんまー
家族:妻(正社員) 幼児二人
経歴:製造業にて研究・開発業務 のべ4社で約10年
備考:持ち家あり 家から出ることは不可

エンジニアを目指すにあたり、一番厳しかったのが「地方に家を持ってしまった」ということです。
IT系企業は都内に一極集中しており、地方にはほぼ選択肢はありません。
結果的に都内の企業を選び内定をいただき、地方から通勤することを選択しました。
しかしリモートワーク可なので、慣れてきたら自宅で仕事をします。

学習方法

おおまかには、Progate → ウェブカツ + XHACK勉強会 → 書籍 という流れです。
各々細かく説明していきます。

Progate

まずはProgateを触りました。
理由は、金額が非常に手頃なこと、そして「まずはProgate」という声が多かったことです。
2週間ほど学習し、HTML・PHP・JavaScriptを一通りクリアしてレベル150くらい?にまでなりました。
ただProgateを進めていく中で・・・このままProgateだけ進めても、何も生み出せないのでは!?という不安を感じました。
なぜならば、

・エディタはProgete内で準備されてしまっている
→ Progate外でどのようにコーディングしたら良いのかわからない
・講座内容が機能の解説に留まっている
→ プロダクトにどう活かせるのかが(初学者には)全くイメージつかない

これに気付き学習方法を変えようと思い立ち、次にオンラインスクールに入ろうと決めました。
振り返れば、プロゲートはこんな人に向いているかと思います。

・プログラミング完全に初めてです!的な初心者
→ 初期の初期に触り、プログラムはどのようなものかを理解する
・プログラミング勉強して少し分かってきた!基礎の基礎を復習したいなー、な人
→ 学習したいことが分かっていれば、ピンポイントでそれを学ぶには良い

オンラインスクール ウェブカツ

メインで学習に用いたのは、オンラインスクールのウェブカツです。
良くも悪くも、かなり尖ったオンラインスクールです。Twitterで炎上したり炎上したり炎上したりで話題には事欠きません。
学習形式としてはこんな感じです。

1.動画を見る
2.実際に手を動かしてコードを書く(写す)
3.自分で考えてコードを書く(アウトプット、制作物を作る)

実際にこれを用いて学習した感想として、講座内容としては非常に満足度が高いです。

・稼げるエンジニアになるためには何を学ぶべきか、が強い意志で明確にされている
・学ぶ順序まで体系的に示されている
・開発環境構築〜テストまでカバーしている
・「自分で考えて手を動かすこと」を強く推奨(半強制)される
→ 動画を見るなどのいわゆる「インプット」で分かった気になっていても、
自分で何かを「アウトプット」しようとすると全然書けないことがある。
「アウトプット」することで本当の意味で身につく
・「学び方」を学べる
・自走力が身に付く

またウェブカツはTwitterでの学習報告を推奨しており(強制ではない)、Twitter上での受講生同士のコミュニティが自然に生まれています。
これにより受講生同士の繋がりが生まれ、かつ他の受講生が頑張っている姿を見たり、自分の学習報告ツイートに「いいね」やリプライをもらうことで、
学習を継続するモチベーション向上に大きく寄与しています。

学習報告ツイートとはこんな感じのもの。僕以外にもやってる人は多数います。

実際僕もTwitterにかなり助けられました。

周りにプログラミングについて話せる人もいなく(地方なので)、Twitterで他受講生と繋がっていたおかげで学習継続出来たといったも過言ではありません。
Twitterでウェブカツの受講生と繋がってなかったら挫折していたと思います。

ありがとうみんな!

XHACK勉強会

松田さんが主催している勉強会です。2019年12月現在、ウェブカツではいかなる勉強会に参加することを禁止されていますが、禁止される前に1回だけ参加しました。

その参加レポートはこちらに書いてあるので、ぜひ一読してください。

プログラミング未経験者がAPI勉強会を経て自作webアプリを作った話(#xhack勉強会レポート)33歳、未経験から学習を始めて約3ヶ月になります。(2019年9月現在) XHACK主催の勉強会に参加しひじょーーーーーに良い刺激を受...

都内での開催なので1回しか行けませんでしたが、個人的には非常に有益なものでした。
「この機能を使えばこのようなプロダクトができます」というのを一緒に手を動かして体感させていただき、自分の引き出しが大いに増えました。
1回だけの参加でしたが、とても良いインスピレーションを受け、自作webアプリを開発・リリースまでできてしまいました。

実務未経験でもここまで作れる!個人開発アプリプログラミングの学習がてら、いくつかのwebアプリを作ってきました。 その中で、公開に値するものをここで紹介します。 学習したこ...

書籍

ウェブカツも終盤になってくると、動画だけでなく書籍を用いた学習を推奨されます。
(恐らく、教材に頼らないで自走できるようにする想いが含まれている)
いくつか技術書を買いましたので、一覧にしておきます。(2019年12月現在)

CSS

「Web制作者のためのCSS設計の教科書」
CSS設計に途方にくれてた僕に一筋の明かりを照らしてくれました

Web制作者のためのCSS設計の教科書 モダンWeb開発に欠かせない「修正しやすいCSS」 [ 谷拓樹 ]

デザイン

「なるほどデザイン」
とても評判がよかったので。これから読むところです。

なるほどデザイン 目で見て楽しむデザインの本。 [ 筒井美希 ]

Vue.js

「Vue.jsのツボとコツがゼッタイにわかる本」
まずこれを書いました。初心者向けに丁寧に書いてあるのでおすすめ。
でも正直物足りなかったので、次の本を買い増しました。

Vue.jsのツボとコツがゼッタイにわかる本 [ 中田 亨 ]

「基礎から学ぶ Vue.js」
ツボコツ本より深く突っ込んで書いてあります。こっちを参考にした方が多いかな。
個人的にはこっちを買っておけばツボコツはいらないかと。

基礎から学ぶVue.js [ mio ]

Laravel

「PHPフレームワーク Laravel入門」
評判の良い本。青本。まずはこれで基礎の基礎をやってるところです。
でも痒いところに手が届かない感じが・・・ツボコツ本と同じかなあ?

PHPフレームワークLaravel入門 [ 掌田津耶乃 ]

「PHPフレームワーク Laravel Webアプリケーション開発」
内定先で実際に参考にしている本のようです。
まだパラパラめくっただけですが、青本よりもレベル高そう。いきなりこっちを買ってもよかったのかも。

PHPフレームワークLaravel Webアプリケーション開発 バージョン5.5 LTS対応 [ 竹澤有貴 ]

テスト

「はじめて学ぶソフトウェアのテスト技法」
目次を見てよさげだったので即購入。品質確保のためテストは重要なので、これから勉強します。

はじめて学ぶソフトウェアのテスト技法 [ リー・コープランド ]

インフラ

「新人エンジニアのためのインフラ入門」
インフラってそもそも何?ってレベルなので、業務開始前にこれで勉強します。AWSについても書かれている。

新人エンジニアのためのインフラ入門 (THINK IT BOOKS) [ BFT ]

その他

「プロになるためのWeb技術入門」
Webサービスがどのように作られているか、セキュリティやフレームワークなどについても書かれている。簡潔にまとまっている良書。

プロになるためのWeb技術入門 なぜ,あなたはWebシステムを開発できないのか [ 小森裕介 ]

「Webサービスのつくり方 ――「新しい」を生み出すための33のエッセイ」
読み物として。

【中古】Webサービスのつくり方 / 和田裕介(情報科学)

「リーダブルコード」
これ。初学者のうちに読んでおいて正解でした。
専門的なことは少なく、読みやすいコードとは何か?をきっちり説明してくれる良書。

リーダブルコード より良いコードを書くためのシンプルで実践的なテクニ (Theory in practice) [ ダスティン・ボズウェル ]

オンラインスクールを受ける意味

「オンラインスクールなんかに高い金を払う意味ない」
「本やUdemyでの独学で十分だ」 という声も散見されます。
しかし僕は「初学者にとってオンラインスクールは非常に有益」と主張します。

メリット

・学習コストを大幅に低減できる

もうこれにつきます。ただし、質の良い講座ができるスクール、というのが大前提です。

初学者は、何を、どういう順番、どのようにで学べばいいか、見当もついていません。
スクールによりその道筋を立ててもらい、愚直に学習できる環境が得られます。

僕は仕事をしながらの学習で、小さい子供が二人もいて妻も働いているので、学習時間が0〜3時間/日が精一杯です。
完全独学だと教材選びから時間を食ってしまうので、ただでさえ少ない貴重な学習時間が減ってしまいます。
また質の良いスクールならば独学よりも学習時間は短くて済みます。

時間が多くとれない人は、お金をかけてスクールに入る価値は十分にあります。
対して、仕事をしていなかったり、仕事後や休日に十分な時間を取れる人は、スクールの恩恵は少ないかもしれません。

「時間をお金で買う」ということをスクールで実現できました。

デメリット

・金銭的コストがかかる
お金は飛んでいきます。しかしメリットと天秤にかけた上で僕は判断しました。
・外れスクールにあたると痛い
よーくSNSなどから情報を集めましょう。ブログ記事は受講していない人がアフィリエイト目的で宣伝していることも多いので、よく見極めてください。

今まで約半年学習を続けてきました。
今、新たなことを学ぶのであれば間違いなくスクールには入りません。
これは今は「学び方」が分かっているからです。

初学者に「スクールは不要」と言う方々は、すでに学び方が分かっている経験者ではないかと思います。
しかし現実的に初学者は「学び方」が分かっていない人がいます。僕はそうでした。
それが分からないまま独学に走ると、横道にそれたり前へ進めなかったり、自走できないリスクがあります。
スクールを通じて「学び方」を学び、学習の方向を正しく向けるため、スクールに入る意義はある、と言うのが僕の意見です。
(スクールでなく、オンラインサロンとかでもいいと思います。サロン入ったことないから内容知らんけど)

2020年1月 追記

2019年12月末でウェブカツ退部しました!
理由は色々あります。ただ転職が決まったから、ではありません。
僕とリアルで繋がってくれた方には詳細お話しします!

学習期間

2019年5月末〜11月頭(最終面接時)
約5ヶ月間、学習時間約360h
平均すると毎日2.5hほど学習していた計算です。

これを書いている12月現在も学習は継続しています。

自分の趣味、だらだらする時間、それらを出来るだけ無くし、プログラミングにつぎ込みました。
しかし子供との時間などは最優先にし、家庭を大事にしました。(いいパパアピール)

プログラミングのためにヤメたこと

・ゴルフ
・毎日の酒
・なんとなくYouTubeを見ること

プログラミングより優先したこと

・子供との時間
・家事
・育児

僕が普通に生活してれば、平日も休日も学習時間はとれて3時間です。
こんなサイクルを繰り返してました。

・平日
起床 → 家事育児 → 仕事 → 帰宅 → 家事育児 → 寝かしつけ(21時くらい) → 学習 → 就寝(24時)

・休日
起床 → 家事育児(子供とあそぶ) → 寝かしつけ(21時くらい) → 学習 → 就寝(24時)

気分が乗ってくると就寝時間が後ろ倒しになる感じですね。

制作物(アウトプット)

学習にあたり、オリジナルの制作物(アウトプット)をいくつか作りました。
先に言ったとおり、自ら考えて作ることでプログラミングが身につきます。
初学者は絶対にアウトプットするべきです。
これらをgithubで公開し、ポートフォリオとして転職活動しました。

念押しですが、これら全てスクールのカリキュラムではありません。
スクールで学んだことをベースに、僕が独自で考えて作ったものです。

ウェブカツはこのようなアウトプットをする後押しをしてくれます。

実務未経験でもここまで作れる!個人開発アプリプログラミングの学習がてら、いくつかのwebアプリを作ってきました。 その中で、公開に値するものをここで紹介します。 学習したこ...

情報発信もアウトプットの一つです。
ブログで技術記事を書きました。

【PHP初心者向け】$_GET / GETメソッドの使い方こんにちは、がき(@gakisan8273)と申します。 プログラミングを初めて約3ヶ月になります。(2019年9月現在) 主にPH...

求人検索方法

WantedlyGreenで求人を探しました。

フルリモート求人としてこれらも。
コデアルRemogu

希望条件はこんな感じ

・群馬から通える or リモートワーク可能
・学んできているPHP, JavaScriptが活かせる
・家族を養えるだけの給料
・会社のサービスに共感が持てる

色々見ましたが、僕には見つかりませんでした…
どうすっかなーっと途方に暮れていると、TwitterのDMで、ある企業から面談のお誘いがありました。
その会社を調べてみると、

・(比較的)通勤しやすい立地!
・リモートワーク可能!
・LaravelとVue.js!
・給料そこそこ!
・育児関係のとても共感持てる自社サービス! ⇦ モチベに関わるのでかなり重要

偶然ながら僕の希望してる条件に合致する企業が向こうからやってきてくれました。
日頃の行いがいいからだね。

あとはwantedlyでスカウトが2件来ました。
1件はマネージャーとしてのA社(某会計ソフトの企業だったのでビビった)、もう1件はエンジニアとしてのB社。

応募履歴

実際に受けたのは、TwitterでDMくれた企業とA社の計2社。
声がかかったところを受けた形です。

A社は面接を受けて、やっぱり自分のやりたいことと違うので途中辞退。
DMくれた企業から無事内定をいただき、入社することにしました。

なお、「なぜ数ある未経験者の中から自分を選びDMをくれたのか?」という質問に対し、

「社会人経験が長く、リーダー経験もあることからマネージメントもでき、キャッチアップが早いと考えた」
「他の学習者よりもキャリアチェンジに対し覚悟の次元が違うと想像できた」

と回答いただいています。
Twitterで情報発信やアウトプットしていてよかったー!

面接については別の記事でかこうかなーと思います。

内定先のおしごと

育児系のサービス開発に携わることになる予定です。
フロントもバックも両方やるとのこと。
Laravel + Vue.js、インフラはAWSのようです。
インフラ、Linuxが分からないので入社前までに必死で勉強します。

これからの働き方

当面は群馬から都内に新幹線で通勤します。
自宅→駅(30分)
新幹線(50分)
駅→会社(20分)
待ち時間とか含めて約2時間かな

新幹線定期代 + 駐車場代 + ガソリン代 – 通勤手当 ≒ 80000円

この時間とお金を自分への投資として頑張ります。

リモートワークが出来るくらい実力がつくまでの辛抱です。
会社からは1年はかかると言われたが、目標半年と置きます。
通勤していると妻がほぼワンオペになってしまうので、早くなんとかしたい。
恐らく誰よりも必死に食らいつくはずです。

まずは全力で自社サービスにコミットして役に立てるようになります!

最後に

30歳を超えて別業界へ転進するとは思ってみませんでした。
そして地方から都内に通うなんて考えもしませんでした。
しかし、自分のやりたいことを実現する方法を模索し続けてこの結論に至ったので、後悔ないようにひたすら頑張っていきます。

僕と同じことをすれば未経験からエンジニアになれるとは限りません。
「目標に向かって何をすべきか考え、実行し、継続する」 その結果が僕のやってきたことです。
これは人それぞれ違うはずです。

僕は本当に運がいい。
色々な人に助けられて今日まで来ました。

これを読んでくれた皆様へ、少しでも僕の経験が参考になれば幸いです。