サイト内を検索

【後編】約5年続くサービスを、どう育てる? サーバーサイドから仕掛ける技術的挑戦とAI活用

前編の記事では、『リヴリーアイランド』のサーバーサイド開発体制や、仕事内容について紹介しました。後編では、約5年にわたる運営で直面してきた技術課題や性能改善、AI活用、エンジニアの成長環境について、3名のメンバーにインタビューします。

約5年間運用している『リヴリーアイランド』だからこそ感じる、サーバーサイド開発の難しさ、面白さを教えてください。

Sさん: 約5年間運営が続いているサービスなので、長期プロジェクトならではの難しさがあります。お客様の数や蓄積されるデータ量が日々増えているため、新機能を追加する際には単純な実装だけでなく、既存機能への影響や負荷、データとの整合性まで考える必要があります。企画から相談を受けた際も、「どう実現するか」だけでなく、「既存の仕組みとどう共存させるか」「将来的な拡張にも耐えられるか」を、企画やクライアントエンジニアと一緒に考えています。

また、長く運営しているからこそ、過去の仕組みなど改善したい部分も残っており、その場しのぎで対応してしまうと将来の開発がより難しくなってしまいます。そのため、新しい開発のタイミングでコード整理や設計の見直しを行い、できる範囲で技術的負債を減らす意識を持っています。「どこまで改善するか」「スピードと品質をどう両立するか」はチームでもよく議論するポイントですが、こうした経験を重ねることで、数年先も安定した開発をし続けられる設計の意識が自然と身につきました。

改善した仕組みの上に新しい機能が積み重なり、一つのプロダクトを継続して育てていけることは、長期運営サービスのサーバーサイド開発ならではの魅力だと感じています。

Oさん: 「設計の効果を実感できる」というのが、難しくもあり面白いポイントです。日々さまざまな案件が並行して進む中、一度リリースした機能は後方互換を意識する必要があり、次の変更の足かせになることもあります。だからこそ、拡張しやすさや変更の影響範囲を考慮した、長期運営に耐えうる設計が重要です。良くない設計は、そのまま技術的負債となって返ってきます。

逆に、良い設計を行ったことでトラブルなくリリースを迎え、その後も問題なく動作し、次の変更もスムーズに行えるようなコードを書けたときには、独特の達成感がありますね。過不足なく、将来の拡張や変更を見越した設計・実装を行うことは地味ですが難しく、それでもサービスの長期安定運営には不可欠な仕事だと感じています。

リヴリーアイランドのサーバーサイド開発における技術課題の解決に向けた取り組み、設計・技術選定で意識していることを教えてください。

Oさん: 面白いと感じるのは、大規模なアクセスを支えながら、サービスの成長に合わせてシステムそのものも継続的に進化させていく必要があるところです。お客様が増えていくと、それまで問題なく動いていた設計がボトルネックになることがあります。また、過去の設計上の制約によって単純なスケールアウトでは解決できず、アクセス方法やデータ構造そのものを見直さなければならないケースもあります。

私が参加した当時も、お客様数が増加する中で、データベース処理がボトルネックになっている部分がありました。単純なチューニングだけでは解決できなかったため、データへのアクセス方法を見直し、データの持ち方や配置そのものまで変更する必要がありました。影響範囲の大きな変更でしたが、サービスを止めることなく予定通りのスケジュールで問題を解消できたときは、大きな達成感がありましたね。

リヴリーアイランドはリリース後も継続的に成長しているサービスです。だからこそ「今は動いているから問題ない」ではなく、「どこが次のボトルネックになるのか」を予測し、問題になる前に将来の成長を見越してシステムを改善していく仕事に、サーバーサイドエンジニアとしての面白さを感じています。

設計や技術選定では、長く安定して運用できることとチーム全体の開発効率を重視しています。実績のある方法を土台にしつつ、新しい技術も「今の課題を解決できるか」「数年後も維持できるか」「チームで扱えるか」を見極め、安定性、開発速度、保守性のバランスを大切にしています。

現在、リヴリーアイランドの開発ではAIをどのように活用していますか?

Sさん: 2026年からサーバーチームではClaude Codeを標準ツールとして全員で利用しています。既存コードの調査や設計方針の整理、コーディング、テスト作成、コードレビュー、PR作成、他セクションからの調査依頼への対応など、幅広い工程で活用しています。

AIに実装させて人間が確認・修正する進め方が増え、要件整理やシステム設計、保守性の確認など、より上流の判断に時間を使えるようになっています。現在は企画やQAにも活用を広げています。

Oさん: 新機能の開発では、AIで既存コードや仕様を調査し、影響範囲や設計方針を整理したうえで実装に進みます。実装後もAIによるレビューやテストを行い、必ず人によるレビューも実施しています。「コードを書くこと」から「何をどう作るかを考え、成果物の品質を判断すること」へ仕事の比重が変わってきたと感じています。

Kさん: ドキュメント検索にはNotion AIを活用し、欲しい情報へ素早くアクセスできるようになりました。開発ではClaude Codeにより、コード作成や調査の速度・精度向上、テストの網羅性向上などを実感しています。反面、試行錯誤の段階がスキップされるため、最初から理想形を描いてAIに渡すスキルや、完成品を見て判断するレビューの重要度が高まり、仕事の難易度自体は上がったと感じます。

一方で、AIを開発に取り入れるうえで難しかったこと・苦労したことはありますか?

Sさん: 最初はメンバーごとの活用レベルにばらつきがあったため、チーム共通のルールや、AIの利用手順・開発方針をまとめた仕組みを整え、活用方法を標準化しました。またセキュリティルールも整理しています。重要なのはAIの回答を鵜呑みにしないことです。AIを一つのチェックレイヤーとして活用し、最終的な判断や責任は人が持つことを大切にしています。

Oさん: どこまでAIに任せ、どこから人間が介入するかの見極めが最も難しいです。蓄積されたコードから「真似して良いコードか」を判断する必要がありますし、複雑な機能は人間が問題を整理・分解したうえでAIと方針を詰める必要があります。また、大規模な実装をAIがこなす中で、若手エンジニアにどう技術力や判断力を身につけてもらうかも今後の課題です。

Kさん: AIに任せる範囲やチェックの粒度は日々試行錯誤しています。案件やAIの進化に応じて、出力結果や所要時間、トークン消費のバランスを見ながら調整を続けています。

リヴリーアイランドの開発チームは、どのような雰囲気ですか?

Sさん: 年齢や経験年数に関係なく、裁量を持って仕事を任せてもらえる雰囲気があります。若手でもコラボ施策など重要な開発を担当する機会があり、本人の成長に合わせて挑戦できる環境です。定例だけでなく日々の業務でも相談しやすく、チーム内でのフォロー体制も整っています。リモートワークや子育て支援制度を活用しながら、家庭の状況に合わせて柔軟に働けるのも特徴です。

Oさん: 働き方は比較的さっぱりしていて、勤務時間も人それぞれで飲み会も少なく、「それぞれの時間を尊重しながら仕事ではしっかり協力する」というチームです。技術的な相談もしやすく、実装前に定例の場で設計書を持ち寄って全体でレビューを行ったり、経験豊富なメンバーにアドバイスをもらったりしています。コードレビューでも単に指摘するだけでなく、「なぜこの実装にしたのか」を議論するため、ナレッジ共有の場になっています。

Kさん: 実際の開発においては、エンジニア一人ひとりが、チームの方針を踏まえた上で「なぜこうするのか」を考えて設計しており、メンバーもそれを尊重する土壌があります。人によるコードレビューも非常に活発で、チーム内での知識共有や品質視点の同期に役立っています。

ここまで、リヴリーアイランドの開発チームが大切にしている協力体制や、主体的に設計・実装に取り組める環境について紹介してきました。

では、実際にこのチームで働くエンジニアは、どのような経験を重ねながら成長していくのでしょうか。ここからは、入社1年目から設計を含む開発に携わってきたKさんに、これまでのキャリアを振り返ってもらいました。

新卒で入社してから経験してきた仕事や、特に成長につながった経験について教えてください。

Kさん: 最初は小さな機能改修から始まり、徐々に大きなイベントやコラボなど、重要度の高い案件を担当するようになりました。1年目から設計を含めた開発を任せてもらい、自分で考えて進めるスタイルで経験を積んできました。

また、提案もしやすい環境です。サーバーチームの定例で話題に出たドメイン駆動設計(DDD)の手法を、自分が担当する案件で試験的に取り入れたこともあります。

特に成長につながったのは、1年目にWebサイト連携の仕組み作りを1人で担当した経験です。コードだけでなくインフラ設定にも関わることができ、大きな学びになりました。

1年目から積極的に参加したコードレビューも成長につながっています。他メンバーのコードから学び、既存コードへの理解や改善点を言語化する力を鍛えられました。

日々困ったときも、面倒見の良い先輩メンバーに気軽に相談に乗ってもらえるサポート環境があったからこそ、試行錯誤しながら着実に成長してこられたと感じています。

Kさんのお話からは、入社1年目から設計やコードレビューに携わり、さまざまな経験を積み重ねてきたことがわかりました。

一方で、エンジニアとして経験を重ねる中では、自身の開発だけでなく、チーム全体の成長や開発環境づくりに関わる役割へと仕事の幅を広げていく道もあります。

ここからは、テックマネージャーとしてチームを支えるSさんに、現在の役割やメンバーとの関わり方について伺います。

テックマネージャーとして、現在どのような役割を担っていますか?

Sさん: 現在はテックマネージャーとして、自分自身がコードを書く機会は以前より減りましたが、チーム全体がスムーズに開発を進められる環境づくりや、エンジニアの成長支援を中心に行っています。

会社や事業部の方針を正しく理解し、メンバーにタスクを流すだけでなく「なぜやるのか」「事業にどう貢献するのか」まで伝えることを重視しています。日々の進捗管理や優先順位の整理、他セクションとの調整、課題改善の働きかけ、採用活動なども担っています。

特に大切にしているのはメンバーの成長と働きやすさです。各自がどのようなエンジニアになりたいかを汲み取り、成長につながる案件を担当できるよう調整しています

1on1では技術やキャリア、チームの懸念などを話しながら、挑戦の機会をつくっています。

自分がコードを書くこと以上に、メンバーが成長しながら成果を出せる環境をつくり、チームで事業に貢献することが重要な役割だと考えています。

最後に、どんな人がENSAPIA Engineeringのサーバーサイドエンジニアとして活躍できるか、候補者の方へのメッセージをお願いします。

\\こんな方におすすめの環境です//

  • 他職種と協力しながらチームでものづくりをしたい方
  • バックエンドの設計・性能改善・長期運営を見据えた開発を深めたい方
  • AIをはじめとする新しい技術を積極的に活用・導入したい方
  • 自分の知識やノウハウをチーム全体へ共有できる方
  • 「サービスやお客様にとって何が良いか」を主体的に考えられる方

Sさん: 100名を超えるプロジェクトの中で大規模サービスを支えつつ、エンジニアのアイデアを企画や仕様に反映できる環境です。『もっと良いものを作りたい』『新しい技術に挑戦したい』という方、ぜひ一緒に挑戦しましょう!

Oさん: 過去の成功体験にとらわれず、変化を前向きに受け入れて最適な方法を探していける方と一緒に働きたいです。興味を持っていただけたら、ぜひご応募ください!

Kさん: 『自分の仕事が誰に何を届けるものなのか』を意識することが大切です。サービスを守り、広げ、育てる仕事に興味を持ってくださった方と一緒に働けたら嬉しいです。

≪ENSAPIA Engineeringはサーバーサイドエンジニアを募集しています!≫

🔻求人情報はこちらから是非ご覧ください!

Tag

Category

Tag