更新情報

はじめまして、こんにちは。

新たにコラムを担当することになりましたタイムシフト株式会社の野呂浩良(のろひろよし)と申します。

 

私は、29歳ではじめてプログラミングすることを経験し、その後34歳で約2ヶ月間集中して自習してWebアプリケーションの開発を行い、Rails3技術者認定ブロンズを取得した経験があります。本業では、初心者向けのプログラミング学習サービス「Dive intoCode」の運営と講師を務めています。

 

最近、エンジニア経験がない人が、起業や新規事業創造のためにWebサービスを開発したい、フリーランスで在宅勤務でエンジニアとして働きたい、という傾向が増えているように感じます。しかし、そのために自分で学ぶには方法がわからない。どのように学ぶのが一番よいのか、最初の学び始めからつまづいてしまう、という声もまたよく聞きます。

 

プログラミングスキルを身に付けたいと思う人が多い一方で、学ぶ最初の段階で学び方がわからず挫折してしまう人が多いです。その理由は、自習しても目的を達成するためのプロセスが見えず疲弊してしまうこと、前提知識がないため既存の媒体や書籍で断片的な情報を手に入れても腹落ちして理解しきれないこと、が主な原因ではないかと思います。

 

そのため、私自身がアラサー経験ゼロの非エンジニアからWebエンジニアになるまで挫折せずに到達できた過程とそれぞれの過程で何が重要だったかをコラムとしてお伝えしていくことにしました。

 

このコラムでは、私が経験ゼロからWebエンジニアになるまでの学習プロセスについて(2014年8月から11月まで)をお伝えしていきます。これかRailsを学習される方は是非、ご参考いただければ、幸いです。

 

 

■はじめの一歩 8月中旬

 

2014年8月中旬、はじめてRuby on Railsをさわり、Webアプリケーションの開発をはじめました。その目的は、11月初旬までにWebアプリケーションを開発するためです。この時点で期限を決めていました。

 

学び始めにまずは環境構築と思い、環境構築を進めるものの手順が誤っていたのか度々エラーが発生して6時間がたちました。書籍を参考に色々とお作法を確認しながら、なんとかHerokuへのデプロイ&公開への手順を一巡することができたのが、8月22日でした。
かなり時間がかかったことにショックを受けたこと、難易度が思っていたよりも高いことに燃えたことを覚えています。

 

当時、最初に構築したローカルの環境は以下でした。

 

・Rails 4.1.5

・Ruby 2.0.0

・SQLite3

 

Railsは、より便利な機能がそろっている最新バージョンが良いと考え、4.1.5にしました。Rubyはそれにならってのバージョンです。DBMSは、特に何を使うかを決めていなかったため、最初はSQLite3を使いました。なお、これは当時から、実行したスクリプトをメモとして記録していたからわかります。

 

記録をしていたのは、前職でERPパッ ケージの運用保守を担当しており、コマンドプロンプト上で実行したコマンドは、自分で履歴を追えるように記録する必要があったためです。記録せずに作業を 進めてしまうと、自分が何をしたのかの事実がわからず、エラーが発生した際に事実確認ができずに時間を浪費してしまうからです。

 

当時のスクリプトの記録が残っていますので共有すると以下のようなものです。

 

###Railsアプリ&Heroku公開用スクリプト

 

#作業ディレクトリに移動

cd /d C:\data

rails new myapp

cd myapp

 

rails s

http://localhost:3000/

rails g scaffold User name:stringscore:integer

 

#DB設定をDB作成へ反映作成させる

rake db:migrate

rails s

 

#gitbashでHeroku登録開始

cd c:/data/myapp

git init

git status

 

#Heroku側にアプリケーション作成(既に作成してあれば不要)

heroku create [アプリ名]

 

#gemfileのsqlite3記述を変更しHeroku対応(sqlite使えない)をする

gem ‘sqlite3’, groups: %w(testdevelopment), require: false

gem ‘pg’, groups: %w(production),require: false

bundle install

 

#Git登録更新

git add .

git commit -m “myapp”

git remote add herokugit@heroku.com:herokuアプリケーション名.git

 

#remoteが先祖でない場合は-fで強制上書きする

git push -f heroku master

 

heroku run rake db:migrate

heroku open

 

 

こういったものを自分のメモとしてファイルに記載して必ず毎日残していました。

 

この流れを基本形として、8月末まで「HerokuではじめるRailsプログラミング入門」を参考書に、時折動画の学習サイトを見て、写経をしながら一つずつ手順を学習していきました。学習時間は、毎日約10時間完全に独学で、気軽に質問できるエンジニアはゼロ。まずは、書籍を写経して基礎を理解することが大切だと思い学習していました。書籍は、Amazonの書評をみつつ、インターネット上に公開することに役立ちそうなものを選びました。毎日10時間の自習を1~2週間をかけて、ようやく「HerokuではじめるRailsプログラミング入門」を終わらせることができました。

 

毎日、わからない用語や仕組みが大量に発生するため、一つずつ確実に理解できる言葉になるまでインターネットですべて調べ、自分のブログにメモとしてまとめていきました。

 

学び始めのころに特に困ったことは、

・書籍に記載されているRuby on Railsのバージョンが古く、最新のバージョンでは動作しないことが頻発した

MVC 構造の意味やRuby on Railsの規約が強く影響している処理の流れがわからず、エラーがなぜ、どのような流れの中で起きるのかがわからなかった

・内部の変数と画面上に表示される値のパラメータのやり取りの仕組みがわからなかった

等です。

 

■振り返り

 

学び始めの段階では、環境構築に想定外の時間がかかります。私は6時間でできましたが、IT業界未経験でコンソールを使ったことがほとんどない人にとっては、数日〜数週間かかることがよくあります。

 

あえて最初からローカル開発環境を自力で構築する必要はないと思います。自力でできたとしても手順通りにやっただけで仕組みを理解するには、多くの時間を費やします。今は、Nitrous Proなどの開発環境を30分以内に構築できるサービスがあります。まずはそれを使い学ぶ環境を早く用意することが肝心です。

 

また、使う書籍は自分が使う環境のバージョンにあったものにすることで、想定外の学習コストがかからずに済みます。何のバージョンを使っているのかを把握してそのバージョンの書籍から学んでいきましょう。

 

そして、いきなりRubyの書き方を学習するのではなく、全体像や処理の流れを理解することを最優先にすべきです。森を見ずに木を見ていては、自分がどこに向かうのかもわからないまま、目の前の木の登り方だけを見ているようなものです。遅々として進みません。

 

Rubyon Railsのフレームワークの全体像、特に処理の流れがどのように流れるのか、これを最初の初週に理解できれば、パラメータの受け渡しの仕組みを理解する前提知識となり、学習スピードがグッと上がったと思います。

 

この全体像を理解することについては、あまり書籍やインターネット検索をしても解説がでていない(見つけることが難しい)です。完全に独学で学ぶ人にとって、一番大きな壁になると思います。ここだけでも有料のセミナーや講座を受講して、早々に腹落ちして理解することが重要です。

 

ま たこれはすべてのことに言えますが、わからないことは「一つひとつ腹落ちして理解するまで放って置かないこと」です。プログラミングは、前提となる知識の 上に積み上がって次の知識を得られる傾向が極めて強いです。土台がしっかりしていなければ、新しい知識を積み重ねることはできません。対策として、わから ないことリストを単語レベルで作成し、そのリストの内容についてインターネット検索で確実に意味を理解することが有効です。

 

少しでもご参考になることがあれば幸いです。