まさ@ブログ書き込み中

自由に生きるための英語、プログラミング、考えごとについて色々書いています。

Ruby/RailsでWebエンジニアになるためのプログラミング学習法【入門】

f:id:masaincebu:20180729103726j:plain

 

皆さんこんにちは、まさです。

今回はRubyやRuby on Railsを学んでWebエンジニアを目指したい人が最初にやるべきことについて書いていきたいと思います。

 

未経験だけどプログラミングに興味がある方や、Webエンジニアとして就職したい人、プログラミングを勉強したことがあるけど続かなかった人に役に立てたら幸いです。

 

技術的な説明に関してはわかりやすく伝わるよう大雑把に説明しているところもあります。ご了承ください。

 

まさについて

まず、僕について少し紹介をしておこうと思います。僕は今年の4月からみんなのウェディングというIT企業でWebエンジニアとして働いています。

 

大学四年生の4月からRubyを勉強し始め、LINEのようなメッセージングアプリを作ってみたり、業務委託という形でエンジニアのお仕事をしながらRubyやRuby on Railsの知識をつけていきました。

 

プログラミングに触れてからは一年半近く、Ruby on Railsに触れてからはもう少しで一年になります。

 

この記事の中で紹介している勉強法は文系大学生だった僕が実際にやってみて効果的だったものなので、皆さんにとっても役に立つものだと思います。

 

RubyとRuby on Rails

まず、RubyとRuby on Railsの違いについて触れておきたいと思います。

Rubyはプログラミング言語であり、Ruby on RailsはRubyのフレームワークです。

 

フレームワークとは文字通り「枠組み」でして、Webアプリをより簡単に作れるように機能とかやるべきことをまとめてくれたものです。

 

Rubyを使ったWebアプリ開発をする際にはRuby on Rails(以下Rails)はとても便利です。もう少し詳しい説明は下のリンクにあります。この記事を読んだ後に興味を持った方は読んでみてください。

RubyとRuby on Rails の違いとは? | プログラミング教室情報サイト【プロナビ】

 

Railsを使うとしてもRubyの知識は必須です。何故ならRailsはRubyで書かれているからです。

 

確かに、Rubyの知識とRailsの知識をごちゃまぜにしながらRailsだけを勉強して簡単なWebアプリをつくることは出来ます。

 

趣味でプログラミングをするならそれでもいいのですが、Webエンジニアとして仕事をしていくのであればちゃんとした知識や技術力が求められるので、やはりまずはRubyの基礎知識を学んでおいた方がいいと思います。

 

具体的にどんな方法がオススメかは後で述べます。

 

Webの知識をつけよう

僕が他に必須だと思う知識はWebの基礎知識です。

 

先ほどから僕は「Webエンジニア」とか「Webアプリケーション」と簡単に言っているのですが、その言葉の具体的な意味やWebのしくみを一度知っておかないと、後々Webエンジニアとして働く上で困ることが出てくるからです。

 

そこでオススメするのがこの本です。

「プロになるためのWeb技術入門」 ――なぜ、あなたはWebシステムを開発できないのか

「プロになるためのWeb技術入門」 ――なぜ、あなたはWebシステムを開発できないのか

 

 

玄人のエンジニアの方の中には「これだけじゃ知識が足りない」と思う人や「何冊も読まないといけない」という方もいると思いますが、初めから難しい本を何冊も読んでも頭に入りませんし、苦しいだけです。

 

何も読まないでプログラミングを何となく学ぶよりは、この一冊をちゃんと読んでいるだけで理解度が随分と違うと思います。

 

ちなみに、プログラミングを勉強したての去年の僕が読書記録を拙い文章で残していますので、これを見てみて良さそうなら本を買うなり、図書館で借りるなりしてみてはどうでしょうか。

www.masalog.site

 

Rubyの知識をつけよう

Rubyの基礎知識をつけるために心がけて欲しいのはこの3つです。

  1. 網羅的にざっと知識を入れること
  2. 手を動かしながら知識を定着させること
  3. 楽しむこと

 

網羅的に知識を入れる

さっと知識を入れるために役に立つのはこの本です。

たのしいRuby 第5版

たのしいRuby 第5版

 

 

この本のいいところは網羅的なのにも関わらず極力わかりやすく、とっつきやすくなるように書いてあることです。

 

しかし、この本は23章まであり523ページあります・・・。当時の僕は「絶対Webエンジニアになるぞ!」という強いモチベーションがあったため読破しましたが、「長い・・・」と苦しい時期もありました。

 

なので、さらに入門者向けの優しくてとっつきやすい本としてこの本を紹介します。 

かんたん Ruby (プログラミングの教科書)

かんたん Ruby (プログラミングの教科書)

 

 

この本は600ページもありますが、僕の会社に一冊あったので覗いてみたところ、文字も大きく、挿絵もあってとてもわかりやすかったです。贅沢にページを使っているためページ数が多くなったんだと思います。

 

というわけで、上の二冊の中から自分のやる気や既にある知識量に合わせてどちらか一つを読むのをお勧めします。

 

これらの本ではコードを書きながら読むことが勧められるものもあるかもしれませんが、600ページ分コードを書きながら進むと時間がかかりすぎると思うので、ざっと読んでおくだけでいいと思います。手を動かすのは次に紹介する勉強法でやればOKです。

 

あと、読むときには全てを完璧に覚えなくて大丈夫です。もちろん読みながら理解しようとすることは大切なのですが、ざっと知識を知っておくことで、次からわからなくなったら「こういうのあったな」と調べればいいだけなので。

 

手を動かしながら知識を定着させる

本を読むのも大切なのですが、手を動かすのも同じくらい大切です。

 

Webエンジニアはコードを書くことになりますし、書くことで試される知識があります。何より本を読むだけだと退屈です。

 

そこで、ゲーム感覚でプログラミングを勉強できるProgateのRubyコースを紹介します。

prog-8.com

 

基本料金は無料なので、とりあえず会員登録をすることをオススメします。

 

楽しむ

もともとRubyはプログラマがストレスなく楽しむ書けるよう作られた言語だと言われています。やっぱりRubyの勉強も楽しくあるべきだと僕は思います。楽しくないと勉強も続きませんし、幸せじゃないからです。

 

Rubyの勉強を楽しむためには以下のようなことが効果的です。

  • 一緒に勉強する仲間や他の人と一緒に学ぶ機会を作る
  • 実際に書いてみたいプログラムを考えてみる
  • ワクワクする未来をイメージさせるブログや動画を見る

 

イベントに参加する

一緒に勉強する仲間を見つけたり、他の人と一緒に学ぶのに効果的な策は勉強会に参加することです。以下のようなイベント検索サイトで探してみるのがいいとおもいます。

TECH PLAY[テックプレイ] - IT勉強会・セミナーなどのイベント情報検索サービス

 

イベントの例としてはプログラミング歴2年程度までの人だけを対象としていて「Ruby や Web プログラミングのたのしさを知る旅のスタート地点」として開催されているよちよち.rbも良いかもしれませんね。

よちよち.rb | Doorkeeper

 

エンジニア界隈にはただただある場所でいろんな人で作業をするだけの「もくもく会」なるものがあります。そういったものを探すのも良いと思います。

 

書きたいプログラムを考える

せっかくプログラミングを学ぶのなら、それを使ってなにか便利なツールを作ってみるのも一つの楽しみになるかもしれません。

 

複雑じゃなくても、とても役に立つものでなくても、自分が「これができたら面白いな」と思うものがあればRubyを使って作ってみるのがオススメです。

 

僕は最近Rubyでメルカリの検索結果を取得するプログラムを遊びで書いてみました。そこから「最安値を出そうか」とか「検索の速度を早くしたいな」とか、「あるキーワードで最安値の商品が出品されたら通知がくるようなアプリ作ろうかな」とやりたいことは色々膨らみます。

 

こんな風に「思いついたものを自分で作れるんだ!」という喜びを通じて学習を楽しむのも一つの手です。

 

ワクワクする未来をイメージさせる動画やブログを見る

皆さんがWebエンジニアになりたい理由は何なのかわかりませんが、それぞれの期待する未来や理想像があると思います。その未来や理想像を思い起こさせてくれる動画や誰かのブログを見ることをオススメします。

 

僕がプログラミングを始めたばかりの時にはフリーランスのエンジニアに憧れを抱いていたので、坂内学さんが書いているmanablogをよく読んでいました。

manablog.org

 

まとめ

今回も長くなりましたが、結構本気で書いたので、プログラミングを勉強したい方は是非これらの情報を駆使して、最高にワクワクするプログラミング入門LIFEを送って頂きたいです。

 

何はともあれ、まずはProgateの会員登録をすませて、Ruby入門コースをやってみてはどうでしょうか。

prog-8.com

 

それでは今回はここまで。ではまた。

 

追記

この学習法を実践した人は、こちらを参考にして次のステップへ進んでください。

【Progateを卒業】Ruby/RailsでWebエンジニアになるためのプログラミング学習法【入門その2】 - まさ@ブログ書き込み中