失敗から学ぶ新人エンジニアの歩き方

toshiki ito
Aug 5 · 6 min read

こんにちは、CREグループの伊藤です。今年の4月にミクシィに入社した19新卒エンジニアとして働いています。

私は現在、CRE(Customer Reliability Engineer)というチームで主にCS(カスタマーサポート)が利用する管理ツールの開発やお問い合わせに対する技術的調査等を行っています。CREについて詳しくは以下の記事をどうぞ。(https://career.xflag.com/report/engineer/cre/)

この記事では新卒1年目エンジニアの視点から入社から3ヶ月で得た教訓や、そこから考えた今後の取り組みをお話し出来ればと思います。同じ新人エンジニアの方に少しでも参考になれば幸いです。なおこの記事では技術的なことはほとんど書きません。

失敗談と取り組み

入社後、駆け出しの私はチームでの仕事の進め方を理解しておらず様々な失敗をしてしまいました。まずはその失敗談から書いていきます。

一度に大きなことをやろうとする

私は最初「早くチームに貢献しなくては」という思いからいきなり大きな成果を出そうとしていました。その焦りと不安もありタスクを一気に進めようとすることや、そもそもタスクを上手く分解できないことから、非常に質の低い巨大なPRを量産してしまいました。

レビュイー、レビュワーの両方の負担を下げるために、PRは出来るだけ分けるべきということは理解していたつもりでした。しかし過去の私にはそれが出来ず、コード以前の仕様や設計レベルの指摘をいくつも頂き、酷い時には再度要件定義まで戻り、ほとんど別物となったPRを出し直すということもありました。

一度に大きなことをやろうとすると、どうしてもPDCAのサイクルは遅くなります。作業を振り返る際にも、最終的な成果しか印象に残り辛いです。過程で学んだことや頂いた指摘について見直すことなく次の作業に進み、結果学んだことを生かせず同じミスを繰り返してしまうこともありました。

なかなか質問が出来ない

調べてもわからないことはすぐ聞いて解決するべきと思っていました。実際、聞くことが恥ずかしいとはあまり考えていなかったつもりでした。しかし「もう少しで分かりそうだから」、「自分で考えられないエンジニアは良くないから」と独力で何とかしようと悩み過ぎて、質問までに数時間経っていたといったことは何度かありました。

特に「何が分からないのかすら分からない」といった時には以下のように考えてしまっていました。

  • 全く分かっていないのに質問して失礼ではないのか
  • そもそも何を質問すればいいのか

このような懸念からなかなか質問できず、ある程度理解できるまで自分ひとりで抱え込んでいました。

アウトプットのハードルを上げてしまう

仕事から学べることは非常に多く、私は最初それら全部をアウトプットしようと意気込んでいました。しかし、いざアウトプットをしようと技術ブログを書き始め、ある程度下書きが出来上がったところで見返すと「この程度の内容で公開していいのか…」と不安になり、なかなか公開することが出来ませんでした。

学生時代には頻度も内容も気にせず気楽に書いていましたが、周りの技術レベルが高くなった分、勝手にアウトプットのハードルを上げてしまい、どんどん腰が重くなってしまいました。

経験から学んだ取り組み

ここで紹介した失敗談に対して、先輩方のアドバイスを受けながら私なりに改善すべく、以下の3つのことに取り組んでいます。

行動の粒度を細かく分ける

最初に実践したのはいきなりPRを作成するのではなく、必ずその前にIssueに要件定義と設計を書いて先にレビューして貰うことです。Issueの段階でタスクを細分化出来ればそれに応じてPRも分けて作ることが出来るようになります。結果的に、手戻りが少なくなったことやレビューのサイクルが早くなったことで、より高速にタスクを進められるようになりました。他にもビジネスロジックとUIでPRを分ける等、チームによって様々なやり方があると思います。

他に、振り返りを出来るだけ小さいサイクルで行うことを心がけています。日報ではきちんと時間を使ってその日のメモを見返すなど、学んだことを確認するようにしています。仕事外でも読書録や学習メモを都度こまめに書くようにしてから、ブログや発表資料にまとめる際に扱いやすくなったように思います。

質問のルールを決める

悩みすぎずに質問しよう!と頭では分かっていても、心構えだけではなかなか改善は難しいので、仕組みで解決することが大切です。具体的には「30分で分からなければ」「自分があまり分かっていない場合でも」質問するというルールを決めてみました。

時間を決めることで質問しようか悩むだけの無駄な時間は明らかに減りました。全く分からないことを質問する時にも、期待する動作や試したことなど、自分に分かる限りの情報を揃えて質問するやり方も分かるようになりました。

ハードルを下げて習慣づける

アウトプットを習慣づけるためには、私はハードルを下げてでも継続することを大切にしています。先輩や上司からも「一度サボり癖がつくと中々直せない」、「諦めるのが難しいくらい簡単なタスクにして続ける」のように、どんな形でも継続することの大切さについてアドバイス頂きました。

ブログの場合は、もちろん公開する以上、不確かな情報を書くわけにはいかないので調べ直すことに時間をかける必要はあります。ただ、必ずしも最新のネタについての有益な記事や、ある程度内容の詰まった記事でなくてもいいと思い直しました。結果、既存の記事と似たような記事や単一トピックについての短い記事になりましたが、前より積極的に記事をアウトプットすることが出来ました。今後も継続してアウトプットを習慣化していこうと思います。

まとめ

最初から失敗しない人なんていないと思います。失敗することや出来ないことが悪いのではなく、それを隠したり認めなかったりすることが一番良くないです。今の自分だけでは出来ないことは、チームに助けてもらいながら学んでいけばいいのではないでしょうか。他人と比べて負けじとやる気を出すのはいいですが、他人と同じことをする必要はないです。自分なりの成長の仕方や強みを見つけていきましょう。

私も新人枠の貴重な時間で色々な経験を積み、日々の努力を絶やさないようにやっていきたいと思います。

mixi developers

ミクシィグループのエンジニアやデザイナーによるブログです。

    toshiki ito

    Written by

    mixi developers

    ミクシィグループのエンジニアやデザイナーによるブログです。

    Welcome to a place where words matter. On Medium, smart voices and original ideas take center stage - with no ads in sight. Watch
    Follow all the topics you care about, and we’ll deliver the best stories for you to your homepage and inbox. Explore
    Get unlimited access to the best stories on Medium — and support writers while you’re at it. Just $5/month. Upgrade