2019/05/21SHAREツイートシェアはてブGoogle+PocketLINEこんにちは、あかしぃです。自分は29歳未経験の状態から、自社サービスIT企業へエンジニアとして転職しました。内定が出るまでのプログラミング勉強期間は半年ほど。その間、どんなサービス、本を使って学習したのか、プロダクトはどんなものを作ったのかなどについて書いていきたいと思います。本などで学習し、さらにプロダクト開発プログラミングスクールは必要か?職業訓練はおすすめしないまとめ勉強時間、勉強スタイルについて自分は転職するまではフリーランスとして働いていたので、そこそこ時間の融通は利くほうでした。1日のプログラミング勉強時間は平均して3~4時間だったと思います。毎日継続してプログラミングしていたわけではなく、休んだり、サボったりする日もそこそこありました。平均すると2時間程度になるかもしれません。サラリーマンでも時間を捻出すれば2時間はなんとか確保できると思うので、時間がないと諦めるのは早いですよ。勉強スタイルは基本的に独学。最近は便利なプログラミング学習サービスが多く登場しているので、主にそれらを使って勉強を進めていきました。途中で1ヶ月程度だけプログラミングスクールを利用した時期があります。1ヶ月ほど職業訓練に通った経験もあります。このことについては後述します。ある程度勉強したあとは、プロダクト作りに時間を割きました。転職活動の際に、見せられる成果物があるかどうかで雲泥の差が生まれるので、ある程度勉強したあとはプロダクト制作に注力することをおすすめします。自分のプログラミング学習の流れここからは自分が実際に行ったプログラミング学習の流れについて書いていきます。列挙するとこんな感じ。上にまとめた以外にもちょこちょこ手を出した本、サービスなどもありますが、この順に学習すればプロダクト開発までは進める・・・はずです。それぞれについて詳しく解説していきますね。Progate(プロゲート)ProgateはWeb(インターネット)で公開されているプログラミング学習サービスです。非常に有名なので聞いたことがある人もいるかもしれません。プログラミング未経験からスタートするなら、最初はProgateを強くおすすめします。これほどプログラミング学習の導入に優れているサービスはないと思います。自分もProgateからスタートしました。「スライドによる学習→実際にコードを書いて学習」というサイクルで進んでいくので、頭や体にも定着しやすいです。ある程度までは無料で利用でき、全てのサービスを利用しても月額980円と破格なので、まずはProgateから初めてみて、自分がプログラミングに興味があるか確認してみるといいでしょう。どのプログラミング言語を学習するかプログラミング言語は非常に多くの種類があり、Progateでも10種類近い言語の学習コースが用意されています。全ての言語を勉強する必要はありません。HTMLから始めてみましょう。HTMLはWebサイト(ホームページ)の構造を記述する言語で、初心者でもとっつきやすいのでおすすめです。HTMLは他のプログラミング言語でも必要になることが多いので、必ず書けるようになっておきましょう。MEMO正式にはHTMLはプログラミング言語ではなく、マークアップ言語と呼ばれますが、プログラミング初心者はあまり気にする必要はありません。その理由については後述します。Rails(通称:Rails)はプログラミング言語ではなく、「フレームワーク」の一種です。今の時点では詳しく理解する必要はありません。Progateと同じく、ある程度までは無料で、全ての機能を解放するには月額980円かかります。Progateと違う点は、ドットインストールは動画による学習がメインであること。動画内で講師の人が実際にコーディングしながら解説してくれるので、初心者の人でも理解しやすいです。一つの動画は3分程度となっており、テンポよく視聴できるのも嬉しいポイント。Progateより少し応用的で、未経験者にとっては多少難しく感じるかもしれません。新しい技術や概念に触れたとき、この技術はどんな風に使うのかをイメージするために視聴する、という利用方法がおすすめです。チュートリアルは、インターネットで公開されているRailsのチュートリアル(説明書のようなもの)です。チュートリアルといっても内容はガッツリで、自分でゼロから実際に動くWebサービスを作っていきます。ここが一番のハードルになるはず。先ほど登場したHTMLとRuby、Railsに加えて、「Git」や「SQL」、「コマンドライン」の知識も必要になります。基本的にはチュートリアルに書かれている通りに進めればWebサービスが完成する仕様になっていますが、いくつも詰まるポイントがあると思います。そのときはProgateやドットインストールで関連技術を復習したり、Google検索でググりまくって解決していきましょう。内容もかなり重いので、1ヶ月、2ヶ月程度ほどかかると見積もっておくことをおすすめします。自分も1ヶ月ほどかかりました。チュートリアルを終わらせれば、Webサービスの作り方を理解できるので、自力でのプロダクト開発が可能になります。ここが山場なので頑張りましょう。チュートリアルがあるためです。自分もそうでしたが、プログラミング初心者が一番悩むのは、ある程度勉強したけれど、次に何をすればいいのかわからない・・・ということ。プログラミング言語の文法についてはある程度わかったけど、それでどうやってプロダクトを作ればいいのかわからない、という状態です。チュートリアルはこの部分をサポートしてくれるので、プロダクト開発までの橋渡し的な存在になってくれます。ProgateでもRubyとRailsのコースが一番充実しているので、しっかり学習できるというのも大きなポイントです。チュートリアルのようなサービスがないので、独学者にとってはかなり辛いものがあります。この言語を勉強したい!という強いこだわりがなければ、まずはRubyから勉強するのがおすすめです。RubyとRailsはもはやワンセットのようなものなので、Railsもしっかり勉強しておきましょう。MEMORuby(Rails)は転職の際にも強みになります。いうのも、単純に募集が多いため。Wantedly内で検索すると、1000件以上の募集がヒットします。スタートアップ系の企業でRubyが採用されている傾向があります。チュートリアルをクリアできれば、Webサービス開発の手順はなんとなくイメージできるようになるはずなので、自力でのプロダクト開発にチャレンジしてみましょう。プロダクトの有無は転職活動の結果に大きな影響を与えます。開発途中のものでもアピール材料になるので、必ずgithubなどでソースコードを公開しておくことをおすすめします。大規模サービスや、斬新なものを作ることにこだわる必要はありません。いうより、最初からそういったものを作ろうとすると、高い確率で挫折します。一つの機能だけを持ったシンプルなサービスを作ったり、既存のサービスのコピーのようなものを作ってみましょう。自分の場合は、「ぶろぐろぐ」、「おすすめ本通知bot」といったものを作りました。簡単なサービスであっても、開発中にわからない点がたくさん出てくると思います。多くの場合はGoogleで検索すれば答えそのものか、答えに近い回答が見つかるはずです。ググり力はエンジニアにとって必須スキルのようなもの。いったキーワードで検索すれば望んだ検索結果が得られるのか、開発過程で覚えていきましょう。本などで学習し、さらにプロダクト開発ここまでくれば市販のプログラミング学習本にかかれていることもある程度わかるようになっているはず。新しい技術や概念を勉強して、さらにアウトプットとしてその技術を使ってプロダクトを作ってみるといいでしょう。Linux、SQL、JavaScriptあたりをしっかり勉強しておくと、転職活動の際の強い武器になりますし、入社してからもなんとか業務についていくことができます。Linuxは必ず自宅でも使っておくべき。多くの会社でLinuxを利用します。HTTPの仕組みやサーバー周りの勉強をすれば、APIの仕組みや使い方、セッション、クッキーといった概念も理解できるようになり、プロダクト開発がよりスムーズになります。この段階まで来たならば、プロダクト開発に集中するより転職活動の比重を高めたほうがいいです。結局、独学するより現場で働いたほうが数倍効率的にプログラミングを身につけることができるので。プロダクトさえあれば多くの会社で面接までは辿りつくことができるので、あとはコミュニケーション力といった別のスキルもアピールして押し切りましょう。プログラミングスクールは必要か?最近のプログラミングブームにより、多くのプログラミングスクールが開校されています。オンラインに対応しているところも多く、時間、場所の制限なく受講できるのがメリットの一つ。プログラミングスクールの他のメリットも挙げると、以下のようなものがあります。講師に直接質問できるカリキュラムが用意されているので、学習の道筋がわかる変数の定義名やテストの書き方など、コーディングの際のお作法を知ることができるとくに有用なのが、講師に直接質問できる点。プログラミング学習では、「一人で2時間悩んだエラーが、他の人に聞いたら5分で解決した」みたいな状況が頻発します。進んだほうが学習の効率も高まりますし、モチベーションも維持できるので、メンターのような存在はいるに越したことはありません。チュートリアルで躓くことが多くて、なかなか学習が進まない・・・という人は、プログラミングスクールを検討してみるといいでしょう。ちなみに、自分は「ポテパンキャンプ」というスクールを利用しました。チュートリアルを終えた人向け)ですが、プログラミング未経験者向けのスクールもたくさんあるので、ぜひ調べてみてください。MEMOプログラミングスクールによっては「転職保証!」などとアピールしているところがありますが、鵜呑みにするのは危険です。こちらの記事も参考にしてください。SES、受託企業、自社サービス開発企業の違いについて職業訓練はおすすめしない各自治体では職業訓練が実施されており、ハローワークから申し込むことができます。半年ほどの授業のあと、転職を斡旋してくれるというもので、受講中は10万円ほどの補助金を受け取ることができます。(受給にはいくつか条件があります)ただ、自分も1ヶ月ほど通っていた時期がありましたが、正直あまりおすすめはしません。授業の進みが非常に遅い(1ヶ月で本一冊ペース)日中に学校まで通う必要があるため、現在の仕事を辞めなければいけない斡旋先のほとんどがSES企業などがあります。これなら正直独学したほうがマシなので、自宅で頑張るか、プログラミングスクールのほうを検討しましょう。まとめ上に書いたのは、あくまで自分が行ったプログラミング学習の過程であり、もちろん他の学習方法も無限にあります。自分はこれで自社サービスIT企業に入社できたので、参考にはなる・・・と思います。1日2、3時間の学習を半年ほど続ければ、成果物としてのプロダクト開発まで進めると思うので、挫けずに頑張りましょう。開発中にエラーが出まくって「もうダメだぁ・・・」みたいになっても、ググりまくってトライ&エラーを繰り返せば、いずれは解決できます。コメントをキャンセルメールアドレスが公開されることはありません。PostsVue.jsでフォーカス機能つきのスクロールスパイを実装するあかしぃ流、辛くない技術書の読み方Nuxt(Vue).jsで郵便番号が入力されたら自動的に住所も入力されるフォームを作るフロントエンド開発の副業を探しています。