Forkwell Press

エンジニアの生き様をウォッチするメディア

ITの最先端を突き進むFringe81、エンジニアに求めるのは「知的好奇心」(後編)

Fringe81 代表取締役社長 田中 弦氏(中央)、豊島正規氏(左)、千田清勝氏(右)

広告技術を中心にインターネット事業を開発する「Fringe81」。記事前編では、同社代表取締役社長の田中 弦氏に、Fringe81の社風について伺った。後編では、同社のScalaエンジニアである豊島正規氏と千田清勝氏に加わっていただき、座談会形式でFringe81での働き方や、Scalaの魅力について語ってもらった。(以下敬称略)

――前職ではどんな仕事をされていましたか?

豊島:1,000人規模のSIerでSEをやっていました。広告システムの開発をやっていたのですが、年齢とともにだんだんマネジメント業務が増えてきて、気づいたら「最近コード書いてないな、このままでいいのかな」と感じていました。

千田:私も前職はSIerのSEですが、最初は商品開発、次にISPのネットワークエンジニア、そしてSEという流れです。

田中:二人ともSEだったんだね。Fringe81のエンジニアになって、SIerのSEとどんな違いがある?

豊島:世間一般にはSEというと受託開発のイメージが強いですよね。Fringe81は自社サービスの開発なので、企画・設計・開発と一気通貫で全体を見られます。大手のSIerでは、それぞれの工程でエンジニアが分断されていることが多く、全体が見られることは稀ではないでしょうか。

千田:私も同感ですね。対象が自社サービスになると“育てる”という感覚で開発ができます。SIerではそうもいきませんから。

――Fringe81に入って驚いたことはありますか?

豊島:意思決定のスピードがとても速いところです。ある日、夕方に稟議書を出して帰ったら、翌朝には代表のところまですべて通っていたんです。こっちは「明日出社したら上長にプッシュして……」と考えていたので、びっくりしました。前の職場では、ステップごとに説明に行ってプッシュしても10日とか普通にかかっていましたから。

田中:現場が必要と言っているのに、手続きの問題で待たせても意味がないからね。

千田:私の場合は入社してからではないのですが、入社面接を繰り返すごとに「この人たちと一緒に働きたい」という思いが強くなったことです。私はFringe81が4社目になりますが、技術が好き、新しいものが好き、という人たちが引き合うという貴重な体験ができたと感じています。

豊島:それから、エンジニアだけでなく、企画や営業の人のITリテラシーが高いところも面白いところですね。例えば、営業の人がマークダウン形式で文書を書いていたりとか。

――お二人ともScalaエンジニアだそうですが、Scalaのいいところはどこでしょう。

豊島:私はScala採用を推進した一人なんですが、ScalaはJVM言語なのでJavaとの親和性が高く、オブジェクト指向と関数型の両方の特性を持っています。Fringe81はJavaからの移行だったのですが、Scalaはコーディングスタイルが洗練された“ベターJava”として使うこともできる。そして、少し慣れてくると関数型の機能を少しずつ使って、もっとスマートなコードが書けるようになる。いきなり関数型言語の世界に入るよりも習得しやすいと思います。

千田:私が感じるScalaのいいところは、問題をシンプルに表現できるところですね。同じ問題のコードを書く場合でもScalaにはJavaのような冗長さがない。Scalaの導入は私の入社前で、Fringe81に転職したのもここならScalaが思う存分に使えるからというのが大きいです。前職では、Scalaで提案を通すことだけで大変でしたから。

田中:そんなにJavaとコードの長さが変わるものなの?

豊島:内容や書き方にもよりますが、Scalaで書けばJavaの半分くらいにはなりますね。コードの見通しがよくなるので、書くスピードや読むスピードも速くなります。Scalaでは並列処理も書きやすいので、広告配信などの高速処理が求められるコードも短期間で書けるようになりました。それから、次期Hadoopと目されているSparkはScalaで実装されているので、それとの相性もよいですね。

ネット広告業界のテクノロジーオリエンテッド・カンパニー fringe81 で最新のアドテク製品を Scala で開発するエンジニアを募集!

――Scalaの導入はどのように行われたのでしょう。

豊島:私自身は独学です。書籍を読んだり、Scalaコミュニティの勉強会に参加したり、オープンソースのコードを読んだりと。オープンソースのコードは実例なのでとても勉強になります。ちなみにFringe81は、Scalaコミュニティが毎年開催している「Scala Matsuri」というイベントのスポンサーにもなっています。一方、社内では学習用テキストを作成しました。よくあるパターンの問題をScalaで書いてみるというタイプの自習用テキストで、段階的にコードをブラッシュアップできるようにしています。

千田:そのテキストは私も使いました。入社前からScalaは使っていましたが、このテキストはよくできていると感心しましたね。

豊島:それから導入初期は各人のスキルレベルがまちまちだったので、私が専任でコードレビューを行ったりもしました。もっとスマートな書き方ができるときは指摘して共有する、そうやってチーム全体でレベルアップしていった感じです。今は専任のレビュアーを置かずに相互レビューすることが多いですが。一応、相互レビューのペアは決めてありますが、レビュー依頼とかの情報は、社内チャットで使っているSlackで共有しているので、ときにはペアでない別の人から指摘が入ることもあります。

――技術的なトレンドなどはどうやってキャッチアップしているのですか?

豊島:これもSlackにTechネタのスレッドが用意してあって、そこにはてなブックマークやTwitterから拾ってきたネタを投稿して共有しています。

千田:面白そうなのがあったら、勝手に調べて社内勉強会を開いたりするんです。

田中:みんなすぐやっちゃうよね。誰から命じられたわけでもないのに(笑)。

豊島:この前は、大学生のインターンにも協力してもらって、Scala用のストリーム・ライブラリの比較調査を行いました。

田中:さっき、インタビュー(前編)で、先端技術を追求とか答えたんだけど、正直なところ現場の人間としては、常に新しいものにチャレンジするのは大変じゃない?

豊島:うーん。それが好きな人が集まっているとしか言いようが…(笑)苦痛な人はそもそも入社してことないと思います。

――最後に、どんな人に参加してもらいたいですか?

豊島:とにかくチャレンジ精神や知的好奇心が旺盛な人が増えてほしいですね。私は開発に集中したいのでScalaスペシャリストとして働いていますが、開発・運用なんでもやってみたいというのもありです。最新技術を学びたい方や、マネジメントよりも手を動かしていたいというスペシャリスト志向の方にはどんどん応募してほしいですね。

田中:ちょっと補足すると、スペシャリスト制度は2年前に導入したんです。それまで当社のエンジニアは、インフラからプロジェクト・マネジメント、開発、運用ぜんぶやっていたんですが、エンジニアチームも大きくなってきたので、みんなが全員ジェネラリストである必要はないなと。

マネジメントも才能なら、コードを書くのも才能。才能に対してまっとうな対価を払おうということでもあります。マネジメントよりもコードを書くのが好きなら、それでステップアップできるキャリアパスを用意することが、エンジニアがより生き生きと働くために重要なことのひとつだと思っています。

前編はこちら forkwell.hatenadiary.jp

取材・執筆:森 英幸

Fringe81株式会社の転職情報