これからRuby on Railsのエンジニアを目指す人へ
これからRuby on Railsのエンジニアがす少し前から増えてきており、最近は空前の人不足でさらに増えてきているようですので、これからRuby on Railsのエンジニアを目指す人へ参考情報をお伝えします。
ご存知の方も多いと思うのですが、2014年にWantedlyがWeb系スタートアップのサービスの1/4がRailsで稼働しており、言語シェアで1位になったと発表しています。このシェアは年々増加しており、2014年調査で初めて一位になりました。今後はますます増えて行くことが予想されています。また、米国では平均年収が1300万円になったり、日本の求人の1割が年収900万円を超えたりと年収でバズったりもしています。また、本来のRailsの良さに惹かれて、やろうかなって思う人もいると思います。
※Railsエンジニアの年収や市場データを以下のページでまとめていますのでご参考ください。http://www.railscp.org/rails.html
ちなみにRailsがスタートアップ企業で採用されている主な理由は以下だと考えています。
・開発工数の短さ
Railsは必要最小限のコードでプログラムを作成でき、コマンドでソースコードを自動生成する機能が装備されており、開発効率の高さが評価されています。開発効率が高いため、企業としては早期収益化を見込みやすいため、多くのスタートアップ企業がRailsを採用しています。
・引き継ぎ・開発チームの拡大が比較的容易
設定ファイルなど書き方がある程度決められているので引継ぎや開発チームの拡大などが比較的容易です。
実は上記の採用理由はスタートアップサービスにのみ有効なわけではありません。開発工数を抑えたいニーズはどの企業でもある事であり、開発チームを柔軟に組みたいニーズもどの開発会社にも言えることでもあります。しかも、Railsが得意とするWeb系のシステムはECサイトやSNS、ブログのようなコンシューマー向けのサイトに限らず、エンタープライズ系のシステムにおいてもフロントがWebブラウザであればかなり高い効果を発揮することが言えます。
ネットでRails事例を検索して見ると大型のECサイトやSNSなど有名なWebサービスの事例が多く出てくるようになりました。Railsを学習されている方の多くはそういう開発案件を想像する方も多いと思います。実際にRailsの経験者はそのような仕事に就く方も多いです。ただ一方で事例としてはあまり公開されていませんが、企業内の業務システムでも使用されているのも事実です。Railsの仕事の幅はかなり広がってきていると言えると思います。それ故に国内の求人件数は5000件(2014年9月Indeed Japan)ほどになり、前年度比で140%の増加をしています。
Railsエンジニアの就業内容
Railsの基本思想はWebサービスを開発する際のルール(Rails way)を決め、そのルールを集めることで開発効率を向上させようというものです。 Rails wayにはWebサービス開発における常識を理解したうえでの暗黙値が存在していますので、Railsエンジニアとして実戦経験を高めていくには、Webサービスの開発における全般的な常識を知っておく必要があります。しかも現場ではデザイン設計やDB設計からコーディングまで一人ですべてを担当しなくてはいけない現場も少なくはありません。そういう意味ではRailsエンジニアを目指していく方は一人で一つのWebサービスを構築できるくらいの力量があることが好ましいです。現在初心者の方にとっては遠い道のりになりますが、生涯にわたってもプログラマーとして就業していくのであれば、Railsをマスターすることは大きな糧を得られることを意味します。それ故に、米国ではRailsエンジニアの平均年収が1300万円になったり、日本でも約10%近い求人が年収900万円以上になるのです。また、Railsをマスターすることは、プログラマーとしての楽しさや自己実現の幅を広げられるので給与以上の価値があるとも思います。
アジャイル開発について
Railsの開発現場ではほぼアジャイル開発という方式で開発が進められます。よってRailsエンジニアを目指す方は、アジャイル開発のやり方を知り、慣れておく必要がります。アジャイル開発についてはなれていない方は書籍などで勉強しておくとよいと思います。個々では簡単な概要のみ説明します。アジャイル開発と対照的なのはウォーターフォール型開発方式です。ウォーターフォール型開発方式は現在までの主流な開発方式で、開発経験者であればどなたでも経験したことがある方式です。仕事の依頼を受けた際に、機能要件などをクライアントと定義し、予め開発する内容を全て決めてから開発を行う方式です。
アジャイル開発は実は最初に全ての機能要件を決めずに開発を進めます。まさに開発しながらクライアントとの機能要件も詳細を詰めていき、開発をしていくスタイルです。代表的なアジャイル開発手法としてはエクストリーム・プログラミング(XP)というものがあります。こちらも書籍が出ているのでそちらをご覧ください。書籍ではどうにも頭に入ってこないという方は、日本XPユーザグループ(XPJUG)がXP祭りというイベントを毎年開催しているので、興味がある方はそちらに参加するとよいと思います。
また、直近では3月28日にエンタープライズRailsシステム開発でつまずき易いポイントを解説する無料セミナーを開催します。興味がある方は以下をご覧ください。
https://railsjob.doorkeeper.jp/events/21351
追伸:こんな文章を書く、私はどんな生活をしているかと言うと、、、以下のFacebookアカウントを見てください。
https://www.facebook.com/tadashi.yoshimasa
※面識のない人からのお友達申請は原則NGです。お友達申請されるときはメッセージもお願いします。ほぼ100%情報公開しているので、フォローするだけで全部見えます。