【月次報告】エンジニアになって12ヶ月が経ちました
こんにちは、しゅんです。エンジニアになって12ヶ月が過ぎましたので今月も振り返りをしていきます。
※エンジニアになって11ヶ月目の記事も投稿しています。お時間ございましたらご覧ください。
■エンジニアになって12ヶ月が経ちました
今まではメインで教育サービスの案件に携わってきましたが今月、来月はスポットでReact案件に携わることになりました。(のようです。)
以前友人からの依頼で12月~2月の間は仕事以外の時間を全て使ってReactのアプリ開発をしていたこともあり、キャッチアップには時間が掛からずストレスなく実装に取り組むことができています。
個人開発など仕事以外の時間を使って今まで触ったことのない技術を勉強し完全未経験のラベルを外しておくと、今回のように急なアサインにも迅速に対応できるのでこれからもフロント周りで親和性のある技術へのキャッチアップは継続していこうと思いました。
スポットという立場でアサインされているので第2フェーズの貯金のための新規実装と今まさに開発している第1フェーズのバグ修正を横断的に取り組んでおり、初期からアサインされているエンジニアとは少し違う角度から実装を進めています。
今回のアサインで大きな収穫といえば、やはり個人開発と違ったバグや不具合に直面することがあり、それらを解決するための試行錯誤の機会が増えたことでしょうか。過去、Reactの個人開発で見たり触れた不具合や実装のなかで腑に落ちない箇所が今回の開発を通して消化できたこともしばしばありました。
■12ヶ月目を過ぎて思ったこと
Reactの個人開発を再開させました
先に触れていた「12月~2月の3ヶ月をかけて開発していた個人アプリ」を再開させました。もちろん差分がわかるように別リポジトリに分けてフェーズ2として作っています。(当時、初見のReactを使って3ヶ月でどのくらいアプリ開発を進められるかのログも残したかったので)
フェーズ1の初コミットから約半年以上経っているのでその間で得た知見でのリファクタと3ヶ月間で実装しきれなかった機能開発に取り組んでいます。
特にリファクタに関しては、当時ディレクトリ構造については特に考えず実装していたので責務の切り分けを実施しディレクトリの見通しを良くしたりCSSモジュールをCSS in JSへ移行させたりしています。CSSの移行は完全に今の案件の影響を受けています。
この個人開発のアプリもどこかのタイミングで記事にしようと思っているので詳細はまた別の機会にさせていただきます。
1案件分、全体の見積もりを出す経験を積むことができました
自分が今まで出していた見積もりは機能単位でPMから依頼された時に都度出していくスタイルだったのですが、今月初めて新規案件の見積もりを丸々任せていただき先輩社員のアドバイスを頂戴しながらも1案件分、全体の見積もりを出す経験を積むことができました。
基本的なことかもしれませんが、対応ブラウザの確認やレスポンシブ対応の範囲、コンポーネント作成の時間の確保やいただいたデザインから必要になる機能を分解しどのくらいの期間が必要になるのかの判断、デプロイ時のインフラやアサインされるエンジニアのレベル感など。0→1の場合は考慮しなくてはいけないことが思ったよりも多く先輩社員に指摘されるたびに、実装以外の経験不足を実感しました。
すごく大規模なアプリ。というわけではないのですが、せっかく見積もりだしたのなら自分がアサインされると良いのですが。これは近々わかるかもしれませんね。
■最後に
早いものでエンジニアになってから1年が経ちました。この1年で一番お世話になった先輩社員が退職(転職)されてしまったり、炎上案件に放り込まれ精神的に追い込まれて飛んだり、案件でフロントが自分だけになってしまい一人だけでフロントの実装を切り盛りしなくてはいけなかったりと目が回るような1年でしたがよく生き残ってこれたなあと思い返しています。
技術スタックだけでも目に見えてできることが増えたので成長したのかなと思っています。
入社前に使っていた技術
- 言語
HTML | CSS | JavaScript
- フレームワーク・ライブラリ
Ruby on Rails | Vue.js2
- その他
Firebase
入社後実務で触れたもの
- 言語
HTML | CSS | Sass( ITCSS / RSCSS ) | JavaScript | TypeScript
- フレームワーク・ライブラリ
Vue.js2 | Vue.js3 | Nuxt.js2 ( Composition API ) | Express | React
- その他
Firebase | WordPress | Cypress | Jest | Puppeteer | Git | GitHub
上記では取り上げていませんが、今回のReact案件でいうならReact Hook FormやYup、MUIやgRPC、メインでやっている案件ならLaravelなども触っていますし個人開発でならSvelteやWebpackもですね。
もちろん仕事だけではなく、個人開発を進め今まで触れてこなかった技術のキャッチアップをしたり技術記事を書いてアウトプットをしたり、こうやってnoteで月次の記録を付けたりとコードを書く以外にも色々できたと思います。
しかしこうやって成長を実感している反面、実務が1年経ってもまだまだ足りないことが多く、上記の実務で触れた技術一覧以外にもキャッチアップしていかなくてはいけない技術はありますし、今月経験した見積もりの件でも痛感したようにまだまだ沢山のことを吸収しなくてはいけないのは変わらないので地道に一歩一歩積み重ねていこうと思います。
今後も継続してこの月次報告をしていこうと思っています。是非今後ともよろしくお願いいたします。駆け足になりましたが最後までご覧いただきありがとうございました。