みなさんこんにちは!
今回はLang-8、CTOの八木のインタビュー後半です! ↓前半はこちらです。
Lang-8に入ってからの思いや今後どのようにしていきたいかなどを語りたいと思います!
技術書読み放題!? 八木さんにとってのLang-8の魅力3選 ── Lang-8で働くエンジニアとしての魅力は?
まずは多国籍でかつ様々なバックグラウンドを持った人々があつまるチームという事ですね。「HiNative」は全世界の人がユーザーなので、価値を提供していくためにそれぞれの国のことを考えなければいけません。そうすると開発チームもどんどん多国籍なメンバーになっていく必要があります。サービス、チームの両面で多様な文化にふれることになるという点はとてもおもしろいです。たとえば最近だと、既存のCDNが中国からアクセスできないので、中国のユーザ向けにだけCDNを切り替える対応をしたり、ある国でAndroidアプリの決済が通らないのでその国の決済方法を調べたり価格を変えてみたり、ローカライズをすると、ある言語では3行になってレイアウトが崩れるのでその言語でだけ言い換えて短く表現したりなど、様々な国や言語に提供するサービスならではの課題に向き合えるのはおもしろいと思います。
働き方についてかなりフレキシブルな点も魅力のひとつかなと思います。フルリモートの社員や海外在住のスタッフもいますし、土日だけ働くフリーランスの方などさまざまな形態で働くメンバーがいるので、自然と自分で働く時間をコントロールする文化があるように思います。台風がくるので家でやるとか、雨が降りそうだから早めに帰って続きを家でやるなど自然とやっています。
また、個人的に嬉しいのは技術書を読み放題という点ですね。社長のポリシーで、エンジニアに限らず必要な本はどんどん買って読んだほうがよいということで、社内のSlackで本のリクエストすると数日後届く、といった形になっています。自分がリクエストした本だけでなく、ほかのメンバーが購入したおもしろそうな本も社内に溜まっていくので、発見もあって楽しいです。
──Lang-8の開発環境は?
Lang-8が現在注力している「HiNative」はWeb、iOS、Androidで提供しています。技術的にはどれもオーソドックスな環境で、特殊なことはまだそんなにやっていません。
Webは社員2名フリーランス2名の体制で開発をしていて、重要なPRは社長がレビューするといった形になっています。バックエンドにRuby on Railsを使用し、View周りではAngularJSを使っています。Railsのバージョンは4.2ですが、今後はバージョン5にアップグレードしていく予定でいます。JSに関してはなかなか手が回っていませんが、こちらも今後はバージョンアップしていきたいと思っています。RSpecでテストコードを書いてPRを出し、コードレビューが通ったらCapistranoで本番環境にデプロイというよくある開発の流れです。インフラ部分にはAWSを使い、MySQL、S3(画像、音声、動画の保存)、Redis(キャッシュ、非同期処理)、Elasticsearch(テキスト検索)などを使っています。
iOSは社員2名の体制でどちらもリモートで働いています。開発開始当初はObjective-Cで開発していましたがSwift2が公開されて以降はSwiftで開発しています。アーキテクチャパターンはVIPERを利用しています。CIはBitriseを利用していて、Fastlaneを利用してDeployGateで配布したり、iTunes Connectにアップロードしたりしています。テストは一般的なユニットテストに加えてプロパティベースのテストを行ったりもしています。
Androidは現在は僕1人でやっています。最初のコードベースがJavaだったのですが徐々にKotlinに置き換えていき、現在はほとんどがKotlinになっています。アーキテクチャは古いものと新しいものが混在している状況で、こちらも徐々に書き換えています。JetPackやKotlinのコルーチンなど僕が気になった技術などはどんどん取り入れていっています。CIはCircleCIを使っていて、Deploygateにデプロイをしたり、FastlaneでGoogle Playにデプロイするなど最低限の環境はあります。テスト周りはまだ貧弱で、QAや開発基盤的な部分はiOSも含めてこれから充実させていく形になります。
いずれの環境でも「ユーザに価値を提供するための改善」と「開発を加速させるための環境作り」の両面で手が足りていないという状況ですね。目下は「ユーザに価値を提供するための改善」に力を注ぎたいので、その領域に興味がある方に是非参加してもらいたいです。
ミッションへの共感・User Centric・HRTを重んじる人 ── 今後、メンバーを採用するにあたって大事にしたいことはなんですか?
3つあります。
まず、ミッションに共感できるかが大事と考えています。「世界中のネイティブスピーカーが持つ知識・経験のExchangeを促進させる。」というミッションにワクワクできるかどうか、熱中できそうかどうかという点が重要と思っています。
次に、User Centricであることです。ユーザーの課題を解決する、不便を減らす、そのためになにが必要か、なにができるかを徹底的に考え、そのために技術を使うといった姿勢です。この考え方に共感できるかを大事にしたいと思っています。
最後に“HRT”です。これは謙虚(Humility)・尊敬(Respect)・信頼(Trust)の略で、チームの心理的安全性を育むために大事な考え方だと思っています。働くなかでお互いにHRTを実践できるかどうかはとても重要だと思っています。 これらは数回面接したくらいではお互いに分からないと思っていて、Lang-8では入社の前に数週間から数ヶ月程度の短期間、実際に開発に参加してもらって改めて入社を話し合うという方法を取っています。もちろんその間はお金もしっかりお支払いします。週末だけとか夜間だけとかフルタイム、リモートなどなど参加方法は毎回話し合う形になります。
「組織づくり」と「エンジニアのキャリア形成・アウトプットしていく」環境づくりを ──CTOとして今後Lang-8でどのようなことに取り組んでいきたいですか?
直近は事業をドライブするためになんでもやるという感じですが、社内の環境面では次の2つのことを中期的に取り組んでいきたいと思っています。
ひとつめは組織化です。今までは社長が全体をひとりひとり見る形でしたが、これからさらに人が増えていくというフェーズで、さすがに分離していかないと回らないので、意思決定と責任をどう分離すると良いか考えたり、1 on 1でメンバーと話をしたりしているところです。人数が増えたりチームが増えてもどんどんスピードを上げられる構造を作っていきたいと思っています。
ふたつめはエンジニアのキャリア形成です。キャリア形成というとちょっと大げさですが、仕事のなかで各自が得た知見や成長したことなどをどんどんアウトプットしていく環境にしたいなと思っています。今はまだ皆プロダクトにかかりきりですが、徐々にそれぞれがカンファレンスで登壇したり、技術書の執筆に参加したりするなどのアウトプットの機会を作っていけたらと思います。
──最後に一言お願いします!
振り返って考えてみると、僕はエンジニアとしてこういう事やらなきゃな、という勘に忠実に生きてきたなと思います。ある種の危機感なんですけど、こういう事をやらないといけないなとか、環境を変えないとまずいかもなとか思ったら体が勝手に動いていました。なので、今とは別の事をやらなきゃまずいかもと思ってる人はその勘を信じてどんどん動くといいんじゃないかなーと思います。実際にそれができる環境にいこうとすると大変ですが面白いと思います。
・・・以上、前半後半と2回に渡りCTO八木のインタビューをお送りいたしました。
八木のインタビュー前半を見逃した方はこちらをご覧くださいませ!! ↓↓↓↓
Lang-8では現在、エンジニアを絶賛募集しています! 我々のミッションに共感し、グローバルなサービスを開発したい方、まずはオフィス見学にお越し下さい!
株式会社Lang-8's job postings