
2024年4月入社の24卒なのですが、研修やイベント業務に従事したのもあって、今月位でちょうどエンジニア歴は1年経ちました
1年目の振り返りをしていきたいと思います
できるようになったこと
質問の質が上がった
この方のブログを見てレベル4を意識してみた。この質問ができるまでにしっかりと質問するまでの前提知識や、自分の仮説があっているかの根拠を見つけるまで考えるようになった。
もし仮説が間違っていたとしても、そこの仮説を導き出すための過程が正しい解決策へのきっかけになったりすることを感じれた
思い返せば大体、仮説まで立てれたらほとんど解決してるようなもんだったことが多かった。
コードをかけるようになった
OSのアップデートに伴ってPHPのバージョンアップとCI3からCI4へのフレームワークを移行した。破壊的変更のバージョンアップなので、嫌でもコードが理解できるようになりますね
PHPとCI4の書き方は完全に理解した
エラーの原因がすぐにわかるようになった
ピュアPHPで書かれている箇所は独自フレームワークを使っていることもあり、結構ファイル同士の依存関係が深いこともあった。そのためコードの流れをしっかり追ってエラーを解析するようになったので、勘所が良くなっている気がする。Xdebugに何度助けられたことか...
全体のコードを俯瞰して見えるようになった
これは前述のコードの流れを追えるようになったことと関係しているかも。どこで不具合が起きているかを把握するのに、細かい部分ばかり見てても時間がとられることが多い。そんな時に全体の流れを見れるようになったので、不具合の場所はざっくりわかるようになってきた
AIを理解をスキップする為でなく理解するために使えるようになった
理解をスキップするは楽だし早いからそういう用途で使ってました。でも後で苦しむことがあったりしたから、しっかり自分で理解するのを心掛けようとした。書いたコードを一行ずつ徹底して解説してもらったり、難解な記事をAIに解説してもらったり。理解するのには最適な相棒だし、その為の学習は自分の血肉になっていると感じるから楽しい。質問の仕方で人となりが分かる気がする。すぐに答えを求めるような理解を放棄した質問は、その場しのぎにはなるがあとから苦しくなるだけだと思う。理解できないことを恥じてないで、理解できるまであきらめないでほしいものだ。
反省点
頭でっかちではなく、自分で泥臭く簡潔、単純に作る必要があった
先人たちのコードを意識しすぎて、複雑な実装になることが多々あった。時間がなかったのもあって、自分で実装するより先に安定的に動いているのを参考にしたかったのもある。そのせいで実装が遅れた部分もあったり。例外処理なんかももっと単純に作れただろうなあと反省。中にあるコードを丸ごと参考にするのではなく、できるだけ簡潔でわかりやすく保守がしやすいようにを意識していきたい。
ループ処理でコードの行数を短くすることが、綺麗なコードではない
ループで処理できれば簡潔に見えて、理解しやすいように思ってたが、中身の確認がめっちゃ大変だった。どうなってるかの処理を見るのにかなり時間を費やした気がする。また例外が発生したときの可用性がないから、変更が大変
コードの仕様を聞かれたときに分かっていたつもりでも言葉で説明しようとするとうまく言語化できない
これは練習が必要なのかも。
というか準備が足りてなかったりするかもな。しゃべりたいことの準備。話すのが上手な人たちはわかりやすいし話が簡潔なことが多い。自分の場合、言いたいことがありすぎてあっちこっちに話が広がって、相手がどこまでわかってるっけ?とか考えて話をして。。。とか考えてたら自分が何を話してるかわかんくなって。。。
仕様を起こし切れていなかった
よっしゃ!これだけコードも読んだし、動作も確認できたし、実装に入るぞーで実装を開始した。
でも、わかりやすくドキュメントに管理してなかったのが仇となって、何度も仕様と動作を再確認、挙句の果てには把握漏れがありました。大規模な改修を行う時にはここを疎かにするのは良くないんだなあとしみじみ感じております。
不満点?
気軽に質問できる人がいない
これは環境変えるしかないかな~
自分の知らないことを知っている人で気軽に聞ける人がAIしかいないのは、だいぶまずい気がしてます
AIに聞くのと人間に聞くのとは全く違くて、生きている情報に触れる時間がどんどん減ってる気がしてます
ベテランの人たちから、いっぱいうんちくを聞きたいんですけど、AIに聞いたほうが効率的な側面もあるから、そういった話をしてくれる人自体も減っている印象。
自分は「昔はこういうものがあってな」という昔話を聞くのが大好きです
インターネット界隈を生きてきた人たちの生の声が聴ける環境がいいな~
2年目の目標
ドメイン知識の強化
通信周りの知識不足やアーキテクチャに関する知識不足が目立って理解にとても苦労した。今も分かったつもりになっただけなので、その辺の知識について深めていけるように、AWSに関する学習や、インターネットが繋がる原理の部分から学んでいきたい。基礎知識不足だから基本情報とるとかでもいいかも
まとめ
一年目にとても良い経験を積ませていただけました。まだまだ反省点が多いけど、伸びしろということで。できないことがあったとしても腐らずに貪欲になっていきたいですね。
