ユーザーに価値を届けることを追い求めるサービス開発者でありたい
エンジニア 新井 康平 / 2017年新卒入社
技術で課題を解決し価値を届けることの楽しさ
「ゲームをつくるような仕事をしたい」と中学校の先生に話した際、プログラミングを学ぶと良いというアドバイスを受けて少しずつコードを書きはじめました。その後、高等専門学校に進学。就職という選択肢もあったのですが、自分の視野の狭さに対する不安と教養をつけたいという思いから、卒業後は東京大学工学部システム創成学科に編入しました。
今の自分に大きな影響を及ぼしていると感じる大学時代の経験は二つあります。一つは、研究です。論理建てて考える能力や問題に直面した際どのようなアプローチを取るのか、その後どんな結果が返ってきて、その結果をどう整理し、再アプローチするのか。そのようなサイクルや手法は、研究に取り組む様々な過程の中で経験し学び、実際に今とても活きています。
もう一つは、ベンチャー企業でのWebエンジニアのアルバイトです。大学の先輩から誘いを受け、コードを書く仕事とはどのようなものかイメージするいい機会だと思い挑戦しました。しかし、会社で採用されていたRubyは未経験の状態でしたし、途中からエンジニアがほぼ自分ひとりだった時期もあり正直はじめはかなり大変でした(笑)
大きい仕事もいくつか経験した頃、大学院へ進学して時間にも余裕ができたので、以前よりオフィスへ行く頻度が高くなりました。すると、目の前のコードだけではなく一緒に働くメンバーの様子がこれまで以上に見えるようになり、メンバーやその先にいるユーザーが何に困っているか次第にわかるようになってきたんです。それらを解決していくうちに「もっとこうしたらいいんじゃないか?」と課題を自ら見つけることができるようになり、仕事がものすごく楽しくなりました。その頃から自分は「ただコードだけを書いていること」より「誰かの課題を解決できたり、ユーザーへ価値を届けるためにコードを書くこと」に楽しさや喜びを感じるのだと気が付きました。
ユーザーのことを考え抜いてサービスをつくり、コードを書く
当時はクックパッドに対して技術のイメージを持っていなかったのですが、アルバイト先の先輩社員の勧めでサマーインターンを受けました。
順序立ててプログラミングを教えてもらう経験がこれまでなかったので、現場の優秀なエンジニアから直接学べる技術的な講義は非常に勉強になりました。中でもTDD ( test-driven development ) には感銘を受け、インターン参加後すぐにアルバイト先へ講義内容と学びを噛み砕いて持ち帰り、チームに共有し導入したことは強く印象に残っています。
サービス開発の講義ではユーザーの体験を最優先に考えるクックパッドの開発姿勢に感銘を受けましたし、それまで大学の講義やアルバイト先を通して学んできた手法や働き方が、正しいものなのか半信半疑なところがあったのですが、間違いなかったのだと自信を持つことができました。そして「ユーザー中心に、ユーザーのことを考え抜いてサービスをつくり、コードを書く」という働き方をイメージすることができました。
技術力向上とサービス開発の経験を重ね、課題解決に取り組む
入社3年目となった現在は、レシピサービス「クックパッド」の検索バッチの改修を担当しています。この業務を担当するまでは、新規事業のAPI開発や、プロジェクトマネージャーのような立場でプレミアムサービスの柱である人気順検索機能の価値の見直しに取り組むなど、サービス開発と技術的な仕事を交互に、規模と難易度を大きくしながら働いてきました。
2年間働いてみて確信していることは、クックパッドはサービス開発をしたい人にとって最高の環境であるということです。なぜなら、会社全体で「ユーザーさんに価値を届ける」ということを真剣に考えているからです。サービスをつくるエンジニアの生産性を上げるために働く基盤チームのメンバーとの会話の中でもそう感じることが度々ありますし、デザイナーや広告事業部のメンバーと話をしていても、徹底してユーザーと向き合いながらサービスを展開しているのだなと感じます。サービス開発は明確な正解がないものだし、そもそも何が "成功" なのかということも自分たちで決める必要がある。そして、実際にモノをつくってみてユーザーにぶつけるまで、自分たちの考えが正しいかどうかは絶対にわからない……。これがしんどいし、とにかく難しい。しかし、表裏一体の関係にあるのですが、常に変化する状況に頭を使いながら対応していく必要があるところが面白い。私はその考え方や頭の使い方が結構好きですね。2018年にはもっとサービス開発に関する知見をカジュアルに共有できる場がほしいと思い「s-dev talks」という草の根コミュニティを立ち上げ、社外の方とも積極的にサービス開発について考え、話し合っています。
ユーザーに価値を届けられるサービス開発者になりたい
「サービス開発エンジニア」として成功するためには、高い技術力と知識を持っている必要があると思っています。例えば新規サービスの立ち上げ時、エンジニアとしてメンバーに加わってほしいと言われたいし、自信を持って立候補できるようになりたい。そのためにも今は技術的な仕事に向上心をもって励んでいます。その先にある「サービスをつくってユーザーに価値を届けたい」という気持ちはどんな仕事をする場合でも見失いたくない。
自分が書いたコードで、たくさんのユーザーの日々の生活がちょっと良くなる、そんなことが実現できるエンジニアでありたいと思っています。