ファンコミプラスTOP > 仲間たち > スマホアドネットワークNo.1のnendはどんな開発言語を使っている?開発環境を覗いてみた

スマホアドネットワークNo.1のnendはどんな開発言語を使っている?開発環境を覗いてみた

今回は、今年で7周年を迎えるスマートフォン向けアドネットワークのnendの「中の人」に話を聞いてみました。

nendで働く癒し系女子「Maoちゃん」。早速お話を伺ってみましょう!

─Maoちゃんの担当業務を教えてください!

nendの管理画面や、バッチ処理などの開発をしています。

─nendの開発言語には、何が使われているのですか?

nendは、メインはPHPでできていて、FrameworkはCakePHPを使用しています!

─Frameworkとは、開発を行う際に頻繁に必要とされる基礎的な機能をまとめて提供してくれるもののことですね。

カレー作りに例えるとカレーのルーみたいなもので、イチから作ろうとすると大変なスパイス選びや調合などの工程を代わりに既にやってくれている便利なもの、というイメージでしょうか。

─PHPって、エンジニア界隈の方からすると一般的な言語なんですか?

はい。結構一般的だと思います。
でも、去年から私の課内でScalaをやってみたい!という声が挙がっていて、実際にnendの一部システムには早速Scalaも導入されています。

─やってみたい言語も意外と柔軟に試せるんですね。ちなみにScalaはJava(これもまた一般的で古くからある言語だそう)との互換性が高く、なおかつJavaの良さを継承し、先進的な機能や文法を取り入れている言語だと伺いました。
Scalaは、どういう部分に使われているのですか?

現在使われている箇所は主に広告配信面です。impを配信先に振り分けるところや、配信関連の新機能の部分で使っています。
ScalaはPHPに比べて性能が高く、例えば同じ1台のサーバーでさばけるリクエストの数なんかはScalaのほうがPHPより多いです。
そういった特徴を活かしやすい配信面部分で活用していますね。

─Scalaの特徴を現場の他のエンジニアさんにも聞いてみたところ
・コンパイル(人間が書いたコードを機械に通じる言葉に変換すること)の段階でバグが洗い出せる
・関数型言語のため、デバッグやテストがしやすい
などの特徴があるそうです。
これからもScalaを導入する部分って増やしていくんですか?

そうですね。私が担当している管理画面の部分に関しては、正直ScalaよりPHPの方が相性がいいんですよ。配信面ほど構造が複雑になりにくいですし。
そのため、Scalaは配信面の開発で今後どんどん増やしていく方針です。管理画面はPHP、配信周りはScala、という形で住み分けがされていくと思いますよ。

─なるほど。ちなみにScalaは性能が高い反面、学習コストが高いという面もあると聞きました。本で勉強したり、カンファレンスやセミナーに参加するなど習得に時間やお金がかかると。

当社では、エンジニア側から要望があれば就業時間中にセミナーに行って勉強することも推奨しているようです。

─開発環境は何を使っていますか?

「Eclipse」と、たまに「Atom」を使ってます。
会社で使ってるPCをデスクトップのWindowsからMacBookに移行したタイミングで、いろいろなIDE(総合開発環境)のソフトを試してみてたんですが、結局新人のときから使っているEclipseに戻ってきちゃいました。
だいたい開発はEclipseを使って、横でAtomを開いてgrep(検索)したり調査したりしています。
Eclipseでもgrepや調査はできるのですが、やや遅く使いづらい気がしていて、上司にエディタは何を使っているのか聞いたところ、Atomを勧めてもらいました。
使ってみると、Atomは検索の速度がEclipseより速く感じます。プラグインを入れるのは必須になりますが、仕様もシンプルで使いやすいので使っています。

あと、チーム内では有料のIntelliJを使用している人もいて、有料でも開発で使いたいよさそうなツールがあれば、マネージャーに申請すればだいたい許可が下ります。
IDE(総合開発環境)とは、開発を行う際に使うソフトウェアのこと。コードを書く「エディタ」、バグを知らせてくれる「デバッガ」、書いたコードを機械に通じる言葉に変換してくれる「コンパイラ」、こういった開発に必要な機能がひとまとまりになったものです。

─有料のツールも申請すれば快く使わせてもらえるんですね。
 では、気になるMaoちゃんのデスク周りを見せてください!

─クッションやひざ掛けが女子のデスク~。モニターは3枚体制なんですね。

キーボードはREALFORCE。カタカタした打ち心地が良い感じで長く使ってます。

─モニターの傍には癒しの空間が(笑)

「ハンドスピナーは隣の席の同期にもらいました(笑)

─現在気になっていたり勉強中の言語はありますか?

やっぱりScalaですかね。課内でも最近Scalaの話題が多いです。
今、部署全体でエンジニアの技術力向上に力を入れていて、実は新しい言語を勉強することが評価や目標に組み込まれているんですよ。おかげで、業務時間中に勉強時間を設けることができています。

─では、最後にこれから頑張りたいことを教えてください!

実は、来月からインターンの方の教育係を担当することになりました!色々な質問に答えられるように、どんどん開発の幅を広げていきたいですね。

─Maoちゃんありがとうございました!

いかがでしたか?
お話を伺っている中でScalaが本当によく出てきましたが、Scalaはnendや当社だけに限らずトレンドの言語のようで、今話題の機械学習の分野で活用できるツールも充実しているようです。
新しい言語をどんどん取り入れて世の中のトレンドをいち早くキャッチしてくれる当社エンジニアの皆さん、とても頼もしく感じました!

ただいまインターンを募集中です。エントリーお待ちしています!
▼<長期インターン>お遊びではなく、実際にプロダクトへ関わりたい人を求む
▼会社を使って『これ作りたい』『あの技術に挑戦したい』を実現したい人を募集!

株式会社ファンコミュニケーションズでは一緒に働く仲間を募集しています

▼企業サイト採用情報ページ