エンジニアになるための600時間のプログラミング学習に耐え抜くコツ

Share on reddit

非エンジニアが、現場で使えるエンジニアになるまで、モチベーションを維持して、学習を続ける方法を紹介します。

非エンジニアが現場で使えるレベルになるまでに、通常、600時間は学習が必要です。エンジニアになろうと一念発起してプログラミング学習を始めても、多くの人は600時間に満たない時間で学習をストップし挫折します。

「1ヶ月でエンジニアになれる」などの宣伝文句でプログラミングスクールは学生を集めていますが、プログラミングは愚か、ターミナルすら触ったことない非エンジニアが、プログラミングスクールで短期間学習するだけで現場で活躍できるエンジニアになるのは、ほぼ不可能です。

しかし、継続的ににステップを踏んで学習すれば、エンジニアには必ずなれます。

現に僕は、ターミナルすら触ったことない初心者でしたが、働きながら学習を続け、半年ほどかけてエンジニアになれました。レベルは低いですが、自社の業務内で使うシステムを開発して、社員やお客さんに使ってもらっています。

僕の経験を踏まえて、非エンジニアが、途中で挫折せずにエンジニアになるまで学習を続ける方法を紹介します。

僕は、主にRubyを使って開発をしているため、紹介する書籍はRubyやRuby on Railsが中心ですが、他の言語を学習する場合も、書籍以外の学習法は、役に立ちます。

最初は明確な目的がなくて良い

よくプログラミング学習の目的を明確にするべきだと言われますが、無理に目的を明確にしなくて良いです。プログラミング学習を始める前は、プログラミングで何ができるかすら具体的に分からないからです。

最初は、こんな漠然とした気持ちで良いです。

  • プログラミングが面白そう。
  • 転職して年収を高めたい。
  • エンジニアにとのコミュニケーションを円滑にしたい。
  • 自由にサービスを作りたい。
  • 新しい仲間を増やしたい。

プログラミングは、学習した時間分だけ成長します。つべこべ言わずに、さっさと学習を始めましょう。

初心者向けサービス/教材をフル活用すべし

初心者向けのプログラミング学習サービスや教材は、最近、非常に充実しています。

プログラミングスクールやプログラミング学習サイト、プログラミング学習本の指示する通りに学習を進めていれば、楽しくプログラミングを覚えることができます。初心者向けのサービス/教材をフル活用しましょう。

初めてプログラミング学習をする人向けのおすすめサービスや教材を紹介します。

プログラミングスクール

プログラミングスクールは、安くないですが、初心者がスタートダッシュをかけるには有効な学習方法です。独学でエンジニアになることもできますが、通えるなら絶対に通ったほうが良いです。

WebCamp

本気でエンジニアになるためにプログラミングスクールに通うならWebCampをおすすめします。

実は、僕はTECH::CAMPに通いましたが、友人の評判やレッスン内容を確認する限り、エンジニアとして働きたいならWebCampの方が良いです。卒業後の転職/就職保証をしていることもあり、カリキュラムが実践的です。現場のエンジニアになることを前提としてしっかり教えてくれます。

プログラミングを教えてくれるだけでなく、転職支援もやってくれます。

未経験からIT業界へ転職なら【WebCampPRO】

TECH::CAMP

TECH::CAMPは、エンジニアになるかどうかはわからないけど、とりあえずプログラミングを学んでみたい人に向いています。僕も通いましたが、講師が親切に、プログラミングを教えてくれます。

僕が通っていた頃にはなかったVR/3Dのゲーム開発やAI(人工知能)の学習もできるようです。

人生を変える1ヶ月【TECH::CAMP(エンジニアスクール)】

TECH ACADEMY

教室に通えない人は、TECH ACADEMYのオンラインブートキャンプでも良いと思います。オンラインとは言え、マンツーマンで講師がサポートしてくれるので、自分のペースで学習を進めることができます。

オンラインブートキャンプ はじめてのプログラミングコース

どのプログラミングスクールに通っても、ただ、カリキュラムをこなしているだけではダメです。わからないところを講師に聞きまくりましょう。見学に行った時に、講師の人数や充実度をしっかり確認してください。

プログラミング学習サイト

プログラミング学習サイトは独学派やプログラミングスクール卒業後の独学時に有効です。たくさん学習サイトがありますが、僕が使ったもののうち、良かったものだけを紹介しておきます。

ドットインストール

ドットインストールは、初心者にプログラミングを動画で解説してくれます。プログラミング学習の最初に、ドットインストールのHTML、CSS、javaScript、Ruby、Ruby on Railsの無料版をやりましょう。プログラミングの雰囲気がつかめます。

ドットインストール

Ruby on Railsチュートリアル

Ruby on Railsを学習している人は、Ruby on Railsチュートリアルを必ず2〜3回やってください。プログラミングスクールに行った人も、絶対にやりましょう。

実践では非常に大事なテストやデバッグなども学ぶことができます。

カリキュラムの途中で、deviseというGem(Ruby on Railsの認証機能を簡単に実装できるライブラリのようなもの)を使わずに認証の仕組みを作ったりします。

わざとしんどい方法でアプリケーション開発することを通じて、Ruby on Railsの理解を深めることができます。これが無料で良いのかって感じです。

Ruby on Railsチュートリアル

Progate(プロゲート)

Progate(プロゲート)は、HTML、CSS、javaScript、Ruby、Ruby on Rails、PHP、Java、Pythonなどを幅広く学習することができるウェブサービスです。ドットインストールと同様、初めてプログラミングを学習する人が、楽しく基礎を学べます。

僕は、プログラミングスクール卒業後も、基礎を忘れないために毎日プロゲートを少しでもやるようにしていました。楽しいので仕事で疲れてても毎日続けられます。

Progate(プロゲート)

プログラミング学習本

プログラミング学習本も、初心者向けの良い本がたくさんあります。これからプログラミングを始める人向けの本と、プログラミングスクールなどを卒業した人向けの本では、内容が違うので、自分のレベルに合ったものを選んでください。

たのしいRuby 第5版


たのしいRuby 第5版

これからRubyを学びたい人向けの本です。Ruby on Railsを使おうにも、Rubyの基本が分からないと、すぐに詰まってしまいます。Rubyの基本はこの本で学ぶと良いでしょう。最低5回ぐらい繰り返して読みましょう。

プロを目指す人のためのRuby入門


プロを目指す人のためのRuby入門

プログラミングスクールやRuby on Railsチュートリアルを卒業した人向けの本です。テストやデバッグなど実践的な内容が載っている貴重な本です。この本も5回ぐらい繰り返してやると、Rails開発で、おまじないとして理解を諦めていた部分が理解できるようになります。

改訂3版基礎 Ruby on Rails


改訂3版基礎 Ruby on Rails

Ruby on Railsをこれから学ぶ人向けの本です。Ruby on Railsをめちゃくちゃ親切に説明してくれます。プログラミング学習本は、説明が不親切なことが多いですが、この本は、一線を画す親切さです。

Ruby on Railsの初心者向けの本は多いですが、これ1冊でOKです。これも5回繰り返しましょう。

Ruby on Rails 4 アプリケーションプログラミング


Ruby on Rails 4 アプリケーションプログラミング

プログラミングスクールやRuby on Railsチュートリアル卒業後の人向けのRuby on Railsの学習本です。難易度は低くないですが、先程の「基礎 Ruby on Rails」と同じ筆者の黒田さんが、やはり丁寧に解説してくれているので、必死にやればついていけます。

黒田さんに感謝しながら5回繰り返しましょう。

プログラミングスクール卒業後に挫折しない方法

プログラミングスクール卒業後に多くの人が挫折します。

上述したように、プログラミング学習は、少なくとも600時間ぐらい学習して初めて、現場に入れるレベルになります。毎日、3〜4時間の学習を6ヶ月毎日続けたときの時間です。

プログラミングスクールに通えば、すぐに現場で使えるエンジニアになれそうな気になりますが、スクールに通っている1〜3ヶ月の学習期間で600時間の学習を達成するのは困難です。結果的に、卒業しても、すぐには現場で使えるエンジニアにはなれず、しばらく学習を継続する必要があります。

スクールや学習サイトを卒業した段階では、例外処理が入ってなかったり、変数名が分かりづらかったり、メソッドの記述が長すぎたりと、動くものは作れるけど、人様に使ってもらうには心もとないシステムしか作れない状態です。

しかし、大半が、この段階で学習をやめてしまいます。

初心者向けのスクールや教材が充実したおかげで、プログラミング初心者は増えましたが、現場で使えるエンジニアは増えていません。その理由は、大半の人が、プログラミングスクール卒業後に学習をストップしてしまうからです。

ここでやめてしまっては、これまでの学習が無駄になります。現場で使えるエンジニアになるには、プログラミングスクール卒業後の学習が重要です。

身近な人が使うオリジナルシステムを開発する

プログラミングスクール卒業後は、自力で独自のシステムを開発することが一番の学習法です。

自分で企画したシステムを開発すると、デプロイして使える状態になるまでにエラーがたくさん発生します。エラーのたびにGoogleやQ&Aサイト(Qiita、Stack Overflowなど)で解決方法を見つけて、自力で解決することになります。この、エラー、デバッグ、改修の繰り返しが、プログラミングや開発の理解を促進します。

オリジナルシステムは、自分や自分の回りの人が使うサービスを作ることがポイントです。自分や友人が使う場合、使い勝手の悪さが気になるので、改善するモチベーションが湧いてくるからです。

社会人の場合、社内の業務で使うシステムを作れば、自分の仕事が楽になったり、システムのできが良ければ、社内での評価も上がるかもしれません。

逆に誰も使わないサービスを作ると、誰からもフィードバックをもらえないため、延々とデバッグを繰り返す苦行になります。誰も使わないTwitterぽいサイトとかは作らないように気をつけましょう。

毎日コードを書き続ける

簡単なコードで良いので毎日、コードを書き続けることも挫折しないために重要です。

オリジナルシステムを作っていると、1つのエラーや問題を解決するのに何日もかかることがあります。その間、コードを書く量が減ります。デバッグ自体は勉強になりますが、長期間コードを書かないと、プログラミングスクールなどで学んだ基礎を忘れてしまいます。

本能的にコードが書けるように、毎日、10分でも20分でもプロゲートなどを使ってコードを書くようにしましょう。問題を覚えるぐらいに、同じ課題を何回もクリアすれば、本能でプログラミングができるようになります。

少なくともプロゲートのRuby on Railsは10回以上クリアしましょう。

学んだことを記録する

学習をするたびに、学んだことを記録しましょう。

プログラミングスクールや学習サイト時代に、意味も分からず書いていたコードを、スクール卒業後の学習で、意味がわかるように理解していき、わかったことをメモしましょう。Qiitaやブログへの投稿まではしなくても良いですが、どれだけ小さな学びでもメモることが大事です。

そのメモの数が、実践で使える知識の量です。メモが増えるほど、現場での活躍が近づいていると実感することができます。

メモには、コードがたくさん含まれるので、Kobitoなどマークダウン方式のメモアプリを使うと便利です。コードも含めて、後から読みやすくメモる事ができます。

追記:
残念ながら、Kobitoのサポートが終了してしまいました。。。

QuiverというアプリがKobitoと同様、マークダウン方式でメモができて便利です。

そして、KobitoからQuiverへのデータ移行方法は、こちらで伊藤さんが紹介してくれています。ほんとに助かりました。

師匠/メンターを見つける

プログラミングスクール卒業後は、困ったときに相談に乗ってくれる師匠やメンターを作りましょう。

自社の職場のエンジニアや知人の中から、相談に乗ってくれそうな人を探すのが手っ取り早いでしょう。できれば複数人の師匠/メンターがいるとベストです。

周りに師匠やメンターになってくれる人がいない場合は、勉強会やもくもく会に参加して、師匠やメンターになってくれそうな人を見つけましょう。

勉強会やもくもく会は、connpassやTech Playで検索すれば、興味のあるものを見つけることができます。最初は初心者歓迎のものを探して参加すると良いです。

僕は、3〜4名の師匠/メンターがいて、時々、困ったときに相談させてもらいます。教えてもらってばかりでは申し訳ないので、案件の紹介をしたりして、Give & Takeのバランスを取るようにしています。

自分を鼓舞するブログ、映画を見る

どうしてもやる気がでなくなったら、プログラミング学習のやる気を鼓舞してくれるブログと映画を見ましょう。僕のおすすめのブログと映画はこちらです。

180 websites in 180 days.

非エンジニアだったジェニファー・デウォルトさんが、毎日1つずつ、180日間で180個のウェブサイトを作成するプロジェクトを報告するブログです。半年間、毎日1個サイトを作ることで、量が質に転化することを思い知らせてくれるブログです。

怠けそうになった時に、このブログを見ると、「負けられない」という気持ちが湧いてきます。

180 websites in 180 days.

ちなみに、この180日で180サイトを作成したジェニファーさんは、Y Combinatorのプログラムに選ばれてエンジニア創業者として起業しています。180サイトの制作の前から、起業に至るまでの過程は、こちらの記事で紹介されています。

私がどのようにして180日で180個のウェブサイトを作り、YC フェローシップ・ファウンダーになったか

ソーシャル・ネットワーク

Facebookのマーク・ザッカーバーグをモデルにした映画です。女の子の比較サイトから、世界中で使われるSNSに化けるまでを映画化したものです。

映画自体は、マーク・ザッカーバーグやその周りのメンバーの人間ドラマが中心ですが、この映画を見ると、ハッカーは世界を爆発的に変える力があると思えて、プログラミングの学習意欲がわきます。


ソーシャル・ネットワーク

ベイマックス

天才少年のヒロが、事故でなくなった兄のタダシが開発した心と身体を守るロボットのベイマックスや、タダシの大学の友人たちと科学技術力を駆使して活躍するといったストーリーです。

ベイマックスは、強くて優しくて、人に好かれるロボットです。ITを使って、ベイマックスのように人に喜ばれるサービスを作れたらなと思えます。5回ぐらい観ました。


ベイマックス

まとめ

エンジニアになるまでの600時間の学習を途中で挫折せずに続けるコツを紹介しました。プログラミングスクール卒業後も、学習を続けて、現場で活躍できるエンジニアになってください。

Boys Be Engineer!

Share on reddit

シェアする

  • このエントリーをはてなブックマークに追加

フォローする