未経験からRubyを独学して就職・転職する為の最小限スキル
私はRubyとRuby on Railsを独学してRubyエンジニアとして採用されたことがあります。
私の場合、業務システム開発でサーバーサイドJavaのエンジニア経験があっての採用でしたが、エンジニア経験が全くの未経験からでも、Rubyを独学してWebエンジニアに就職することは十分可能だと思います。
Rubyエンジニアの求人はJavaやPHPに比べて少ないですが、その分Rubyエンジニアの数も少ないのでエンジニアが足りない状況だからです。
プログラミングは趣味でやるより、仕事でやった方が早くたくさんのことを学べるので、最小限の知識を学んで就職し、足りない分は働きながら学ぶのが一番だと思います。
働きながらの方がお金ももらえるし、実戦レベルのコードに触れられるし、先輩エンジニアから教わることもできますからね。
ということで、Rubyエンジニアに就職するための最小限の必須スキルを紹介します。
Contents
必須スキル1. Rubyの基礎知識
まずは、
- if文やループ等の制御構文
- class, public, private等のオブジェクト指向構文
- 配列、ハッシュ、文字列操作などの基礎的な使い方
を覚えます。
これらは初心者向けのRubyの本やWebサイトを読んで、いくつかコードを打ち込んでいる間に自然と覚えられます。
プログラミング言語は言葉なので使ってるうちに自然と身につきます。
言葉ってそういうものです。英語も使えば覚えられるはずなんですけど、日本に住んでいるとなかなか使う機会がないですよね。ですが、プログラミング言語は作りたいものを作ってるうちに自然と使いながら覚えられます。
[RubySchoolText]
必須スキル2. Ruby特有の癖。ブロック渡し、メソッドチェーン
Rubyはオブジェクト指向言語であり、無駄がなく美しい文法を持つとても学びやすい言語ですが、コードの書き方には他の言語にない特徴があります。
ブロック渡し
ブロック渡しとは、他の言語でいうと無名関数を高階関数に渡すことです。JavaScriptの例は以下のようになります。
function aisatsu( theAisatsuFunc ) theAisatsuFunc(); console.log("本日はよろしくお願いします。"); end //朝のあいさつ aisatsu(function() { console.log("おはようございます!"); } //昼のあいさつ aisatsu(function() { console.log("こんにちわ!"); }
個別のあいさつの後に「本日はよろしくお願いします。」とあいさつする機能の例です。
挨拶の種類が増えても「本日はよろしくお願いします。」のコードが一カ所で済むように共通化できます。同じ機能をRubyで書くと以下のようになります。
def aisatsu( &block ) block.call p "本日はよろしくお願いします。"; end #朝のあいさつ aistsu do p "おはようございます!" end #昼のあいさつ aisatsu do p "こんにちわ!" end
Rubyの場合、このようなブロック渡し(do … endの部分)を使う場面が多々あります。配列のループでも以下のようにブロック渡しを使います。
numbers = [1,3,43,4,64,2] numbers.each do |num| print("num = ", num) end
ブロック渡しは2種類の書き方があります。
- do … endという書き方
- { … }という書き方
どちらの書き方でも意味は同じです。
先程の配列ループ処理を2の書き方をすると以下のようになります。
numbers = [1,3,43,4,64,2] numbers.each { |num| print("num = ", num) }
メソッドチェーン
Rubyはメソッド呼び出しをチェーンのように連鎖させるコードを多用します。
selectしてcollectして、みたいなことをしたい時には、select{…}.collect{…}のようにメソッドをつないでいきます。
numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9] # 3の倍数の要素のみを選択し、その各要素に2を掛けた配列を返す results = numbers.select {|item| item % 3 == 0 }.collect {|n| n * 2 }
メソッドを繋いでいくことで配列を絞り込んだり加工したりするわけです。
必須スキル3. Ruby on Railsの基礎知識
Rubyの求人の多くはRuby on Railsを使う仕事です。
深い部分は入社してから学べばいいですが、Railsがどんなものかを大まかに理解してかんたんなアプリケーションを作れるようになっておくと採用されやすくなるでしょう!
Rubyエンジニアは意外と少ない?
技術系ブログなんかを読んでいるとRuby利用者はとても多いように感じますが、実際はまだまだ少ないそうなんです。
私が以前、Unityのゲームエンジニア求人に応募した際に手違いがあって、面接に行ったらゲームのサーバーサイドをRubyで開発する仕事だったことがありました。
この時、私はRubyの仕事が未経験だったのですが、趣味で開発したゲームのサーバーサイドでRuby on Railsを使っていることを職務経歴書に書いていたので、書類選考が通ったのかなと思います。
その場で機転を利かせて、Rubyの仕事に応募したスタンスで受け答えした所、採用されたんです。しかも超ウェルカムな感じでした。
後日、転職エージェントに聞いた所、「RubyエンジニアはJavaやPHPに比べて少ないので未経験者でも採用したい企業はよくあるんですよ。」とのことでした。うれしい話ですね!
最小限に絞れば学ぶべきことは意外と少ない
Rubyって、次々と新しい機能が追加されていて学ばなければいけないことが膨大なイメージがありますが、仕事をするために必要な最小限のスキルは限られています。
ここで紹介した最小限の知識を学べば、未経験からRubyエンジニアになることは十分可能です。ぜひトライしてみてください!
既にこのような知識をお持ちの方は、転職活動をしてみてください。あなたを必要としてる会社がきっと見つかると思います!