こんにちは、あかしぃです。
自分は29歳未経験の状態から、自社サービスIT企業へエンジニアとして転職しました。
内定が出るまでのプログラミング勉強期間は半年ほど。
その間、どんなサービス、本を使って学習したのか、プロダクトはどんなものを作ったのかなどについて書いていきたいと思います。
他の分野の職種からエンジニアへ転職したいと考えている人の参考になれば幸いです。
目次
自分は転職するまではフリーランスとして働いていたので、そこそこ時間の融通は利くほうでした。
1日のプログラミング勉強時間は平均して3~4時間だったと思います。
ただ、毎日継続してプログラミングしていたわけではなく、休んだり、サボったりする日もそこそこありました。なので、きっちり平均すると2時間程度になるかもしれません。
サラリーマンでも時間を捻出すれば2時間はなんとか確保できると思うので、時間がないと諦めるのは早いですよ。
勉強スタイルは基本的に独学。最近は便利なプログラミング学習サービスが多く登場しているので、主にそれらを使って勉強を進めていきました。
ただ、途中で1ヶ月程度だけプログラミングスクールを利用した時期があります。また、1ヶ月ほど職業訓練に通った経験もあります。このことについては後述します。
ある程度勉強したあとは、プロダクト作りに時間を割きました。
転職活動の際に、見せられる成果物があるかどうかで雲泥の差が生まれるので、ある程度勉強したあとはプロダクト制作に注力することをおすすめします。
ここからは自分が実際に行ったプログラミング学習の流れについて書いていきます。ザッと列挙するとこんな感じ。
それぞれについて詳しく解説していきますね。

ProgateはWeb(インターネット)で公開されているプログラミング学習サービスです。非常に有名なので聞いたことがある人もいるかもしれません。
まったくのプログラミング未経験からスタートするなら、最初はProgateを強くおすすめします。
これほどプログラミング学習の導入に優れているサービスはないと思います。自分もProgateからスタートしました。
「スライドによる学習→実際にコードを書いて学習」というサイクルで進んでいくので、頭や体にも定着しやすいです。
ある程度までは無料で利用でき、全てのサービスを利用しても月額980円と破格なので、まずはProgateから初めてみて、自分がプログラミングに興味があるか確認してみるといいでしょう。
プログラミング言語は非常に多くの種類があり、Progateでも10種類近い言語の学習コースが用意されています。
ただ、全ての言語を勉強する必要はありません。まずはHTMLから始めてみましょう。
HTMLはWebサイト(ホームページ)の構造を記述する言語で、初心者でもとっつきやすいのでおすすめです。
また、HTMLは他のプログラミング言語でも必要になることが多いので、必ず書けるようになっておきましょう。
では、次にどのプログラミング言語を学習するかですが、おすすめは「Ruby」と「Ruby on Rails」です。
その理由については後述します。

ドットインストールもプログラミング未経験者、初心者向けのWebサービス。
Progateと同じく、ある程度までは無料で、全ての機能を解放するには月額980円かかります。
Progateと違う点は、ドットインストールは動画による学習がメインであること。
動画内で講師の人が実際にコーディングしながら解説してくれるので、初心者の人でも理解しやすいです。
また、一つの動画は3分程度となっており、テンポよく視聴できるのも嬉しいポイント。
ただ、Progateより少し応用的で、未経験者にとっては多少難しく感じるかもしれません。
新しい技術や概念に触れたとき、この技術はどんな風に使うのかをイメージするために視聴する、という利用方法がおすすめです。

Rails チュートリアルは、インターネットで公開されているRailsのチュートリアル(説明書のようなもの)です。
チュートリアルといっても内容はガッツリで、自分でゼロから実際に動くWebサービスを作っていきます。
そして、おそらくここが一番のハードルになるはず。先ほど登場したHTMLとRuby、Railsに加えて、「Git」や「SQL」、「コマンドライン」の知識も必要になります。
基本的にはチュートリアルに書かれている通りに進めればWebサービスが完成する仕様になっていますが、いくつも詰まるポイントがあると思います。
そのときはProgateやドットインストールで関連技術を復習したり、Google検索でググりまくって解決していきましょう。
内容もかなり重いので、1ヶ月、2ヶ月程度ほどかかると見積もっておくことをおすすめします。自分も1ヶ月ほどかかりました。
ただ、Rails チュートリアルを終わらせれば、Webサービスの作り方を理解できるので、自力でのプロダクト開発が可能になります。ここが山場なので頑張りましょう。

ProgateのところでRubyとRailsをおすすめしたのは、このRails チュートリアルがあるためです。
自分もそうでしたが、プログラミング初心者が一番悩むのは、ある程度勉強したけれど、次に何をすればいいのかわからない・・・ということ。
プログラミング言語の文法についてはある程度わかったけど、それでどうやってプロダクトを作ればいいのかわからない、という状態です。
Rails チュートリアルはこの部分をサポートしてくれるので、プロダクト開発までの橋渡し的な存在になってくれます。
また、ProgateでもRubyとRailsのコースが一番充実しているので、しっかり学習できるというのも大きなポイントです。
もちろん、他のプログラミング言語でもプロダクト開発は可能ですが、Rails チュートリアルのようなサービスがないので、独学者にとってはかなり辛いものがあります。
この言語を勉強したい!という強いこだわりがなければ、まずはRubyから勉強するのがおすすめです。
そしてRubyとRailsはもはやワンセットのようなものなので、Railsもしっかり勉強しておきましょう。

Rails チュートリアルをクリアできれば、Webサービス開発の手順はなんとなくイメージできるようになるはずなので、自力でのプロダクト開発にチャレンジしてみましょう。
プロダクトの有無は転職活動の結果に大きな影響を与えます。開発途中のものでもアピール材料になるので、必ずgithubなどでソースコードを公開しておくことをおすすめします。
ただ、大規模サービスや、斬新なものを作ることにこだわる必要はありません。というより、最初からそういったものを作ろうとすると、高い確率で挫折します。
まずは、一つの機能だけを持ったシンプルなサービスを作ったり、既存のサービスのコピーのようなものを作ってみましょう。
自分の場合は、「ぶろぐろぐ」、「おすすめ本通知bot」といったものを作りました。
そして簡単なサービスであっても、開発中にわからない点がたくさん出てくると思います。
ただ、多くの場合はGoogleで検索すれば答えそのものか、答えに近い回答が見つかるはずです。
ググり力はエンジニアにとって必須スキルのようなもの。どういったキーワードで検索すれば望んだ検索結果が得られるのか、開発過程で覚えていきましょう。

ここまでくれば市販のプログラミング学習本にかかれていることもある程度わかるようになっているはず。
新しい技術や概念を勉強して、さらにアウトプットとしてその技術を使ってプロダクトを作ってみるといいでしょう。
Linux、SQL、JavaScriptあたりをしっかり勉強しておくと、転職活動の際の強い武器になりますし、入社してからもなんとか業務についていくことができます。
とくにLinuxは必ず自宅でも使っておくべき。多くの会社でLinuxを利用します。
また、HTTPの仕組みやサーバー周りの勉強をすれば、APIの仕組みや使い方、セッション、クッキーといった概念も理解できるようになり、プロダクト開発がよりスムーズになります。
ただ、この段階まで来たならば、プロダクト開発に集中するより転職活動の比重を高めたほうがいいです。
結局、独学するより現場で働いたほうが数倍効率的にプログラミングを身につけることができるので。
プロダクトさえあれば多くの会社で面接までは辿りつくことができるので、あとはコミュニケーション力といった別のスキルもアピールして押し切りましょう。

最近のプログラミングブームにより、多くのプログラミングスクールが開校されています。
オンラインに対応しているところも多く、時間、場所の制限なく受講できるのがメリットの一つ。
また、プログラミングスクールの他のメリットも挙げると、以下のようなものがあります。
プログラミング学習では、「一人で2時間悩んだエラーが、他の人に聞いたら5分で解決した」みたいな状況が頻発します。
当然、サクサク進んだほうが学習の効率も高まりますし、モチベーションも維持できるので、メンターのような存在はいるに越したことはありません。
ProgateやRails チュートリアルで躓くことが多くて、なかなか学習が進まない・・・という人は、プログラミングスクールを検討してみるといいでしょう。ちなみに、自分は「ポテパンキャンプ」というスクールを利用しました。
ポテパンキャンプはより実践的なスクール(Rails チュートリアルを終えた人向け)ですが、プログラミング未経験者向けのスクールもたくさんあるので、ぜひ調べてみてください。
各自治体では職業訓練が実施されており、ハローワークから申し込むことができます。
半年ほどの授業のあと、転職を斡旋してくれるというもので、受講中は10万円ほどの補助金を受け取ることができます。(受給にはいくつか条件があります)
ただ、自分も1ヶ月ほど通っていた時期がありましたが、正直あまりおすすめはしません。
その理由として、
などがあります。
これなら正直独学したほうがマシなので、自宅で頑張るか、プログラミングスクールのほうを検討しましょう。
上に書いたのは、あくまで自分が行ったプログラミング学習の過程であり、もちろん他の学習方法も無限にあります。
ただ、自分はこれで自社サービスIT企業に入社できたので、参考にはなる・・・と思います。
1日2、3時間の学習を半年ほど続ければ、成果物としてのプロダクト開発まで進めると思うので、挫けずに頑張りましょう。
開発中にエラーが出まくって「もうダメだぁ・・・」みたいになっても、ググりまくってトライ&エラーを繰り返せば、いずれは解決できます。頑張ってくださいね!
November 03, 2018 - posted by akashixi