部署紹介/サービス開発部 2023年
こんにちは、株式会社Amazia人事担当の渡邉です。
今回は、当社のエンジニアチームであるサービス開発部についてCTOの江口にインタビューを行いました。
◆現在のエンジニアチームの構成について教えてください。
社員は全員が中途入社で、受託開発会社や大手・有名IT企業、フリーランスで活躍していた方など経験豊かな顔ぶれです。30代~40代中心のチームは比較的落ち着いた雰囲気で、主体的で自律性が高く、寛容な人柄のメンバーが多いのが特徴です。
現在は業務委託も含めて、総勢16名の組織となっています。
<サーバーサイドチーム:7名>
正社員サーバーサイドエンジニア1名
正社員インフラエンジニア1名
業務委託サーバーサイドエンジニア5名
<アプリチーム:8名>
正社員iOSエンジニア3名
正社員Androidエンジニア1名
業務委託iOSエンジニア2名
業務委託Androidエンジニア1名
業務委託iOS/Android兼任エンジニア1名
<デザイナー>
・UIUXデザイナー1名
◆エンジニアチームの特徴はどんなところだと思いますか?
「開発のスピード感」「裁量の大きさ」「スキルアップ支援」の3つが大きな特徴だと考えています。
チームの特徴①:「開発のスピード感」
自社でサービスを企画・開発・運営していますので、アイデアを形にしてリリースするまでのスピードは何より重要です。どれだけ時間をかけて良い企画を練り上げても、実際にユーザーに使ってもらえなければ評価することはできませんから。
エンジニアチームには開発に集中して取り組んでもらえるよう、無駄な打ち合わせは極力行わないようにしていますし、ツールを利用した自動化などで工夫をしています。
もちろん必要なコミュニケーション、例えば仕様検討やコードレビューなどには十分時間をかけていますよ。
チームの特徴②:「裁量の大きさ」
開発チームはCTO直下で裁量が大きく、メンバーが意見を言いやすいフラットな組織体制になっています。扱うのが自社サービスであるため開発の自由度が高く、実装を担当するメンバーは企画や技術選定から携われる点も魅力です。
エンジニアはフレックスタイム制を導入しているので、勤務時間についても自由な働き方が可能です。人によっては朝8時から働いて17時に上がる人もいますし、遅い時間から働く人もいます。用事がある日だけフレックスを活用するということもできます。
チームの特徴③:「スキルアップ支援」
エンジニアチームのメンバーはスキルと成果物で評価しています。各人には常に自身のスキルアップを目指してほしいと考えていますし、社内制度としてもそれを後押しする仕組みを設けています。
業務時間内で隔週でもくもく会を開催しているほか、技術書の購入費や社外セミナーの参加費を会社が全額負担する制度もあります。
「Try! Swift」「Droid Kaigi」「iOSDC」などのカンファレンス参加も推奨しており、毎年これらのカンファレンスに登壇している社員もいます。
◆エンジニアにとって働きやすい環境とはどんなものだと思いますか?
エンジニアの仕事はクリエイティブな作業なので集中力が必要です。
無駄な打ち合わせを減らすこともそうですし、ビルドやテスト、リリースを自動化することで煩わしい作業から開放して開発に集中出来るようにしています。
タスクが明確であることも大事だと思います。当社では2週間のSprint期間で開発を行っていますが、Sprint Planning Meetingでしっかりとタスクの範囲を決めて作業にとりかかることで一つ一つのタスクに集中できるようにしています。
オーバーワークをしないことも大切ですね。長時間作業を続けても開発の効率は上がりませんし、かえって不具合を生み出すリスクを上げるだけなので、突発的な問題が発生しないかぎりエンジニアに残業を指示することはありません。実際にエンジニアの月平均残業時間は7.8時間です。
あとは基本的なことですが、作業環境であるPCは十分なスペックのものを支給するようにしています。オフィスでは各席にディスプレイが用意されていますし、デスクチェアは疲労を軽減し快適に作業するため「エルゴヒューマン」を導入しています。
ここ数年でテレワークの環境整備も行いましたので、フレックスタイムの制度と合わせて柔軟な働き方ができるようになってきたかなと思います。
◆技術の採用判断はどのようにしていますか?
マンガBANGはリリースしてから9年が経とうとしています。
数百万人が利用しているサービスなので、まず第一に安定したサービスの提供が求められます。
基本的にどのような技術を採用するかはエンジニアメンバーの裁量にまかせていますが、採用にあたっては信頼性、サポート環境の評価が必要になります。
もくもく会などの時間を活用し、日々、新しい技術へのキャッチアップを行っているのですが、その中である程度信頼のおける技術であると判断出来る場合はチーム内で話し合って採用を検討します。
たとえば、Jetpack Composeに関しては今後のAndroidのUI開発で主流になると判断したため、かなり早い段階で導入の検討を行い、サンプル画面の開発や一部の画面での試験的な導入を経て採用にいたっています。
◆チームで取り組んでいきたい課題があれば教えてください。
いろいろ考えていることがあります。
1つ目はアプリの自動テストの拡充です。UI周りは変化の速度が早いこともあり、アプリの開発ではテストコードの作成やテストの自動化を積極的に行うことは難しい環境です。ただ、今後も安定したサービス運営を続けていく上で、安心してコードの追加・変更を進めていくにはテストコードの拡充は避けて通ることはできません。
弊社のアプリではレイヤードアーキテクチャを採用していますので、まずはビジネスロジックに近い部分からしっかりテストする文化を作っていきたいと思います。
2つ目に以前から継続している課題ではあるのですが、技術的負債の解消ですね。サーバーサイドでは今年かなり大掛かりなコードの整理を行いましたが、まだ着手できていない部分もありますので引き続き取り組んで行くつもりです。
3つ目はチーム体制の見直しです。これまではマンガBANGを中心として1チームで開発・運用を行ってきましたが、スクラムのチーム規模としては大所帯になってきましたので適切なサイズでのチーム分割が必要なフェーズにあると感じています。
最後に外部への情報発信ですね。以前からセミナーへの登壇活動やテックブログ、Qiitaへの記事投稿などで情報発信は行っていましたが、今年からはiOSDCへのスポンサー協力をはじめました。今後も外部セミナーへの積極的な参加を行っていきたいと思いますし、これまで社内で培ってきた知識を社外に提供していけるような活動につなげていきたいと思います。
◆どのようなエンジニアの方がAmaziaとマッチしそうですか?
Amaziaでは自社でサービスの開発・運営を行うことを大事にしてきましたし、今後もそういう会社でありたいと思っています。エンジニア一人一人にも常にサービスを良くしたいという意識を持って業務に当たってもらいたいと思います。
アプリ開発の現場ではこの10年で様々な環境の変化がありました。今後も変化は続くでしょう。そんな環境で生き残っていくためには常に新しい技術へのキャッチアップ、スキルアップを続けていくしかありません。
新しいことに積極的にチャレンジしたい。スキルを伸ばしていきたいという意欲的な方と一緒に働きたいと思います。
◆最後に、今サービス開発部で求める人材はどのように考えていますか?
仕様設計のキーマンとなっていただける経験豊富な方に是非、入社いただきたいと考えています。
経験面では、toC向けサービス開発の豊富な経験がある方を歓迎しています。また、大手企業やメガベンチャーなど、認知度の高い企業でエンジニアとして活躍してきた経験を持つ方や、有名サービスの開発に携わってきた経験のある方も大歓迎です。
現状、上記で4つ挙げたように取り組んでいくべき課題は様々ありますが、マンガBANG!の改善と機能追加をスピード感をもって実現できる開発チームの体制の構築をしていきたいと考えています。
現在、Ruby on Railsエンジニア、Androidエンジニア、iOSエンジニアの3ポジションで募集を行っています。
私と共に、当社の開発チームを引っ張ってくれる存在になっていただける方を求めています。ご応募をお待ちしています。