新卒エンジニアがRettyで半年の間に学んだこと

はじめに

21卒エンジニアの木村です。入社半年を振り返ってブログを書く企画の3人目になっています。私の半年を振り返ってみると「学んだこと」がたくさんあったので、そのことについて多く触れることにしました。

↓から他のメンバーの記事を探せるので、興味のある方はぜひ読んでみてください。

engineer.retty.me

自己紹介

  • 技術領域:フロントエンドが中心
  • 趣味:ゲーム、音楽を聴く、創作・表現
  • 好きな食べ物:寿司*1、鶏肉料理*2、ドイツ産のハリボーゴールドベア
  • 好きなお酒:プレモルの一口目

Rettyに入るきっかけ

新卒採用のサービスで偶然見つけたことがきっかけでした。趣味でプログラミングをしていましたが、どうしても自分のためのプログラミングが多く、自分以外のユーザーからのフィードバックをもらいながら大きな体験を考えていくことがありませんでした。

Rettyのことを調べてみると根底にある考え方がポジティブな感情にあること、RettyNightといったイベントの取り組みに惹かれ、ユーザー体験を考えられる環境ではないかと感じました。RettyNightについては↓の記事が熱気を持って伝えてくれています。

en-jp.wantedly.com

その後のカジュアル面談や面接を通じて、調べて理解した環境と一致していそうだなという実感があり入社することになりました。

学び

  • 開発者としての当事者意識
  • UserHappyとは何であるか
  • できないことに挑戦すること

開発者としての当事者意識

Rettyでは多くの開発で『チーム開発』になっています。もちろん個々人が求められていることを行うことは必要ですが、誰もがなんでもできるわけではないので助け合うことでチームのパフォーマンスを発揮していきます。

私はRettyOrderというモバイルオーダー*3の開発に配属され、例に漏れずチームとして開発に加わりました。

最初の頃は慣れないこともあり、実装で詰まってしまったときなど「ここはどうしたらいいでしょうか?」のように、正解を聞こうとする動き方をしていました。

今思うと良い動きとは言えませんが、そんな中で「このあたり読んでみるといいかも」「どうしたらいいと思う?」のように、答えを教えるのではなく、私自身が考えるようにコミュニケーションを通じて促してもらいました。

このアクションによって「自分で考えて意見を発信する」ということだけではなく、「自分がサービスに影響を与えていく」という当事者意識が生まれました。

エンジニアが影響を与えられる範囲は設計や実装だけではありません。着手するタスク自体にも積極的に発言できるようになり、サービスを作る当事者意識はいっそう強まっていきました。

このことは次節にも繋がり、UserHappyを深く考えるきっかけになっています。

UserHappyとは何であるか

1000年かけた神機能はUserHappyの夢を見るか

続いては前節をきっかけに学んだ、UserHappyの難しさについてです。

Rettyに入るきっかけとなったポジティブな感情というものの一つは「UserHappy」という考え方です。入社前に想像していた以上にすごく浸透しているという印象を受けました。

機能を実装するときに「その挙動はUserHappyなのかな?」みたいなコミュニケーションが自然に取れて、そこから議論を行うシーンが何度もありました。

では、たくさん悩んでたくさん議論を行えばUserHappyが創れるでしょうか?

それがこの節の冒頭に記載した「1000年かけた神機能はUserHappyの夢を見るか」です。

私が機能やサービスに言及し始めた頃、この意識が正直全くありませんでした。

その結果、機能について模索するあまり、お客様のもとに機能が届くまでに時間がかかるという課題を生んでしまいました。

この経験を通じて、UserHappyは最高の機能で形作られるのではなく、「素早い価値提供」や「たくさんの価値提供」「お客様の声に耳を傾ける」……などの多面的な要素によって作られることを理解しました。

『完璧を目指すよりまず終わらせろ』というのは、決して作る側が利益を享受するだけではなくて、ユーザーにとっても利益があって、UserHappyの一つになることがあるという学びに繋がりました。

その上で何より難しいと思ったことは、開発方針に正解はないということです。

UserHappyを実現するために何を優先して、何を犠牲にするかは常に考え、コミュニケーションを取る必要があります。

上に書いた『完璧を目指すよりまず終わらせろ』についても、完璧を求めているユーザーがいるとしたら、どう向き合うのがUserHappyでしょうか?

UserHappyの難しさを理解し、常に考えていく必要性を学べたことが大きな成長だと感じています。

できないことに挑戦すること

最後に、できないことに対する姿勢の学びです。UserHappyを成し遂げるためにはエンジニアとしての技術が必要になってきます。

しかし私は技術領域が狭くて浅い認識があり、例えばバックエンドの実装経験もなかったため苦手意識が強くありました*4

そのことは事前に伝えていたので、4月から少しずつバックエンドのタスクをアサインしてもらって、アドバイスを貰いながら取り組んでいました。

しかし、どうしても「わからない状態」にはストレスがあるな〜という気持ちでいましたが、あまり向かい方がわからずにいました。

そんな状況を1on1*5で相談したところ「やったことないことに挑戦して成長していくもんだよ」というアドバイスが返ってきました。

よくよく考えたらそのとおりで、誰しもHello Worldからプログラミングを始めているものです。

特定の領域では悩んでも自己解決できるようになってきたために、新しい世界に飛び込んで「何もわからない」が強いストレスになっていたのではないかなと推測しています。

その後、あるときから自動テストの追加・保守であったり、あるときからはサービスのモニタリングを見るようになって、少しずつ「わからない」への向き合い方を実践できる様になりました。

先述した当事者意識の延長線で「よくわからなくても見てみるか!」みたいなことは正直あるので、良いきっかけとして捉えてサービスやユーザーさんに背中押されているようにも感じています。

今後の学びについて

最後に、今後どうなっていきたいかという話をします。

やはりサービスを提供する上で自分の技術領域の狭さは悔しいと思う事が多く、設計面の経験を積むことや、様々な技術に触れること、量を捌く力を身に着けていきたいです。

一方で単に技術があるだけではHappyを生み出せるわけではないと思います。ドメイン理解をより深めることであったり、「作りたいもの」自体を描く力(作る力ではなく)を身に着けたいと考えています。

……が、まずはこれらの力を身につけるためのアクションを考えることが必要ですね。

半年で色々な経験をして学びも多かったですが、一瞬で半年経ったような気分です。これからの半年もまた模索しながら、この半年以上の学びがあるように取り組んでいきます。

*1:アジが特に好き

*2:あまり意識しておらず、つい最近になって気がついた

*3:スマホでメニューを注文して、厨房などのタブレット・プリンターから確認できるシステム

*4:他にもSSR、インフラ、クラウドサービスなど『なにも触れないしわからん』みたいな状況です

*5:自分のマネージャーやメンターと一対一でコミュニケーションする機会