SOT STYLES
SPECIAL INTERVIEW 07
SO Technologiesの開発組織作りのキーマンに聞く「Goをメイン言語に採用した理由」と「学び合える組織の作り方」

Googleが開発したプログラミング言語「Go」。エンジニアのなかでも年々注目度が高まり、採用する企業も増えてきました。
SO TechnologiesでもGoを、開発言語のメインとして採用しています。

そこで今回は、今のSO Technologiesのエンジニア組織の立ち上げに関わり、現在はATOM事業本部プロダクト開発グループ部長の吉村卓生さんに、Go言語を採用した理由や実際の業務におけるメリット・デメリット、さらにはSO Technologiesの入社までにそのスキルが必要かどうかまで伺いました。

ATOM事業本部 プロダクト開発グループ部長 吉村 卓生

Goはチーム開発を加速させるための選択

―― SO Technologiesのプログラミング言語にGoを採用した理由を教えてください。

チーム開発を推進していく上で、動的型付け言語から静的型付け言語に切り替えようと考えたのがきっかけです。

動的型付け言語は小規模で開発する場合、開発スピードも早く、変更にも柔軟に対応しやすい反面、チーム開発の場合はかなり厳密にルールを決めないと人によってコードのバラつきが起きたり、可読性の面で問題が起きやすいと思います。
その点、静的型付け言語は、最初に型を決めるので可読性が良く、コンパイル時に基本的なバグやエラーを見つけることができます。

そして静的型付け言語の中でもGoは、シンプルで学習コストが低く、言語の規約上もコードのバラつきが起きにくいため、チーム開発に生きるだろうと思ったんです。さらに処理速度やコンパイルが速い。並列処理が簡単に実装できるといった利点があったため、採用しました。

―― 動的型付け言語から切り替えると言葉で言うのは簡単ですが、実際の業務には多少影響も出たのではないでしょうか?

基本的に新しく開発するプロダクトから採用していったので、そこはスムーズだったと思います。
また全部のプロダクトで採り入れているわけではなく、例えばAG-Boost・CUSTA事業本部ではプロダクトのフェーズやメンバーのスキルを考慮した上でNode.jsが適していると判断したため、Goの採用はしていません。
あくまでプログラミング言語の採用も、良いプロダクトを作るという目的を達成するための手段だと考えています。

誰でも発信者になれる環境で、意欲的に学ぶ楽しさを

―― Goはチーム開発に適した言語だとは思うのですが、比較的新しい言語なのでライブラリが少なそうです。

確かに、Javaみたいに十分安定して使われている言語に比べたら、ライブラリの少なさは否めません。
ただそこは再利用できる選択肢があれば積極的に使ったり、アーキテクチャを見直したりして、十分に補えていると感じています。

―― 体系的に学ぶ機会の少なさもあるのではないでしょうか。

そういう機会も少ないとは思います。ただGoは、静的型付け言語に少しでも触れてきたエンジニアなら比較的に簡単に習得できる言語だと思っています。
公式で「A Tour of Go」という基礎文法を学ぶためのツールも用意されていますし、書籍も多く出版されています。

なによりSO Technologiesには、新しいことを積極的、主体的に学ぶメンバーが揃っているんですよ。
たとえ分からないことがあってもメンバー同士で相談しあって解決する風土があるので、開発を通して体系的、実践的にGoという新しい言語を楽しみながら学べると思います。
業務時間内に勉強する時間を設ける取り組みをしていたり、メンバー主体でさまざまな勉強会も行われています。

―― 具体的にはどんな勉強会が?

ライクルGMBチームでは、PM勉強会をやっていたり、チーム横断でスクラム勉強会が実施されていました。他にも輪読会なんかも。
あとは全エンジニア参加推奨のLT会(SO Technologies社内勉強会レポートの記事)や、Qiitaに記事を投稿するQiitaソンというイベントを、毎月開催しています。
入社時期にかかわらず、誰もがプレゼン、発信できる場所、雰囲気づくりは大切にしていますね。

発表当時、入社2カ月だったメンバーが『Certified ScrumMaster』をテーマにLT会でプレゼンした

一歩踏み出したいエンジニアを応援する会社

―― SO Technologiesへの入社を検討する場合、Goの業務経験は必須なのでしょうか?

いえ、多言語での開発経験がそれなりにあり、Goに興味を持っていて自己学習や実装を行っていれば大丈夫です。

―― 自らどんどん学ぼうとする人であれば、十分活躍できる環境が整っている、と?

そうですね。技術的好奇心が高い方には、とても向いている会社ではないでしょうか。
またアーキテクチャに興味がある方や、チーム開発の経験がある方、スクラムでの開発経験がある方、コミュニケーションが得意な方もきっと、SO Technologiesでならのびのびと開発に取り組めると思います。
あと大切なのは、事業に対する興味関心と企業理念への共感です。採用時にもそこはしっかりと確認させてもらっています。

手前味噌ではありますが、SO Technologiesはエンジニアにとっていい会社なんですよ。チャレンジしたい人に、チャレンジさせてくれる会社なので。
だから、今までやってきたことから一歩踏み出したいと思っているエンジニアの方は、検討する会社の1つに入れていただけたら嬉しいですね。

―― 成長する意欲がある人を応援する会社なんですね。

はい。まだまだ伸びしろがある会社ではあるので、成長したいという気持ちで一緒に「社員一人ひとりがリーダーとなってチームを動かしていく」ようないい組織を作る一員になっていただけたら嬉しいです。
また、これからはGo言語の知見はもちろん、SO Technologiesのノウハウを社外にもアウトプットしていきたいという気持ちもあるので、発信に興味がある方がいたら、ぜひ(笑)。

SOT STYLES
社員インタビュー スペシャルインタビュー 環境・制度