1
/
5

サーバーサイドって、奥深くって味わい深い~エンジニア2名の座談会~

Diverseの中で20年の歴史を持つ「YYC」というサービス。今大きな変化の時を迎えています。そこで今回は、エンジニアリングマネージャーの藤田雄大さんと、同じくエンジニアリングマネージャーでサーバーサイドエンジニアも務める青山陽一さんに、YYCのサーバーサイド環境における現状と、サーバーサイドエンジニアの魅力について聞きました。

サービスの課題・弱点にとことん向き合う姿勢が備わった

青山:YYCは本当に歴史の長いサービスですよね。Diverseを代表するサービスのひとつでもあるし。

藤田:うん、本当にそうですよね。

青山:AWS移管も終え、時流に乗って来たな、と思っています。その一方で正直モダンではないPerlを使い続けてきてますよね。そのあたりはこれまで改善してきたんでしょうか?

AWS移管の話はこちら:
理想とする開発体制をつくるために、僕らが取り組んだこと~AWS移管を完了して~

藤田:私が入社する前の2010年頃にPHPからPerlにリプレイスを行ったようです。その後、Perlからのリプレイスの話も出ていましたが、新規事業への注力などの方針やYYC自体が巨大なサービスだったこともあり、正直言語のリプレイスは先送りされていました。

青山:そうなんですね。長く運用してきたサービスですし、簡単にリプレイスを始める、というのも難しいですよね。コストとリソースのバランスはとらないといけないですし。

藤田:これまでにも大規模なものではなく、既存のサービスにおけるリプレイスは行ってきたんです。他にも大きな仕様変更はあったものの、全体を棚卸するのはやっていませんでした。その点、青山さんがジョインしてくれたことで、ユースケースを洗い出し、YYCの骨組みを一覧化することができたのは大きな意味を持ちました。そういった管理にリソースを割いたことで次のチャレンジーつまりリプレイスにつなげられる、と考えています。

青山:僕は今年の1月に入社したんですけど、こういった作業をしてみて初めて「あ、YYCってこういうサービスなんだな」って腑に落ちた感があります。

藤田:YYCの規模だとリプレイスするための前段階として「不確実性をなくしていく」ことは大切ですよね。

青山:その点で行くと、僕はYYCというサービスの根っこを知っている人がいない、これがひとつのネックかなと思っています。それと関連して、YYCのことを知ろうと思っても、ドキュメントがない。ドキュメントがあったとしても古くて信用していいのかどうかわからないものもありました。全体の構成とかユーザーの動線とか、そういったものが体系化されて管理されてないっていうか…それってリソース不足が要因としては大きかったんですか?

藤田:単純にリソース不足ではないと思います。良くも悪くも文化としてドキュメントを残すということがなかった。特に昔は、目先のことに没頭していて、管理の優先度が低くなっていたんだと思います。今後は、チームとして、ドキュメントを残すという意識が私達マネージャー含めて必要と感じますね。

青山:そうですね、徐々にドキュメントを残していこうという意識は定着しつつあると感じているので、少しずつ改善していければいいですよね。YYCの初期から知っていなくてもナレッジの積み重ねによって、新たなチャレンジができる土壌がつくられてきている実感があります。棚卸じゃないですけど、時間をかけてしっかりとナレッジを積む文化を育んでいきたいと思います。

トレンドを追いながらも、開発環境をブラッシュアップしていく

青山:開発環境の面でいうとAWSの導入によってがらっと工数や負担が軽減されましたよね。

藤田:オンプレミスから変わったことで出来ることが格段に増えたのが大きいですよね。これからどんどんDevOps含めて改善していきたいですね。

青山:たしかにそうですよね。やっぱり手作業が増えるとミスって増えるじゃないですか。でもAWSに移管されてからはボタン1つで、本番環境に反映されるようになりました。また、以前と違ってBlue/Greenデプロイができるようになったので、リリースするのに操作的にも精神的にも楽になった気がしています。トラブルが発生した、というと手作業でコマンドをたたいていたのに、問題が生じたらRollbackすれば良い、という手軽さも大きなメリットですよね。

藤田:ストレスフリーで本番にのぞめるのはいいですよね。ただ、まだ操作に慣れていないので、慣れればさらにスピード感を持って臨めるのかなって。いずれにしても、前よりも格段にやりやすくなっているし、エンジニアの中でも新しい技術が浸透してきていると思います。

青山:そうですね。また操作に慣れれば余裕が生まれて、「次はなにやろう?」という違うチャレンジにもつながりますよね。

藤田:それは間違いないですね!

リプレイスも、既存サービスも両方充実させる、という強い意思で

藤田:今後改めて挑戦したいことって何ですか?

青山:Perlからリプレイスしていくことも視野に入れているので、そのタイミングでアーキテクチャからしっかりと固めていくことですね。Perlから変わったからといって、言語の差自体はサービスの質に直結するものではないですが、新しいことへの挑戦として、サービスと共に成長していける環境にしたいです。

藤田:そうですね。言語の違いは、速度とかの面では若干変わるとは思いますが、新しいことにチャレンジする姿勢は、採用面、技術面の価値向上に直結するのかなと思います。

青山:たしかに。そういった狙いもありますよね。リプレイスを成功させるために、まずは現状の整理をしっかりとすべきかなと考えています。「このサービスは重要だよね」とか「このサービスはこのまま残す」みたいな、そういった必要なものの取捨選択が重要なのかなと。「リプレイス最優先」で進めていった結果、使っていただいているユーザーさんに悪影響を及ぼして離れていってしまうのでは元も子もありませんから。

藤田:それは本当にそうですね。チャレンジとしてトレンドを追いながらも、慎重に進めていく必要がありますよね。青山さんも言ったように、言語もそうですがアーキテクチャ含めてリプレイスしていきたいですね。

青山:そうですよね。アーキテクチャを含めてのリプレイスをして根本的に変えていくことで、レスポンスを今よりも速くできると考えています。システムのレスポンスが速いことでの副次的な効果も狙っていきたいです。たとえばメッセージの送信スピードを速くすれば、もう1通だそうという意識も変えられそうじゃないですか?ひいてはそれがユーザーのアクション数も増え、結果的に体験向上にもつながると考えています。「ユーザーのことを考えた施策」というのは常に忘れずにいきたいと思います。

藤田:こうしてみると、テクノロジーで強い会社になるためには、やはり優秀な方に来てもらう必要がありますね。

青山:はい。今後もっとその重要度は増しそうですよね。

藤田:そのためには、技術の新陳代謝が不可欠なんだな、と。つまるところ新しいチャレンジをどんどんしていく、ってことになるわけですが!

青山:はい、それは本当にそう思いますね。新しい経験値、というのを僕らどんどん積んでいく必要があると思います。YYCという歴史があるサービスの中身はどんどん新しくなってるんだよ~っていう打ち出しは、今後も続けていきたいですね。

前向きのパワーがあふれる、「会社のエンジン」となるチームに

藤田:青山さん、最後に今後はどんなチームにしていきたいですか?

青山:そうですね、僕は2つ理想のチーム像があります。
「毎日チャレンジし続ける」/「領域外に一歩踏み出せる」そういうチームになりたいなと思っています。「自分の担当領域しかやりません」ではなくて、多方面にアンテナを張って常に行動できるチームがいいなって。

藤田:成長マインドってすごく大事ですよね。

青山:というのも、YYCのサービスはここから伸びていくと思っているので、それなのに人は伸びなくていいのか?って思っちゃうんですよね(笑)。

藤田:具体的には、コンフォートゾーンから抜けてラーニングゾーンにチャレンジしていってほしいな、ってこと?

青山:そうですね、自らを不安定な環境に置けるチームっていうのは、やっぱり伸びしろがあると思います。

藤田:なるほど。私はメンバーそれぞれの多様性を持ちながらも、意識はひとつにしていきたいと思っています。

青山:具体的にはどういうことですか?

藤田:たとえば「新しい技術的なことにはチャレンジしたくないけれど、ユーザーからの不満を減らしたい」その一方で「新しい技術にチャレンジしたい」とか、「サービスの維持をしたい」とか。みんなそれぞれ目指す目標って違っていていい。目標にコミットして、役割分担できれば足りるのかなと。今後、多様性はさらにDiverseの大きな武器になると思っています。

青山:結果をチームとして確認しながら、進めていくってことですよね。多様性で言うなら、今も個々の力は磨かれていると思いますが、更に生き生きと1人1人が自立していけるチームを目指したいですね。

藤田:なんだか今後が楽しみになってきた座談会になりましたね!

青山:またやりたいですね!(笑)。

株式会社Diverse's job postings
5 Likes
5 Likes

Weekly ranking

Show other rankings
If this story triggered your interest, go ahead and visit them to learn more