Help us understand the problem. What is going on with this article?

複数の言語を同時に触ることになった俺は

More than 3 years have passed since last update.

はじめに

この記事は株式会社アイスタイルアドベントカレンダーの2日目の記事です。

新卒2年目の@ktarowがお送りします。

まぁこんなエモい感じのタイトルをつけていますが、組織としてのアドベントカレンダーなので、広報的な役割をこめた記事にしようと思います。
(※最後に個人的意見を書きます。)

今まで当社のことをしらなかった方が、「へ~アイスタイルってこういう会社なんだ!」と思ってくれると幸いです。

株式会社アイスタイルとは

まずはさらっと会社の紹介をします。
本当にさらっとです。

株式会社アイスタイルは、「Beauty × IT」を軸に事業を行っており、クチコミサイトの@cosme@cosme shoppingといったECサイトなど、美容に関するさまざまなサービスの開発・運営を行っています。
詳しくはこちら

社内で利用されている言語について

では、さらっと紹介を終了させたところで、社内で利用されている言語について書いていこうと思います。

アイスタイルでは以下のような言語の比率で開発を行っています。

使用言語 比率(%) 説明
PHP 70 上記で説明したサービスや、他のサービスはほぼPHPで開発されています。
Java 20 主にAPIの開発で利用されています。
Ruby 5 一部のAPIで利用されています。基本的には新規の開発では利用しませんが、Rspecでテストを書いているチームもあったります。
Scala 3 一部のサービスで利用されています。新規の開発では利用していません。
Go 1 最近バッチとして採用したチームがあるとかないとか…

上記の一覧でわかるように、当社はPHPの会社です。
昨日の記事を書いてくれた 新卒の@sota1235くんや私も新卒入社なのですが、入社直後の技術研修ではPHPを用いたアプリケーション開発を行いました。

最近では、Laravelフレームワークが人気で、新規のサービスでは、大体Laravelを用いた開発を行っています。
(今年の新卒研修もLaravelが採用されていたので、来年もLaravelでの研修かも?)

複数の言語を同時に触ることになった俺は

では、会社で利用されている言語の紹介が終了したところで、やっとタイトルに関連した内容を書いていきます。

現在入社2年目の私は基盤開発部という部署に所属していることもあり、上記の言語全てに携わっています(メインはJavaですが…)。

ここから先は、さまざまな言語をさわることで感じたメリットやデメリットについて記述していきたいと思います。

メリット

  1. 複数の言語に触れるため、割とどんなことにも対応できるようになる。(個人的メリット)
  2. 言語間の違いに気づけるようになる。(個人的メリット)

デメリット

  1. 器用貧乏化する。(一つの言語について詳しくなれない)(個人的デメリット)
  2. レビューできる人がいないことがある。(組織的デメリット)
  3. メンテナンスされてないことがある。(メンテナンスしていた人がすでにいない)(組織的デメリット)
  4. 障害が起きたときに死ぬ可能性がある。(組織的デメリット)

デメリットがメリットを上回ってしまった!!!!!!!!
あくまでも個人的な意見ですが、今いけてる言語に流されたり、自分が使いたい!と思っただけの言語を採用すると、数年後に組織的に痛い目をみる傾向にあるような気がします。

最後に

ここまで、複数の言語に触ったメリットやデメリットについて書きましたが、入社1年半で5つの言語を経験できて個人的には成長できたと思います。(※いろいろな闇も見たりしましたが…)

ただ、上記に記述されたように複数の言語を中途半端に取り込むと、メンテナンスされなかったり他に誰も触れる人がいないといったデメリットが顕在化します。

言語選定は慎重に!!!!ということで、2日目のアドベントカレンダーの締めとさせていただきます。
(※19日に再度登場するので、そちらには何か技術的なことを書きます…)

明日は、@imaiyさんのCouchbaseの話です!!

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away