見出し画像

社長の浜野がエンジニアの片山くんにいろいろと聞いてみた。

お疲れ様です。社長のハマノです。今回はエンジニアの片山くんにお話を聞きました。前回のエンジニア飲み会動画では、ほぼシラフなのに約4時間ぶっ続けで誰よりも熱く議論を楽しんでいた片山くん。今日はどんなことを話してくれるんでしょうか。


少しのミスがビジネス全体を止めてしまう

―入社してから現在まで、どんな業務をしてきたのか教えてください。

はい。最初は、コンサルティング本部の品質管理チームで行っている違反スコアリングを管理する機能の開発などをやっていました。その後は、CM放映が始まったタイミングなどで日付検索機能のシステムでサイトのリソースを逼迫する状況になっていたのでその修正を担当していました。他にも、出店者の資格を登録する機能の作り直しをやりました。具体的には、新しい資格を登録しようとしてもシステムの拡張性がなくて追加ができない、という状態だったのを、データを入れるだけで追加できるようにする開発を行いました。

―今はどんな業務をしているんですか?

最近は決済チームでクーポンの後ろ側の開発をしたり、後払い機能の開発などにも少し関わっています。あとは、SRE的な業務で、パフォーマンスに問題のある部分の改善や、見つかった脆弱性の修正も担当しています。

―うちの会社って、大手のSIerのように入社してからの長期的な座学の研修制度みたいなものはないですよね。自分の技術力については、入社時と比べて何か変化を感じますか?

入社前から個人的にまあまあ勉強していたつもりではいたんですが、実際にシステムを触っていく中で学びがたくさんありました。特に実感したのが、ソフトウェアの品質を担保していくことの必要性です。少しのミスでもビジネス全体を止めてしまうことに繋がるので、重要だなと思います。
また、コードレビューなどで他のエンジニアから教えてもらう機会も多いので、そういった点でも自分自身の成長を感じますね。

―これまでの仕事で、個人的にすごく印象に残っている業務はありますか?

品質管理の中抜き調査業務の効率化については、改善施策の提案段階から設計、実用化まである程度自分でボールを持って進められたのかなと思っています。

―素晴らしいですね。業務の中で、難しいポイントや葛藤するようなポイントはありますか?

開発で難しいなと思うのは、品質と速度とコミットのバランスですね。ここまで工数をかけてやったところで意味があるのかどうかを考えて判断しないといけないのは、結構難しいなと思います。

―そういう局面って結構多いですか?

そうですね。例えばキャンペーンのレビューでも、キャンペーン開始の期限が決まってる一方、コードとしてはより良くするべきなので、期限がある中でどっちを取るかみたいなところがあったりしますね。インフラの修正でも、直し方によっては大改修する必要があるパターンと、大改修はしないけれど弱点があるみたいなパターン、どっちを取るかみたいなところは結構悩んでいる印象があります。

議論で負けても、むしろ「お得」

―片山くんの仕事の流儀はありますか?

非合理的なことはやらないようにするということは常に意識しています。あと、チームのメンバーがあまり意味のないことをしようとしていたら、気づいた時点で「それは意味がないのでは?」とちゃんと指摘することは大事だと思っています。それができなかった時は「何をやってるんだ自分...」って思っちゃいますね。

―この会社で活躍している人の特徴って何かありますか?

やっぱり、自分でちゃんと考えてる人が活躍してるのかなと思いますね。レビューで指摘をもらった際なんかも、指摘された内容についてちゃんと考えて次は同じことを繰り返さないようにしようと努めたり、むしろ「その指摘、ちょっと微妙じゃない?」みたいなことまで考えられる人は活躍できてるのかなというイメージがあります。

―逆に、活躍できないタイプはどんな人ですか?

自分の頭でちゃんと考えていない人でしょうか。自分が今やっていることの意味や目的をきちんと考えずに、言われたことを額面通りや、なんなら額面未満に受け取って作業して「いや、それ違くない?」みたいな話になると、それまでの作業が全部無駄になっちゃいますよね。それはもったいないなあと思いますし、自分自身の成長的な面でも効率が悪くなるのかなと思います。むしろ相手の言葉を額面以上に受け取って「こうした方がもっといいんじゃない?」みたいな感じまでいけると最高ですよね。

―片山くんは周りからはどんな人だと思われてると思いますか?

うーん、どうなんでしょう...。細かいなと思われてそうですけど。

―それはどうしてですか?

自分はレビューでの指摘も多い方だと思うんですよ。なるべく本質的なところ以外は省こうとはしてるんですけど、それでも多くなっちゃうので、細かく見てるなと思われてるかもしれないです。あとは、「頑固だな」とは思われてる気がしますね。

―どんなところが頑固なんですか?

最初に自分が思っていたことが「完全に違う」と理解できるまで、相手に質問し続けてしまうことがあるので、そこで(こいつなかなか折れないな...)と思われてるかなと。

―その裏にはどんなポリシーがあるんですか?

納得せずに折れたということは、相手の意見を鵜呑みにしてるのと変わらないというか。開発って、100%確実にどっちかが正しいということはないと思うんですよ。その中でもとりあえず話して、お互いに納得することができれば、ある程度は”正しい度”がちょっと上がると思うんです。そこまで持っていかないと自分がいる意味がないなというか、話す意味がないなと思っちゃうので、自分が関わる以上、そこは投げやりにはしてはいけないなと思います。

―なるべく議論をして、導き出す何かの質を高めていきたいみたいなことですか。

そうですね。「完全に違う」ということが納得できたとしても、自分の学びにはなるので。それはそれで得だなぁって思ってます。

―今までの質問は「人からどう見られていると思っているか」という質問でしたが、実際には自分はどんな人だと思ってますか?

自分が好きなんだろうなと思ってます。

―(笑)。自分大好きマンなんですか?

好きなのかもしれないですね。なんていうか、自分が関わっているプロダクトのことは、勝手に頭の中で自分のものだと思い込んでいて、それが汚される...というか、良くない方向に行くのは嫌なんですよ。もっと良くするには、技術的なことだけでなく仕様的な部分も含めてどうするべきかを議論していきたい。それで相手と議論して負けたとしても、それはそれで自分の勉強になるので自分が得するなと思っちゃいます。それって多分、どこまでも自分が好きだからなのかなと...。

―それはポジティブでめっちゃいいですね。

「出社しても意味がない」?

―片山くんの考えるチームの理想の状態を10段階中の10だとすると、今ってどれぐらいだと思いますか?その中身についても教えてください。

決済チームでいうと、7か8ぐらいかなと思います。チームのメンバー全員、開発について真面目に真剣に考えてる人しかいないですし、技術的にも皆さん熱心に勉強してるなと思うので、その辺で7です。
議論もすごく前向きで、「ここは微妙じゃないか」みたいなところがあれば、どんどん直していったり提案したりみたいな雰囲気は出来上がっているのが良いと思いますね。

―逆に、あと3ポイント足りない部分はどういうところですか?

プロジェクト中は議論やコミュニケーションも割と活発なんですが、それ以外のところであんまり話したりしないので、そこがちょっともったいないなと思いますね。技術的な雑談の中で、カオスというか突飛なところまでいったり新しい発見みたいなのが生まれる状態が個人的には理想かなと思っているので、その差分のところですね。

―確かに。ミーティングじゃなく、何気ない雑談の場で意外とアイデアが出ることはありますよね。

そうですね。

―こういう形でテックのメンバーにインタビューをすると、結構皆さん共通して「雑談をもうちょっとしたい」って言うんですよね。雑談したいんだったらすればいいのに!って思うんですが、それでもなかなか雑談が生まれないのは、何がそうさせているんだと思いますか?例えば時間がないとか?

やっぱりリモートワークが壁になっちゃっている気がしていますね。出社していれば、軽く毎日挨拶するぐらいの感じでも単純接触効果みたいな感じで仲良くなりやすい環境にはなると思うんですが、リモートだとそういう機会があまりないので、話しかけるにもわざわざ壁を乗り越えないといけないっていうのはあるのかなと思います。まあ、そう思うなら話す場を設ければいいじゃんというのはあるんですけど、その辺はなかなか…勇気が出ないっていうのもあると思うんですけど、やったところで意味があるかも分からないので、わざわざやる理由にもならないというか。自然発生的なコミュニケーションにはやっぱり負けちゃうと思うんですよ。Zoomで仕事の話が終わった後にタイミング良くちょっと時間があるみたいな時は雑談するんですけど、そういう時以外はなかなか雑談が発生しないですね。

―例えば、物理的にすごく遠い人はおいといて、オフィスに来れば雑談が生まれる可能性やチャンスはあるとは思うんですよ。それでもやっぱりリモートワークのみの人が結構多いと思うんですけど、オフィスに行ったほうがいいと分かってるにも関わらず来ないのは、何かそれを阻むものがあるってことなんでしょうか?

そうですね。今はデフォルトがリモートになってると思うんですよ。そうなると、出社したところで自分1人しか出社しないっていう状況になってしまっていて。他の部署の人と話すのも大事だと思うんですけど、まずはエンジニア同士で話したいという人が多いと思うので、誰も来ないならそういったチャンスは出社したとしても全然生まれないなとは思っちゃいますね。それが他の人にも連鎖して、結局誰も行かない...みたいになっているのかなとは思います。

―確かに気持ちとしては分かるんですよね。オフィスに行っても誰もいなかったら行く意味ないじゃんっていう。でもそれを広げて考えると、みんなそう思ってるんだったら自分がまず出社しないと、っていう考え方もある。どっちが正解とかはないと思いますが、興味深いですよね。

そうですね。意外と、定期的に出社してみたら何かあるかもしれないですね。

―リモートワークの方が効率いいよっていう話であればそれが一番いいと思うんですけど、これまで聞いた話の中では「やっぱり雑談も時には必要」ということなのであれば、何か行動してみてもいいんじゃないかなと思いますね。自分で自分の出社デーを企画する、「片山くん出社デー」とかを作ってみるのはどうですか?「僕何曜日行くんで、どうすか!」みたいな。

それ、ちょっといいかもしれないですね。自分から積極的には誘いにくいなと思ってましたけど、自分が出社する日を周りに共有するぐらいでも、来たいと思っている人は来てくれるかもしれないです。確かに、コミュニケーションについて思っていることがあるなら何か考えるべきではありますね。

難易度の高い開発にも挑戦したい

―あとは、ちょっと視座を上げた質問なんですけど、もし今片山くんが"意思決定者"、例えばCTOでもいいし社長でもいいです。意思決定者だったら、何に一番取り組みますか?

ちょっと一回じっくり考えたいですね、その質問。(しばらく考えて)
SRE的には、やっぱりシステムをもうちょっと安定的にしたいなとは思います。その他で言うと、(サービス一覧ページの)ランキングでしょうか。ランキングは今、くらマの中でも割と大事なところ、コアの一つだと思うんですけど。評価も含め、そのあたりを持続的に改良していけるようなサイクルを回せる状態にはした方がいいのかなとは思いました。

―おおー、めっちゃいい視点だと思います。

あとは、中抜き対策にも地道に取り組んでいかないといけないと思います。自分も過去、中抜き調査業務の効率化に取り組んだ時に試しに機械学習を使って実装してみたことがあるんですが、結構難しかったので、難易度は高いと思うんですけど。

―おぉ〜、ランキングと中抜きですね。ビジネスマンの視点ですね。
次の質問としては、今後片山くんが取り組んでいきたいこととかやっていきたいこととかってなんかあります?

やっぱりシステムの安定性を上げることでしょうか。どうしてもデータ不整合の問題が出てきてしまうんですが、重要な部分に関しては、それがほぼ起きないような状態まで持っていくことが必要だと思っています。
あとは、これまでは割とスコープの狭い設計が多かったんですけど、もうちょっと引いて見た感じのアーキテクチャ的なレベルの設計とかももうちょっと経験を積みたいなとは思います。あと、これはできるかどうかは置いといてなんですけど、データ的なところの興味が結構あるので、機械学習とかをシステムに入れられたら面白いのかなぁとは思います。やったとしても保守性がすごく悪い部分になるとは思うので、実用性を考えるとそんなにやる機会はないんだろうなぁと思いつつも興味がありますね。あとは、いま個人的に強化学習も勉強していたりするので、そういった部分にも興味があります。

―分かりました。では、雑談部長としてぜひ頑張ってください。

確かに、何か考えた方がいいですね。

―ありがとうございました。