新卒が 1 年をふりかえってみたら挫折しかなかった件について

2 回目の登場となります、エージェンシー事業でアプリケーションエンジニアをしている 22 卒の服部(るりと)です。
最近は社内サービスの開発・運用を担当しています。

自身が入社してから 1 年が経ちました。今年から 2 年目になります!
2 年目最初にブログ執筆チャンスが巡ってきたので、入社してから一年間を振り返りつつ今後に向けた話をします。
タイトルにある通り、本記事は順調な 1 年間というよりかは山あり谷あり断崖絶壁ありだった内容を赤裸々に語っていくポエム成分多めの内容です。

入社前

新卒として入社する前の私は、「いい感じにコードを書ければ仕事は余裕でしょ(笑)」というように慢心してました。
というのも入社前は情報系の学部でコンピュータサイエンスを学んでいて、また課外活動でも積極的に勉強していたため、ある程度自分の技術力に自信があったのです。
エンジニアの皆さんならお馴染みのダニング・クルーガー効果でいうと「完全に理解した」にいる状態で入社後の自分の姿を夢見ていたわけです。 痛いですね

入社してから

1 年間の概要

入社してからは、4 ~ 7 月までは研修を受け、8 月以降は実務に携わるようになっていきました。
それぞれの時期で何を取り組んでいたのかや、どういった点で慢心が苦労に繋がっていくのかは次の項目で触れていきます。

挫折について

振り返りの画像であった爆弾についてですが、言ってしまえば「苦労したタイミング」です。全てのポイントで挫折するほどの苦しみを味わったわけではないです。 タイトル詐欺ですね

読者の皆さんは慢心していた新卒の私がボコボコにされる瞬間を楽しみに読まれていると思うので早速紹介していきます。

一つ目 研修発表

研修では、主に以下の 2 つを取り組んでいました。

  • Rails を用いた TODO アプリの開発
  • Rails + React を用いた日程調整アプリの開発

担当するプロダクトでは、フルスタックな開発が求められる関係上フロント・バックエンド両方の内容が盛り込まれた研修になっていました。
よって複数のサンプルアプリの開発を行いながら、担当するプロダクトで使用している技術のキャッチアップを行いました。

苦しみポイントとしては、後者の日程調整アプリの発表会前後にありました。

前者のアプリ開発はいわばチュートリアルといった役割を担っていて、ドキュメントに従って開発を進めていくという内容でした。
こちらは順調に進んだのですが後者のアプリ開発はそうはいきませんでした。
後者の日程調整アプリでは先ほどのようなドキュメントが一切なく、大雑把な仕様及び使って欲しい技術についての資料が存在するだけで、後は自分で何とか開発を進めていくというものでした。

元々 React は個人開発で利用していたこともあり、割となんとかなるでしょとウキウキで開発を進めていったのですが、如何せんなんともならなかったです。
というのも個人開発の方ではフロントエンドで完結するような簡素な Web アプリを実装したことはありましたが、バックエンドも絡めた複雑なアプリケーションの開発経験はあまりない状態でした。
そのため状態管理や通信処理といった慣れていない部分の実装に手間取ってしまい、当初想定していたスケジュール通りに開発を進められませんでした。

少し技術的な話をすると、担当するプロダクトでは状態管理ライブラリとして Recoil 、バックエンドとの通信部分や API のキャッシュ管理は Apollo Client を用いていることから、日程調整アプリでも同様の技術スタックを用いて取り組む必要がありました。
REST API を用いた開発経験しかないため、未知の概念である GraphQL や、 API のキャッシュと複数コンポーネントを跨ぐ状態、そしてコンポーネント内部で完結する状態をそれぞれ別のライブラリで管理する実装方針など、慣れない内容が多い中での実装だったことから思うように手が進みませんでした。

余談ですが、私が所属しているチームでは以下の記事のように Recoil を活用しています。興味があれば是非一読されては如何でしょうか。

blog.engineer.adways.net

挫折の話に戻ります。
結果として開発ぐらいすぐ終わりますよ!と言っていたのにもかかわらず機能の 20% ぐらいしか完成していない状態で発表を迎えることになりました。
成果発表時に話す内容がすぐになくなりあたふたした苦い記憶は今でも鮮明に覚えています。
このタイミングで、入社前に抱いていた慢心は破壊され、ダニング・クルーガー効果でいうと何も分からない谷に転げ落ちていくことになります。

2 つ目 入門用タスク

研修の成果発表では思うようにうまくいかず凹んでいた当時の私は知る由もなかったですが、次の苦労ポイントは発表直後に控えていました。

そう、初めての実務タスクです。

研修では苦しい思いをしたもののフロントエンド・バックエンド両方触ったこともあり、「これからうまく進めていけるだろう」といった根拠もない自信・慢心も持ち合わせていました。
そういった凹み 40% 慢心 60% ぐらいという状態で着手し始めたのですが、やはりというか上手く開発を進めることが出来ませんでした。

担当するプロダクトは開発開始してから 7 ~ 8 年経っていることもあり、かなり複雑な構成になっていました。
その中で担当することになったタスクは、フロントエンド側からバックエンド側まで実装が必要でした。
よって複雑な ER 図や、複雑な状態を管理するための Recoil のコードなど、研修で苦労していた当時の私にとってはあまりにも理解が進まない状態でした。
何が分からないのか分からない状態で手探りで実装を進めていった結果、当初 2 週間程度で完了する見込みだった作業に 1 カ月半ほどかかってしまいました。

何とか担当したタスクは完了させることは出来たものの、思い描いていた仕事を進める自分の理想像からかけ離れていった結果になってしまいました。
担当したタスクが終わるころには慢心や自信は打ち砕け、如何に自分が開発を進めていくための知識・知見が足りていないかを痛感することになりました。

3 つ目 プロジェクトのリード

いわゆる入門タスクをこなしてから数ヶ月間は、チーム全体で進めていたプロジェクトに参加し開発業務に携わっていました。
入門タスクに取り組んでいたタイミングでは理解が進まないコードについてもある程度目星が付くようになり、実装に慣れてきたが故に砕かれたはずの慢心・自信が戻りつつありました。懲りないですね
そういった中で年末にひょっとしたことから既存のプロジェクトのリードをやってみるチャンスが生まれました。
「そろそろ仕事も慣れてきたし新しいことに挑戦してみるか!」といった気持ちで携わるようになりましたが、案の定上手くいきませんでした。

これまでの開発では、欲しい機能・仕様が明確に決まっているタスクをただ淡々とこなしていくという内容でした。
また自分が実装したコードに関しては責任を持つものの、機能や仕様に関しては他のメンバーにお願いするというような状態でした。
そのような中でプロジェクトをリードしてみることになった私は残念にも、今までと同じような温度感でリードするための準備などを取り組んでしまいました。

その結果、担当するプロジェクトに関する機能や仕様が曖昧なままプロジェクト完遂までの作業内容の見積もりや工数計算を行ってしまい、参考にならない計画を作成してしまいました。
プロジェクトをリードする以上、担当するプロジェクトや機能・関連する仕様など把握しておく必要があります。
そのような前提の上で初めていつまでに作業が終わるのかという話や、納期や実施内容の調整が出来るようになると思います。
今回だと前提部分をおざなりにしてしまったが故に、プロジェクトの進め方に関する話が出来ない状態が長期間に渡って発生してしまい、満足にプロジェクトをリード出来ていたとは言えない結果になってしまいました。
仕事にも慣れつつあり余裕と慢心が出来つつあった当時の私には苦い経験になりました。

失敗点を踏まえて

慢心と自信マシマシで入社してから色々な点で痛い目を見て来たわけですが、実はこれらの経験には一つの共通点が存在します。

それは、「新しいことに対する取り組み方が苦手」という点です。

この点に関しては、今記事を執筆をしているタイミングでも課題点として認識することが精一杯で改善・改良までは動けていません。
この点は新卒として入社してからの 1 年間を通して感じた課題点であり、2 年目以降では解消していきたい点になります。

まとめ

本記事では慢心していた新卒が苦労したポイントを中心に振り返りながら、自身が抱えている課題点を把握していったという内容を書きました。
この内容を踏まえた上でここまで読んでくださった読者の方に伝えたいこととしては、

「自分自身を日々更新し続けていく必要がある」1点です。

エンジニアは己の技術力を磨き続ける必要がある職種だと思います。
これは入社する前の私が考えていた内容であり、それは入社してからも変わりません。
しかしながら、技術力以外の面に関しても同じように日々スキルを伸ばしていく必要があります。
文章として起こしてみれば当たり前の話のように感じますが、入社前の私には到底想定出来ていない内容でした。
2 年目は自身を日々更新し続け、「チョット分かる」を増やしていきたいです。

皆さんの 1 年目はどうでしたか?
本記事が読者の皆さんが自身を振り返るきっかけになればいいなと思います。

最後になりますが、慢心と苦労を繰り返していた当時の私をサポートして引っ張っていただいたチームメンバーの皆さんには頭が上がりません。本当にありがとうございます。

余談

入社してから技術系記事というよりかはポエム記事しか投稿していないので、次はフロントエンドの面白い話を提げて登場したいと思ってます。ではまた次回!