今年も気づけば12月になって、もうすっかり終わりが近づいてきましたね。
今年ももうすぐ終わりということで、今年の締めくくりとしてエンジニアとして就職してからの半年間を振り返っていこうと思います。
自分がプログラミングと出会い、未経験からエンジニアとして就職するまでの記事も書いたので、もしお時間ある方は下のリンクから見て頂けたら泣いて喜びます。
プログラミングと出会って就職するまで
自分は今年の4月からSES企業で未経験からエンジニアとして就職しました。
本格的に案件に入ったのは6月からですので、6月からの半年間を振り返って行けたらと思っています。
これからエンジニアを目指す方の参考に少しでもなれば幸いです。
では、振り返りに入る前に自分が未経験からエンジニアとして働いて、苦戦したポイントをいくつか上げたので見て頂けたらと思います。
自分が未経験からエンジニアになった時に主に苦戦したポイント
1つ目は、既存のコードの理解
今まで自分は独学だった為、自分の書いたコードしか読んでこなかったので、他の人の書いたコードを読むのにめちゃくちゃ苦戦しました。
その理由として自分が書いたコードは、良くも悪くもある程度パッと見たらわかるのですけど、他の人の書いたコードは「そもそもこの値に何が入ってるんだろう?」「そもそもこのコード何に必要なんだろう?」って所から理解する必要があり、理解するだけでもとても苦労しました。
また、自分が独学の時に見たこともなかった構文ばかり出てきて、頭の中が「?」の連続でした。。
2つ目は、規模が大きいこと
未経験の時にポートフォリオとして作ったサービスより全然規模が違いすぎてビビりました。
まあ当たり前ですけど、仕事でチームとして開発するサービスと独学の時に1人で作るサービスの規模が同じなわけないので、仕方ないことですけどw
3つ目は、質問のタイミングや仕方
初めての現場はリモートだったこともあり、「え、今質問していいのかな?」「この仕様の意味が全然分からない」「そもそもこんなことを聞いて大丈夫なのか?」
などこんなことばかり考えていました。。
本当に不安が大きかったです。
4つ目は、サービスや仕様の理解
案件に途中から入ったということもあり、「このサービスは何のためのサービスで、今回の実装内容は何を実装することだろう?」ここを理解するのが意外と大変でした。
5W1h
がエンジニアにおいてとても大事だなと痛感しました。
5つ目は、実装方法について
独学だと、「とりあえず動けばいいや」と思って書いていたコードですが、実務になると話は別です。
書き方を既に実装されている既存のコードに合わせることや、他の人が見ても分かりやすいコードを書く(unlessやネストは極力減らすなど)など意識することが沢山。。
「とりあえず実装できればいい」という問題じゃないのが、現場の難しさだと感じました。
自分も今もまだまだめちゃくちゃ苦戦しております。。
1つ目の案件
結論めちゃくちゃ大変でした。。
1つ目の現場は、RubyonRails
を使った現場でした。
自分は元々RubyonRails
を学んでいたので、生かせる現場に行けたのはとても感謝しております。
当時の自分は、「よし、今日からやっとスタートラインだ頑張るぞ!!」と張り切っていました。
ですが自分が入った現場は、既に炎上しておりスケジュールがリスケにリスケを重ねており、とても圧迫していました。
また自分もエンジニアになり最初の現場だったこともあり、右も左も分からずとても苦戦したことを覚えています。
現場のコードが意味分からなすぎて全く進まない日々が続きました。
頂いたタスクも全然終わらずに、自分のスケジュールも遅れてきた時は、めちゃくちゃ焦っていたのを覚えています。
早くタスク終わらせたいのに、進まずにどんどん自分に責任を感じていました。
ソースコードを見てると気持ち悪くなったり、社内の先輩に泣きそうになりながら相談したりもしました。
そして、何とか案件にも慣れてきて、タスクが少しづつ出来るようになった所で現場が炎上して終了になりました。。
2つ目の案件
次はRubyonRails
とReact
を使った案件に入ることになりました。
今まで独学でもAPIを使っての実装をあまりして来なかったので、この機会に触れる事にとてもワクワクした気持ちでいました。
こちらの現場では、何とReact
側のタスクも頂けて結果的にめちゃくちゃ有難かったです。
でも当初の自分は、JSすら殆ど触って来なかった為React
のタスクを頂いても全くできませんでした。。
また、体感ですけど1つ目の案件より難易度も高く、API側のタスクも期日までに出来ずに申し訳なさを感じました。。
「React
もできないどころかバックエンド側すら出来ないって俺何の為にいるんだろうと。。」と当初はずっと思い詰めていました。。
タスクが終わらず必然的に、残業も多くなってしまい会社にも沢山迷惑をかけてしまいました。
また残業しても進まずに結局、先方の方にめちゃくちゃ聞いていました。。
その度に、「もはや自分がやらない方が早いな」と感じてしまい、先輩の時間も奪っている罪悪感と役に立たなすぎて申し訳なさで一杯でした。
せめて先方に何か貢献したいと思い、タスクを積極的に頂く様にしていました。
でも、結局頂いたタスクもうまく出来ずに常に悩んでいました。
なので現場に入って2ヶ月くらいした時に、急にReactが分かり始めた時は本当に嬉しかったです。
そこから辺から、少しづつ頂いたタスクもできる様になってきて、先方への質問も徐々に減ってきました。
今ではこちらの現場に入って4ヶ月目に突入しましたが、質問もだいぶ減ってきて期日までにタスクも終わることが多くなってきました。(かといい今やっているタスクは遅れていますが。。)
また有難いことに皆さんとても優しくて、気さくな方ばかりで楽しく働かせて頂いております。
まとめ
直近の目標は、期日より少し余裕を持ってタスクを終わらせれる様になることと、自走できて1人称で動ける様になることです。
周りの方に沢山迷惑かけてしまったので、「早く力をつけて恩返しできる様に頑張りたい」という気持ちで一杯で、毎日働いております。
今年も残り少しで終わりますが、最後まで気を抜かずに頑張っていこうと思っています。
最後に
いやーここまで長い文を読んで頂き有難うございました。
この文章を読んだ人が「少しでも何か参考になる部分がありましたらいいな」と思って今描いております。
自分は悩みとかあまり人に言えずに溜め込んでしまう癖があるため、読者の方々はあまり溜め込まずに適宜相談してくださいね。
エンジニアになってもちろん大変な事も沢山あったけど、それ以上に自分の好きな事でご飯を食べれて生活出来ることに、日々幸せを感じております。
これからも沢山勉強して沢山の技術を学んで、「次は自分が後輩に教えていける様になりたいな」と思っています。
またこれからも定期的に記録としても、この様な記事を書いていけたらと思っていますので、その際は見て頂けたら嬉しく思います。
それでは最後まで読んで頂き有難う御座いました。
誤字脱字などありましたらお気軽に連絡いただけたらと思います。