みなさん、こんにちは!
人事の岩崎です。
今回は第16期下期社員総会 GROWTH AWARDにてベストチーム賞を受賞されたプロダクト開発グループのみなさんにインタビューをさせていただきました。
私は仕事柄面接官として社外の方々からご質問いただくことが多いのですが、当社のエンジニアチームの話をすると大体「御社は少数精鋭でプロダクト開発をされているのですね」と驚かれます。
今回ベストチーム賞を受賞されたプロダクト開発グループは、エンジニアチームの中でもさらに少数精鋭でかつ複数プロダクトの開発を行っている、いわば二兎を追って二兎をしっかりモノにできている印象を持っていましたので、今回をいい機会に秘訣についてたくさん聞かせていただきました!
インタビューされる人
リム・チュンレン
テクニカル・ソリューション部 プロダクト開発グループ 副部長
好きな技術は特定のものはないのですが、技術を使って問題を解決していくことが好きです!
エンジニアW
テクニカル・ソリューション部 プロダクト開発グループ エンジニア
Ruby や TypeScript を書くことが多いですが、工夫して何かを作ったりするのが好きで、趣味では興味に応じて物理層からアプリケーション層まで触れてみたりしています。
岡 恭平
テクニカル・ソリューション部 プロダクト開発グループ エンジニア
今年、新卒エンジニアとして入社しました。
これまで、Python や TypeScript を使ったアプリ開発を行ってきました。個人的にはVue.js や Nuxt.js が推しの技術です。
インタビューする人
岩崎 祐樹
コーポレート・ソリューショングループ 人事 主任
過去実はエンジニアにキャリアチェンジをしようと試みたことがあります。時々プログラミングをやりたくなっては、UnityやSwiftのチュートリアルで遊ぶくらいには好きです。あとエンジニアさんとお話するのは楽しい。
新規事業開発は攻めの開発と同じくらいに守りの整備も大事?
岩崎:ではまずそれぞれの方のお仕事についてお聞きしたいです!
リム:はい。コードを書く、レビューをするのは私含めチーム全員共通の業務として行っていますが、私はさらにチーム内のスクラムマスターのような役割も持っています。具体的には以下の内容です。
・プロダクトオーナーの状況をヒアリングして理解し、優先順位を考慮しながらユーザーストーリーを作る
・ユーザーストーリーに点数を見積もり、全体のリリーススケジュールの管理・進捗の可視化
・チームメンバーの開発上の課題を指導しながら解決に導く
・チームメンバーが開発に集中できる環境を作る
岩崎:ありがとうございます。プロジェクトマネジメントも兼ねているような感じですね。
Wさんはどんなことをしていらっしゃいますか?
W:”新規事業の成長をシステム面からリードしていく”ということがチームのミッションとしてあって、その中でも実際に機能の開発や改善がメイン業務です。
リム:Wさんはチームの中でもシニアエンジニアのような立ち位置を担ってくださっていて、
開発やコードレビューの他にもシステム設計の領域まで力を発揮しています。例えば新規事業プロダクトの1つであるAdictorのページスピードの改善なども自分で調べてどうやって解決するかまで考えて実行してくださっていました。
当社新規事業 eスポーツ大会プラットフォーム「Adictor」
岩崎:Wさんはチーム外からみていても何でも解決できちゃうスーパーエンジニアのように勝手ながら感じています。そんなWさんも新規事業に複数関わる中で初めて経験したことってあったのでしょうか?
W:一番苦労したのはOPTIOのタグなどを配信するシステムに使っていた言語やフレームワークですかね。それほど経験がないものだったので、キャッチアップするのに苦労しました。
子会社クロストレックスの事業 「OPTIO」の開発も担当しています
岩崎:なるほど!では最後に岡さんがやっている仕事についてもお伺いできますか?
岡:僕がチームに配属されたのが新卒研修終了後の7月頃だったので、上期の中でいうと後半からの参戦となりました。
業務としては主にOPTIOのリファクタリングを行っています。開発がどんどん進むにあたり中の実装がますます複雑になっていたため、長期的な視点で開発スピードを落とさないようにコードを整理していました。
岩崎:なるほど、ありがとうございます!いわゆる技術的負債になりそうなところをちゃんと綺麗にしていく、みたいなところなんですかね?
岡:はい。フロントエンドのWeb画面側を扱うところが未着手の状態だったので、フロントエンドのリファクタリングを中心に担当しました。
岩崎:すごい意外ですね!新規事業ってやっぱり攻めの開発をどんどんしていかないといけないという勝手なイメージを持っていました。ログリーの新規事業開発の場合はリファクタリングとか将来的な長期的な投資も含めた開発をやっていらっしゃるということですね。
岡:そうですね。僕自身、学生時代の経験でも確かにリファクタリングを怠っていると、開発が遅れてしまったりしていたので、やっぱりそういったところの整備は大事だなと思います。
自走できる個人の力と最適なタスク管理の遂行が受賞の理由
岩崎:お話をお聞きしていると役割と業務のバランスが取れていてベストチーム賞を受賞されたのも納得なのですが、受賞された理由についてそれぞれどういったことを感じていらっしゃいますか?
岡:正直僕は後半から参戦したこともあり、僕以上に先輩であるお二方の力があったから受賞できたのではないかと思っています。お二人は忙しい中でも数多くの開発をする合間を縫って僕のコードをレビューしていただいたり、ビジネスサイドとコミュニケーションをとって課題解決に向けて迅速に対応していたりして、すごいなと感じていました。
岩崎:なるほど、課題解決のスピード感ですね。先輩方からもしっかりフォローして頂いていると強く感じられていたってことですね。
リム:でも岡さんは今年新卒として入社したとは思えないほどキャッチアップが早いですよ!もう一人前のエンジニアとして活躍されています。
岡:ありがとうございます。まだまだ至らない点もありますので、精進していきます!
岩崎:Wさんもコードレビューなど色々フォローしてもらったと岡さんは感じていらっしゃったみたいですが、ご自身が担当する開発もある中の両立は結構大変ではなかったですか?
W:実は自分としてはもっと積極的にサポートに入っていかないといけなかったと反省しています。ですが岡さんはそこまで手厚くフォローしなくとも充分一人で進めていただけたというのはありまして。元々お持ちの実力でカバーして頂いたような感覚です。
リム:岡さんは問題の解決がしっかりできるエンジニアだと思います。
岩崎:なんだかお互いに支え合っている感じでいいですね。ほっこりしちゃいました(笑)
Wさんはベストチームを受賞した理由についてどう感じますか?
W:複数のプロダクト開発を並行して進めていくということが既に大変だったと思うのですが、それを着実にメンバーが進めてこれたというのは、リムさんがチームやタスクをまとめていくのがすごい上手だと思っていて。それが結構受賞理由の中でも大きかったんじゃないかなと自分は思ってます。
リム:そんなことないですよ!至らない点もあって、タスクを小さく見積もってお任せしたら結果的に大きなタスクになってしまうことも何回か発生していました。岡さんにお願いしたタスクも、2日で完了すると思っていたものが2週間かかるものだったということもありましたね。もし良いと思ってくれていた部分があったら、その部分だけ学んで欲しいですね(笑)
岩崎:なんでみなさんのお話を聞いていてほっこりするんだろうと考えたのですが、このチームは他の方をすごい称賛しますよね。「他の〜〜さんがしてくれたから」っていう、謙虚な姿勢からくる言葉がすごい多い気がします。
緻密な期待管理と優先順位のマネジメントを通してチャンスを掴む
岩崎:チームとしての完成度がすごく高いなと感じるのですが、リムさんはマネジメント目線で大変なことはありませんでしたか?
リム:優先順位と期待の管理ですね。プロダクトオーナーの期待を管理するのはもちろんですが、それだけではなく自分に対する期待を管理することも大事です。これはちょっと大変でした。
岩崎:なるほど、もっと詳しくお聞きしてもいいですか?
リム:例えば、時間が限られている中でチームとして達成できることは頂く要望の多さに対して少ないと考えると、自分たちがどれだけできるかという期待管理をする必要があるんです。できる限り多く達成したい想いはあるのですが、やはり優先順位をちゃんと立てて優先度の高いことから解決していくことが大事でした。
岩崎:自分に対する期待というのは新しい視点ですね!
リム:そうですね。基本的には自分ができることよりも他者からの期待の方が大きくなりがちだと考えています。ただやはり自分の能力や時間にはどうしても限りがあり、この限界点とはちゃんと向き合わないと結果的にストレスがかかりパフォーマンスが下がってしまうと思っています。やりたいこととできることの限界があることの葛藤の中で挑戦していくことは、今振り返ってみると大変だったのかなと思いますね。
岩崎:なるほど、ありがとうございます。ちなみにリムさんはマネージャーの視点で今回の受賞理由についてはどうお考えでしょうか?
リム:受賞理由を説明するにあたり孟子のいい言葉がちょうどいいので、それを使って説明しますね。
- 孟子は「天時不如地利、地利不如人和」と言いました。戦争で勝利を手にする三つの要素があります。
- 天時=機会
- 今回は一つのスモールチームで複数のプロジェクトに対応できる体制を作ることができました。
- 地利=プロジェクトと関係する人、環境
- 上司からのサポート:課題が発生した時は、チームでの課題について上司と相談することが多いです。信頼関係はチームのモチベーションにおいてとても重要だと思っています。
- プロダクトオーナーの理解:限りある工数の中、全ての要求を完了するのは難しいです。そんな中でプロダクトオーナーの方々は優先順位を明確に判断して頂いたり、優先度が低く実現が難しいものについては、社外のお客様に説明をしてくださりました。
- 人和=チームメンバー
- 努力:アサインされたタスクを、しっかり期限内に完了するように努力してくれました。
- チームワーク:お互いの意見を尊重しながら、業務をスムーズに進めてくれました。
私は上の3つの重要度の高い順に並べた時に、人和>地利>天時だと考えています。たとえどんなチャンスを与えられても、チームメンバーの力が足りなかったり努力する姿勢がないと、今回の受賞には繋がらなかったはずです。
岩崎:チームメンバーの力や努力があったからこそ、実現できる範囲も広く複数プロダクトの開発ができたということですね!
新規事業に関わる新卒1年目エンジニアが学んだのはコードレビューのトーンマナー
岩崎:岡さんは新卒1年目で新規事業のエンジニアチームに配属されていて、一般的には珍しいケースなのかなと感じているのですが、学生時代の開発経験と比較したりして何か感じていることはありますか?
岡:コードレビューしてもらうときのマナーやどこにコミットを意識すべきかという細かい感覚は、入社後に学んだことになるのかなと思います。
岩崎:コードレビューにマナーってあるんですか?
実際にコードレビューを依頼している画面
岡:そうですね。例えばコードを修正するときに、依頼されたところとはあまり関係ないところには手を加えないようにしています。
具体的には、ユーザーページのパフォーマンスを上げてくださいという依頼があったとして、ユーザーページではないトップページやランディングページのコードがすごい気になったとしてもついでに直してはいけないということです。そこを修正した状態も含めコードレビューをすると、ただでさえ忙しい中でレビューの工数が増えてしまいますし、全く関係ないコードに工数をかけていた場合には開発スピードにも遅れが生じてしまいます。
岩崎:なるほど。学生時代は個人の興味関心に従って開発することができたからこそ、チーム開発の観点で大きく違うところだと感じたのかもしれないですね。
岡:あとは一度にまとめてレビュー依頼をするのではなく小さく分けて細かく依頼をするのもマナーですね。例えば求められている機能があってそれが3段階に分割できるものだとした場合に、タスク期限内で全て完了させることができなくても、求められる最低限の2つについては実装できましたとなれば、この2つを先に本番環境に導入することができます。
岩崎:なるほど。100点のものを求められていたとして、最初から100点を目指していくのではなく、30点とか60点とかの時点でレビューしてくださいと依頼するということですね。
岡:そうですね。1回きりにしてしまうと、100点に到達しなかった時に何もできなかったということになってしまうので、保険という意味でもやる価値があると思います。
W:実はレビューするときってソースコードのどこをどう変えたかというのが一覧で出てくるのすが、そこが段階ごとに分割してあると順を追って理解しやすいですね。やはり小さい段階で早めに依頼を出してもらうと、方向性の修正がききやすいというメリットもあります。
リム:もし1ヶ月間かかるタスクを最後の日までコードレビューがないまま進めたとすると、最後の日に方向性自体が間違っていることが分かったら1ヶ月が丸ごと無駄になってしまいますからね。それを防ぐための工夫をしています。
岩崎:なるほど。優先順位を決めるのが大事という話が先ほどありましたが、タスクを進める上でも方向性を細かく確認していくことによって手戻りを少なくすることに繋がっていくんですね!
実は育児ともしっかり両立できてます
岩崎:Wさんは今年4月に男性育休から復帰されていると思うのですが、そこからすぐ新規事業のプロダクト開発を少数でやっていくことになって、正直最初感覚を取り戻すこととか大変なことはありませんでしたか?
W:技術の面では、コードを書いたり最近の動向を追ったりするのはもともと趣味のようなもので生活の一部になっているので、感覚の違和感はありませんでした。一方で、子供が生まれたことによる生活スタイルの変化に適応して、仕事を両立することには難しさを感じました。
岩崎:本当にすごい…。
W:仕事との両立については妻の力も大きいですね。在宅勤務が多く調整が効きやすいのもあり、うまくやっていけています。ちょっと抜けて育児をするみたいなこともしやすいですし、あとは単純に通勤時間が片道1時間だったら往復で2時間なくなる計算なので、時間にも余裕ができやすいですね。
岩崎:新規事業開発をゴリゴリやってかつ育児ともしっかり両立されている姿は本当に尊敬します!やっぱり新規事業の開発は面白いですか?
W:新規事業ということもあり、制約が少ない中で選択した技術スタックの上で開発を行えることが一番の面白みだと思います。自分は途中から参加したので技術選定には関わっていないですが、担当者が設計時に最良を考えて選定したモダンなスタックを実際に業務として触れていく中で、新しい技術の実践的な知見を得ることが多くありました。
Adictorの技術環境の一部
新規事業の開発をやるならエンジニア視点だけでなくビジネス視点を持つことが必然
岩崎:では最後にベストチーム賞を受賞されたみなさんが今後チームをどのようにしていきたいのか、チームの中でどんな存在になっていきたいのかぜひお聞かせください!
岡:今後はユースケースに応じて、最適な技術の選択やアイデアを率先して出せるようなエンジニアになりたいです。またエンジニアだけでなく、ビジネス職の方も巻き込んでプロジェクトを計画・推進できるようになりたいです!
W:ちょっと抽象的なのですが、新規事業の成長によりフォーカスしていきたいですね。単に技術力を提供するだけじゃなくて、それをやることによってユーザーにとってどれくらい良いことがあるのかとか、事業全体を見ながら動いていけるようになりたいです。
リム:まず楽しむことを続けていきたいです。楽しむことができなかったら新規事業を扱うチームとしてはあまりよくないのではと思っています。あとはWさんと岡さんに対しては、将来に自分のチームを持てるエンジニアになってほしいという個人的な野望もあります。
岩崎:お三方のお話を聞いていると、新規事業開発にはビジネス視点が自然と必要になってくるような感覚を持ちました。
リム:まさにスモールチームだからこそ求められることではないかと思います!
岩崎:みなさん、インタビューありがとうございました!
編集後記
新規事業に関わるエンジニアの働き方や考えていることについて少しでもイメージが深まりましたでしょうか?
チームメンバーの個の力の強さと抜群のバランス感覚が合わさって今回の受賞に繋がったとインタビューを通じて感じることができました。
当社は新規事業にも積極投資しており、チャレンジする環境が大いにあるのでこれからの成長も楽しみです!
インタビューに応じてくださったベストチーム賞を受賞されたみなさん、改めておめでとうございます!!