エンジニアの副業は週1からでも可能?副業の例や探し方も解説
- ITエンジニア
- 副業
英語を話すような直感的な感覚でコードを書けるプログラミング言語、Ruby。開発者が日本人ということもあり国内のエンジニアコミュニティが活発なこのプログラミング言語には、フリーランスのエンジニア向けの案件も豊富にあります。
今回は、フリーランスのRubyエンジニアの仕事内容や年収、需要などについて紹介していきます。
目次
フリーランスのRubyエンジニアには次の2つの特徴がよく見られます。
これらについて、ひとつずつ紹介します。
フリーランスのRubyエンジニアには、なんでもできるフルスタックエンジニアが多いです。
なぜならフリーランスのRuby案件は少数精鋭のメンバーでチームを組むことも多く、限られた人員の中でアプリやサービスの開発からリリース、運用まで幅広い業務をこなす場合が多いからです。
そういったプロジェクトに携わっているうちに、サーバーサイドやフロントエンド、DB設計やインフラなどジャンルを問わずなんでもできるフルスタックエンジニアになることができます。
また一方で、フリーランスのRubyエンジニアは「チャレンジ精神が旺盛」という特徴もあります。
なぜならフリーランスのRuby案件には、他の言語と比べるとスタートアップ企業のプロジェクトが比較的多く、そこに参画するエンジニア自身もスタートアップ系の気質や文化を受け継いでチャレンジ精神旺盛になる傾向があるからです。
Rubyには規約に従うことですばやくベストな実装でWebアプリを開発できるフレームワーク、Ruby on Railsがあるので、短期間のうちにサービスをリリースしたいスタートアップ系のプロジェクトとの相性がよいのです。
フリーランスのRubyエンジニアの仕事は、主にRuby on Railsを使ったWebアプリの開発です。
小中規模のチームをつくってスピーディーな開発速度でサービスをリリースするプロジェクトが多いので、案件に参画するフリーランスのRubyエンジニアは、スピード感を持ちながらチームのメンバーと協力して開発にあたります。
また、サービスとしてリリースするために必要なさまざまな仕事をプロジェクト内でこなすので、Rubyの知識のみならず、フロントやインフラの知識も要されます。
フリーランスのRuby案件の平均単価はおよそ30万円〜80万円です。
Ruby案件の場合、額が高い案件ではフロントやインフラについての経験も豊富な「なんでもできるエンジニア」が求められることが多いです。
高額案件では、たとえば以下のような案件があります。
案件単価 | 80万円/月 |
プロジェクトの概要 | 不動産売却のマーケティング支援サービスの開発 |
必要なスキル/経験 | Ruby on Railsを用いたWebアプリ開発経験、拡張性の高い設計や開発の知識、Vue.jsの知識、セキュリティの知識、テストフレームワークを利用したテスト工程の経験 |
あればよりよいスキル/経験 | 新規サービスの立ち上げ経験、API開発経験、Docker/Kubernetesを使った開発経験、GCPやAWSなど、パブリッククラウドの知識や経験 |
このように、Rubyのハイレベル案件では高い報酬額を望めますが、それだけに幅広い知識と経験が必要とされます。
一方で、案件単価30万円ほどの案件ではここまで幅広い経験は求められません。サーバーサイドを中心とした技術以外はあまり自信のない人や、これからRubyエンジニアとして活躍しようと思っている人でも参画しやすい案件が多いです。
単価30万円ほどの案件では、たとえば以下のようなものがあります。
案件単価 | 35万円/月 |
プロジェクトの概要 | マイクロサービスのWeb APIの開発 |
必要なスキル/経験 | Ruby on Railsを用いたWebアプリ開発のスキル、SQLの知識 |
あればよりよいスキル/経験 | DB設計やGitの知識 |
このようなWeb APIの開発が中心となる案件では、高額案件のようにフロントやインフラを含む幅広い知識がなくても対応できるので、難易度はあまり高くありません。
少数精鋭でのスピード感のある開発と、そして同業他社に負けない迅速なサービスのリリースが求められるRuby案件では、ひとりでなんでもできるフルスタックエンジニアが高額な報酬を受け取ることができます。
選り好みせず、Webアプリの開発と運用に関わる知識を幅広く徹底的に深めていくことで単価アップを図ることができます。
フリーランスのRubyエンジニアとして活躍するためには、以下の3つのスキルが必要です。
これらについてひとつずつ紹介していきます。
Ruby案件の大半は、Ruby on Railsを使用したWebアプリ開発の案件です。そのためフリーランスのRubyエンジニアになるには、Ruby on Railsのスキルは必須です。
フレームワークとは、「定められた規約(やり方)に従うことで、開発を手助けしてくれるもの」です。世の中にはさまざまなフレームワークがありますが、大別すると「規約が厳しい代わりに多くを自動化してくれるフレームワーク」か、「規約がゆるい代わりにあまり多くは自動化してくれないフレームワーク」に分かれます。
このどちらかに分類するなら、Ruby on Railsは「規約が厳しい代わりに多くを自動化してくれるフレームワーク」です。
そのためRuby on Railsを使いこなすには、Ruby on Railsの規約についてしっかりと理解する必要があります。規約から外れた使い方では、あまり効率よく開発できないからです。
たとえばRuby on Railsに組み込まれている強力なORMである「Active Record」を規約に従いながら使用すれば、以下のようなわかりやすい記述でデータベースのレコードをオブジェクトと関連付けながらの操作が可能です。
# 「chapter」と「title」というカラムを持つ「books」テーブルがあるとした場合 # ---- booksテーブルへのレコードの追加 ---- # SQLなら次のように書くところを…… # insert into books(chapter, title) values(1, "sky_crawlers"); # Active Recordならこう書ける Book.create(chapter: "1",title: "sky_crawlers") # ---- booksテーブルから全レコードを取得する ---- # SQLなら # select * from books; # Active Recordなら Book.all # ---- レコードを更新する ---- # SQLなら # update books set title="cradle_the_sky" where chapter="1"; # Active Recordなら book=Book.find_by(chapter: ‘1’) book.update(title: 'cradle_the_sky') # ---- 特定のレコードをbooksテーブルから削除する ---- # SQLなら # delete from books where title="non_but_air"; # Active Recordなら book=Book.find_by(title: ‘non_but_air’) book.destroy
Active Recordを使用すれば、このように簡潔な記述でレコードをオブジェクトとして扱いながら操作できるので、可読性が高く、Rubyのコードでレコードを複雑に操作することも可能なのです。
Ruby on Railsの規約をしっかりと理解して、「Rails流」のやり方でスピード感ある開発をできるようになりましょう。
案件の大半がRuby on Railsを用いたWebアプリ開発であるRubyは、その性質上、仕事の中でHTML、CSS、JavaScriptなどのフロントの知識も求められる場合が多いです。
近年はとくにJavaScriptの発展が著しく、モダンで優秀なライブラリが次々と登場しています。JavaScript自体のアップデートも定期的に行われており、年々Webアプリ開発のプロジェクトにおけるJavaScriptの重要性が高まっています。
したがって、Rubyをはじめとしたサーバーサイドの知識だけではなくHTML、CSS、JavaScriptなどのフロントのスキルが高ければ、プロジェクトでより活躍できるようになります。
RubyのWebアプリ開発では、小中規模のチームを組んで開発にあたる場合が多いです。そのため、複数人での開発を上手に進めていくためにGitを使ったバージョン管理の知識が必要不可欠です。
Gitを使えばソースコードの過去の履歴をたどったり、複数人が同時に同じファイルを編集して、あとで上手にそのファイルの内容を合体させることなどができます。
たとえば以下のようなコマンドで、ソースコードの適切な管理が可能です。
# 編集したファイルをステージングする #(Gitが管理するソースコードの記録場所に記録する前準備) git add ファイル名 # ステージングしたファイルを新しいバージョンとして記録する git commit -m 「記録するバージョンについての説明」 # プロジェクトメンバーが共有する記録場所からソースコードを取得し、 # 差分があれば自分のソースコードと合体させる git pull # プロジェクトメンバーが共有する記録場所に、 # 自分が記録したソースコードの新しいバージョンをアップロードする git push
Gitには他にもさまざまなコマンドがあり、それらを使いこなすことで、複数人でのソースコードの管理を柔軟に行うことができます。
Gitをはじめとしたバージョン管理ソフトは、Ruby案件に限らず、小中規模のチームを組んで開発にあたるプロジェクトの大半で利用されているので、しっかり理解して使いこなせるようになりましょう。
一時期のRuby人気を考えると、2019年現在のRubyの案件数はかつてほど多くはありません。
しかし「すばやい開発とベストな実装、迅速なサービスのリリース」を考えたときにプロジェクトが採用するプログラミング言語の選択肢として、Rubyは未だ有力候補のひとつです。
とくにスタートアップ企業をはじめとした「スピード感を重視する業界」でのプロジェクトにおける人気は根強く、現在すでにRubyで動いているWebシステムも多いことから、Rubyエンジニアの需要はこれからも続いていくことでしょう。
将来性についても同様で、現在勢いのあるPythonのような華々しい案件数の伸びは見られませんが、これからもさまざまなプロジェクトで長く使われていく言語であり続けます。
Ruby案件は、比較的在宅やリモートワーク案件が多いです。
なぜならプロジェクトにRubyを採用する企業は比較的「若い世代の新しい価値観を許容する企業」である場合が多く、リモートワークへの理解があるからです。
プライベートとの兼ね合いで職場への出勤や混雑する時間に通勤することが難しい人にとって、働き方という点でもRuby案件はおすすめです。
結論から言えば、未経験からフリーランスのRubyエンジニアになることは可能です。
なぜならRubyには多くの未経験者が仕事で活躍できる人材になるための教材やチュートリアルが豊富にあり、さらに国内での人気が高く、日本語のドキュメントが充実しているからです。
ただし注意する点として、Rubyは動的型付け言語なので、学び方によってはプログラミングにおいては重要な要素である「型(クラス)」の理解がおろそかになりがちです。
(なお、動的型付け言語とは「型がプログラムの実行時に決まる言語」です。コード中に型を書く必要がない、という特徴を持っています。)
その点を考慮すると、はじめからRubyを学習するのではなく、まずJavaなどの静的型付け言語(型を実行前に指定する言語。コード中に型を書く必要がある)を学習するのがおすすめです。場合によってはJavaエンジニアとして案件を経験するのもよいでしょう。
『Workship』に登録すれば、幅広いフリーランスのRuby案件の中から自分にぴったりの案件を見つけることができます。
フルスタックエンジニア向けのハイレベルなものから比較的難易度の高くない初心者向けのものまで、さまざまなレベルのRuby案件があるので、自分のスキルに合ったプロジェクトを選ぶことができるのです。
腕に自信のある人も、これからRubyエンジニアとしての技量を高めていきたい人も、フリーランスとして活動するならWorkshipに登録するのがおすすめです!
50,000人以上が使う!日本最大級のフリーランス・副業向けマッチングサービス『Workship』
詳細
利用料 | 無料 |
登録者数 | 50,000人以上 |
マッチング | 最短即日 |
執筆:sig_Left
編集:Workship MAGAZINE編集部
アイキャッチデザイン:T