Gem

この記事はGemについて解説した記事です。会話形式のやさしい文章で「Gem」の用語のイメージを紹介した後に、採用に役立つGemの知識を解説しています。

1分で分かる!Gemとは?

ねぇねぇ、ジャバード先生。Rubyの開発ってどうすれば生産性がアップするの?

Rubyの開発?いろいろあると思うけど、何かあったの?

実はね、キリンさんがRubyの開発で困っているみたいなんだ。

たしかキリンさんって、RubyやRuby on Railsでアプリケーション開発していたよね?

あ、そうそう。キリンさん、今度やる機能追加でAWSのサービスを使うみたいなんだ。でも、そこがなかなか上手くいってないみたいでさ…。

そういうことか。キリンさんってgem (ジェム)は使っているのかな?

gem??

そう。gemっていうのはRubyのライブラリのことだよ。便利な機能やよく使う機能を、あらかじめ部品化したようなものだね。

他のプログラミング言語のライブラリと同じ様なもの??

そうだね。RubyやRuby on Railsで開発するなら、gemは活用したほうがいいよ!

じゃあ、キリンさんが抱えている困りごとも、そのgemを利用すれば解決するってことかな?

そうそう!今回キリンさんはRubyからAWSのAPIを呼ぶことになると思うんだけど、aws-sdk-coreっていうgemを使えばサクッと開発できるんじゃないかな?

そうなんだ!すごい便利だね!他にはどんなgemがあるのかな?

実はこの前お話ししたRSpecもgemの1つなんだ。ほかにも、ユーザー認証を簡単に実現できるgem、ファイル操作に特化したgem、データベースを管理するgem…。挙げればキリがないほど、たくさん存在しているんだよ。

そんなにあるんだね!

ちなみにgemパッケージは自分で作って公開することもできるんだよ。

そうなんだ!そうやってエンジニアさんが、どんどんgemパッケージを公開すれば、もっと便利になっていきそうだね!

ことりん君がいうように、既にそういうエコシステムができあがっているんだよ。ギブ アンド テイクの精神ってやつだね!

じゃあキリンさんにはgemのこと伝えておくよ!そしてキリンさんにも、gemパッケージの公開をおすすめしてみるね!

キリンさん、きっと喜んでくれるんじゃないかな!

そうだね!じゃあ行ってきまーす!

気を付けてね!

gemとは?採用に役立つ基礎知識

gemには2つの意味があります。

1つは、Rubyのライブラリ (パッケージ)のことです。ほかのプログラミング言語では、そのまま「ライブラリ」と呼ぶことが多いですが、Rubyでは、gem (またはgemパッケージ)と呼ばれています。もう1つは、それらのパッケージを管理するシステムであるRubyGemsをgemと呼ぶことがあります。

なお、自分が開発したgemは、RubyGemsに公開することができます。また、同じ様に他のエンジニアが公開したgemをインストールすることもできます。

gemを使うエンジニア

gemは、RubyやRuby on Railsを使うエンジニアが利用します。そのため、主にRubyでサーバーサイドを開発するサーバーサイド(バックエンド)エンジニアなどが使用します。

gemを使うエンジニアの特徴と在籍業界

gemは、Rubyエンジニアにとって無くてはならないものです。そのため、gemを使うエンジニアに特筆すべき特徴などはありません。

なお、Rubyエンジニアは、Web業界に多くいます。そのため、必然的にgemを使うエンジニアも、Web業界に多くいるといえるでしょう。

採用する時に知っておくとよいこと

gemのダウンロード数から見るRubyの人気度

さまざまな団体が、プログラミング言語に関するランキングを発表しています。昨今、それらのランキングで、Rubyのランクは下降している状況が続いているようです。そのため「Rubyはオワコンだ」と主張している人もいます。

ただ、gemを公開しているサイトの1つであるBestGems.orgを見ると、その見方は少し変わるかもしれません。このWebサイトでは、gemのデイリーダウンロード回数をランキング形式で表示しているのですが、トップのgemは200万回に迫る回数もダウンロードされています。

このダウンロード数を見る限り、まだまだRubyの人気は健在といえるのではないでしょうか。

求人のポイント

求人を作成する時は、下記の内容を求人に入れるとよいです。

1システム(サービス)の詳細
※特にそのシステム(サービス)をなぜ作っているのかを熱量をもって記載する。
2開発環境
3現在のエンジニア組織の体制
4現行システムの課題と募集の背景
5求められる業務と期待値
6エンジニアとしてのスキルアップ支援制度の有無と詳細
7エンジニアチーム内での相互成長のための仕組み(勉強会やLT会など)の有無と詳細
8選考フロー
9待遇
10キャリアパス

gemの豆知識

代表なgem

RubyやRuby on Railsは、gemをインストールすることで開発効率がアップしたり、品質を高めることができます。ここでは人気が高いgemをいくつか紹介します。

Bundler

Bundlerは、gemパッケージを管理するためのgemです。

アプリケーション開発を行うとき、そのアプリケーションに必要となるgemパッケージや、それらのバージョンについて、メンバーで一致させておく必要があります。これを実現するのがBundlerです。

ちなみにBundlerは、なんと累計9億3,000万回もダウンロードされています。

参考:Bundler

rspec

rspecは、RubyやRuby on Railsのテストフレームワークです。rspecを使うことで、テストコードを簡単に実装することができます。

rspecも非常に人気があるgemであり、これまでに5億8,000万回もダウンロードされています。

参考:rspec

aws-sdk-cor

aws-sdk-coreは、AWS用のAPIクライアントです。aws-sdk-coreを利用することで、AWSの機能を簡単に呼び出すことができるようになります。

参考:aws-sdk-core

gem関連のイベント 

gemに関するイベントとしては、以下のようなものがあります。

RubyWorld Conference

RubyWorld Conferenceは、RubyWorld Conference開催実行委員会が主催しているRubyをテーマとしたイベントです。このイベントでは、Rubyに関する事例や最新情報などが発表されます。

参考:RubyWorld Conference

RubyKaigi

RubyKaigiも、毎年開催されているRubyをテーマとしたイベントです。このイベントは、日本で開催されていますが、参加者の10〜20%は日本国外からの参加者というグローバルなイベントでもあります。RubyKaigiでは、gemに関するテーマが発表されることがあります。

参考:RubyKaigi

関連記事

  1. Rust

  2. Flux

  3. サーバーサイドエンジニア採用で知っておくべき技術用語まとめ

  4. R言語

  5. dart

  6. Go