2016年5月26日木曜日

【募集】Scalaに興味があるPHPエンジニアの方、ChatWorkにジョインしませんか?

  • このエントリーをはてなブックマークに追加

チャットワークは、もともと社内用ツールとして開発されたため、PHPと自社開発の独自フレームワークで構築されています。そんなチャットワークも、サービスリリースから5年が経ち、現在では97,000社以上・205の国と地域が利用するまでに成長しました。

今後の更なるユーザー増加と本格的なグローバル展開に備え、現在、「PHPからScalaへの移行プロジェクト」と「PHPでの新規機能開発・運用」を並行して行っています。

PHPが全てなくなるわけではないですが、Scalaでの実装がメインになってきます。そのため、PHPエンジニアとしてバリバリ働いていて、今後Scalaをやりたい!という新しい技術に興味・関心がある方を募集します。

PHPエンジニア募集に際し、ChatWorkにPHPエンジニアとして入社後、Scalaプロジェクトメンバーにアサインされた安達 勇太にインタビューしました。


入社動機は、世界で通用するサービスを開発したい



Q:安達さんは、情報セキュリティシステムを扱う大手企業からの転職とのことですが、どういったキッカケだったのでしょうか。

安達:前職では、ネットワークやサーバ構成の設計、電子カルテなどの新商品の開発を一から経験でき、正直、不満はなかったです。

ただ、新商品リリース後、より多くの人々に自分が作ったサービスを届けたいという思いが強くなりました。日本だけでなく、世界で通用するサービスの開発にも携われたら面白いだろうな、と思い始めて、気づいてみたら転職活動していました。

Q:転職活動をする中で、ChatWorkのどこに惹かれて入社したのでしょうか。

安達:転職当時、ChatWorkは、まさに世界で通用するサービスを作っていて、すでにユーザーの数も相当多かったです。サーバを落とさずに、何万人ものユーザーのリクエスト応えるリアルタイムサービスは難しそうだけれども、楽しそうだと感じました。

また、体験入社も入社を決める上で、とても大きかったです。ChatWorkでは、企業文化を大切にしているので、社員を採用する際には必ず体験入社をして、お互いの相性を確かめます。

社員を大切にするアットホームな社風にも関わらず、優秀なPHPエンジニアがたくさんいて、面白そう!ここで働きたい!という気持ちが強くなりました。


自分の手で作った機能が大規模サービスの一部になる



Q:入社後、PHPエンジニアとしてどういった業務をしていますか。

安達:開発フローの改善や安定化の強化をメインでやっています。

例えば、社内で使用する開発環境を簡単に共有・更新できるように、VagrantとAnsibleを使って開発環境を整えました。エンジニアだけでなく、他部署にも開発環境を共有することができるようになったので、開発が予想以上にスムーズに進むようになったのです。

それ以外にも、招待メールや新規登録の動線変更や機能追加もやっています。最近だと、チャットワーク上でニュース記事の共有ができる「チャットワークでシェア」ボタンを開発しました。

Q:ChatWorkのエンジニアならではの「やりがい」は何ですか。

97,000社以上もの利用者がいるサービスに、自分の手で作った機能が取り込まれて使用されることです。大規模なサービスになってきているので、負荷やメンテナンスに注意を払いながら開発をしなくてはならない分、機能がリリースされて反響があるとすごく嬉しいです。

この前は、友人から「チャットワーク使っているよ」と言われて、「やっていてよかった!」と感じました。

Q:一方で、どういうところが大変だと感じますか。

システムダウンしないように、負荷を気にしながら開発していく必要があるところです。
以前、1時間ほどシステムが落ちてしてしまったことがあって、その時は担当者として、生きた心地がしませんでした。大規模なサービスだからこそ、システムダウンしないように細心の注意を払っています。


Scalaが学べる、社内勉強会や部活動



Q:PHPエンジニアとして社内で活躍している中、なぜScalaをやり始めたのでしょうか。

安達:現行のPHPで書かれたシステムだと、処理速度を維持するのにサーバをいくつも増やさなくてはならないし、コードも複雑です。今後を考えて、最新の技術をキャッチアップしたいということもあり、ソースコードがシンプルで、静的言語として保守性が高く、かつ生産性を犠牲にしないScalaが採用されました。

採用が決まったあと、Scala化プロジェクトに私がアサインされました。それまで、「Scalaを書いてみたい」「新しいことにチャレンジしてみたい」という思いはあったものの、それまで一度もScalaを書いたことがなかったので、まさか私がアサインされるとは思いませんでした。

Q:安達さんのアサインが決まり、Scalaの勉強を始めてすぐにScalaエンジニアの加藤 潤一さんが入社したんですよね。

そうですね。最初は、加藤さんに教えてもらいながら覚えていきました。一週間くらい加藤さんの家で合宿をしたこともあります。

最初は、「Scala難しいな・・・」と思っていたのですが、途中、難しく感じていたのは、言語仕様でなく、実はフレームワークの使い方だったことに気づきました。

今では、Scalaは、これまで慣れ親しんできたオブジェクト指向をベースに、関数型プログラミングのエッセンスを少しづつ取り入れていくことができるので、関数型プログラミングの入門に適した言語だと感じています。

それに、理解が進めば進むほど楽しい言語だということも分かりました。私の場合、環境に恵まれていたこともあり、一ヶ月くらいでScalaに慣れることができました。

Q:加藤さんのお宅での合宿はだいぶレアなケースような気がします。そういった合宿以外にもScalaを学べる環境はありますか。

安達:ありますよ!Akka in Actionという本の朗読会は毎週やっていますし、Scala部、Akka部という部活もあります。社内に詳しいエンジニアが何人もいるので、分からないことをチャットでつぶやくと、誰かしらがすごい早さで教えてくれます。

また、本や入門記事を読んですぐにプロダクションコードを書けるようになるわけではないので、ペアプログラミングを通して一緒にプロダクションコードを書きながら学んでいく機会もあります。


いまScalaができなくてもいい!向上心がある人と働きたい



Q:エンジニアとして、PHPだけでなくScalaもできるようになると何が変わりましたか。

安達:エンジニアとして、できることの幅が広がりました。プログラムをサクッと作成したい時にはPHP、仕様の複雑なプログラムを作成したい時にはScalaの方が向いていると思います。 

また、Scalaは新しく人気も関心度も高い言語です。そのため、ScalaとPHPのどちらも使えることが強みになり、自身のブランディングやキャリアにも大きく影響してくると思います。私の場合、講演や雑誌への記事執筆をさせていただきました。

Q:今後 ChatWorkでやりたいことはありますか。

安達:「ChatWork Live」のような大型機能や新機能の開発に貢献していきたいです。

ChatWorkには、チャットワークを導入いただいている方々から、「チャットワークを使い始めたら、メールより明らかに業務スピードが上がって助かっています」という声が日々届いています。そういう声に応えて、今後も使っている方々の働き方を変えるサービスをより良くしていきたいです。

Q:どういう人と一緒に働いていきたいですか。

安達:いろんな技術に興味があって、向上心がある人。チーム開発を楽しめて、他のチームメンバーを尊重できる人と一緒に働きたいです。

別に、今はScalaが書けなくても問題ないです。Scalaを教えられるエンジニアがChatWorkにはたくさんいるので、やる気さえあれば、すぐできるようになります。


私たちと一緒に働いてみませんか?WEB開発に興味がある方はこちらをご覧ください。
  • このエントリーをはてなブックマークに追加

チャットワークご存知ですか?

チャットワークは、業務の効率化と会社の成長を目的とした、メール・電話・会議に代わるコミュニケーションツールです。
チャットワークを試してみる

導入効果・活用事例などがわかるチャットワーク製品資料配布中!

チャットワーク製品資料配布中!