2024年4月に入社してから、研修や社内イベントを経て、ようやく実務の現場で1年が経ちました。
この1年間は、右も左もわからないところから少しずつできることが増えていく感覚を味わいながら、
不安と達成感が入り混じる毎日でした。
「文系出身」「未経験」という肩書に助けられることもありましたが、
それ以上に“自分なりにできるようになったこと”を実感できるようになったのが、この1年の収穫です。
今日はそんな1年目の学びや反省を、自分へのメモとしてまとめてみました。
できるようになったこと
質問の質が上がった
この方のブログを見てレベル4を意識してみた。この質問ができるまでにしっかりと質問するまでの前提知識や、自分の仮説があっているかの根拠を見つけるまで考えるようになった。
もし仮説が間違っていたとしても、そこの仮説を導き出すための過程が正しい解決策へのきっかけになったりすることを感じられた
思い返せば大体仮設まで立てられたらほとんど解決してるようなもんだったことが多かった。
コードをかけるようになった
OSのアップデートに伴ってPHPのバージョンアップとCI3からCI4へのフレームワークを移行した。破壊的変更のバージョンアップなので、嫌でもコードが理解できるようになりました
PHPとCI4の書き方は完全に理解した
エラーの原因が大体めどがつくようになった
ピュアPHPで書かれている箇所は独自フレームワークを使っていることもあり、結構ファイル同士の依存関係が深いこともあった。そのためコードの流れをしっかり追ってエラーを解析するようになったので、勘所が良くなっている気がする。Xdebugに何度助けられたことか...
全体のコードを俯瞰して見えるようになった
これは前述のコードの流れを追えるようになったことと関係しているかも。どこで不具合が起きているかを把握するのに、細かい部分ばかり見ても時間をとられることが多い。そんな時に全体の流れを見られるようになったので、不具合の場所はざっくりわかるようになってきた
AIを理解をスキップする為でなく理解するために使えるようになった
理解をスキップするは楽だし早いからそういう用途で使ってました。でも後で苦しむことがあったりしたから、しっかり自分で理解するのを心掛けようとした。書いたコードを一行ずつ徹底して解説してもらったり、難解な記事をAIに解説してもらったり。理解するのには最適な相棒だし、その為の学習は自分の血肉になっていると感じるから楽しい。
反省点
頭でっかちではなく、自分で泥臭く簡潔、単純に作る必要があった
先人たちのコードを意識しすぎて、複雑な実装になることが多々あった。時間がなかったのもあって、自分で実装するより先に安定的に動いているのを参考にしたかったのもある。そのせいで実装が遅れた部分もあったり。例外処理なんかももっと単純に作れただろうなあと反省。中にあるコードを丸ごと参考にするのではなく、できるだけ簡潔でわかりやすく保守がしやすいようにを意識していきたい。
ループ処理でコードの行数を短くすることが、綺麗なコードではない
ループで処理できれば簡潔に見えて、理解しやすいように思ってたが、中身の確認がめっちゃ大変だった。どうなってるかの処理を見るのにかなり時間を費やした気がする。また例外が発生したときの可用性がないから、変更が大変
コードの仕様を聞かれたときに分かっていたつもりでも言葉で説明しようとするとうまく言語化できない
これは練習が必要なのかも。班の上司は全く会話がなくチャットで会話する電脳化されたディストピアみたいな世界観を重視しているから、自発的に話す場所を設ける必要がある。
同僚とは話すが、エンジニアとしての技術的な会話をしないから、技術の言語化が練習できてない
仕様を起こし切れていなかった
よっしゃ!これだけコードも読んだし、動作も確認できたし、実装に入るぞーで実装を開始した。
でも、わかりやすくドキュメントに管理してなかったのが仇となって、何度も仕様と動作を再確認、挙句の果てには把握漏れがありました。大規模な改修を行う時にはここを疎かにするのは良くないんだなあとしみじみ感じております。
周りの人に意識を割きすぎてしまっていて、自分のことに集中できていない時があった
忙しい時期に、自分だけがバタバタしているように感じる瞬間ってありますよね。
一方で、周りを見ると余裕がありそうな人や、仕事量に差があるように見える人もいて、
そんな時につい「なんで自分ばかり…」と感じてしまうことがあります。
これは自分が未熟だからではなく、ある意味で「チーム意識が強い日本的な職場文化」の一面かもしれません。
全員で協力し合うことを良しとする環境では、温度差に敏感になりやすい。
ただ、それに引きずられてしまうと、かえって自分の集中力やモチベーションを削がれてしまうこともあります。
最近は、「自分のやるべきことを淡々とこなす」よりも、
「周囲とどうバランスを取るか」を意識するようにしています。
割り切るというより、“自分の軸を保ちながらチームで働く”感覚を大切にしたいと思っています。
休みは大事。責任感の持ちすぎはよくない
4~6月にかけて怒涛の仕事三昧の日々を送っていました。3月に班員が一人辞め、立て続けに案件をリードしていた班員が5月に辞めた穴埋めです。周りからのサポートを受けつつですが、ほぼ自分で設計、実装、改修をしました。6月に至っては、休日にも出勤してました。
進捗が遅れて上司から怒られるとか、顧客から怒られるとかは全くなかった(これはホントに救いでもあった)のですが、自分が率先して作っていくことや、大人数での作業にちょっとテンションが上がっていたのかもしれないです。
自分一人でやっていく感覚が強かったのもあって、責任感が増していきました。思い返せば、休日は絶対に休むべきだったと思います。あとたまには無理やり定時で帰るとか。残業時間が重なるにつれて圧倒的に作業効率が落ちてた気と思います
気軽に質問できる人がいない
これは職場変えるしかないのかな...
自分の知らないことを知っている人で気軽に聞ける人がAIしかいないのは、だいぶまずい気がしてます
部署移動でもいいからしたいなあとひそかに企んでいたり
2年目の目標
ドメイン知識の強化
通信周りの知識不足やアーキテクチャに関する知識不足が目立って理解にとても苦労した。今も分かったつもりになっただけなので、その辺の知識について深めていけるように、AWSに関する学習や、インターネットが繋がる原理の部分から学んでいきたい。基礎知識不足だから基本情報とるとかでもいいかも
まとめ
一年目にとても良い経験を積ませていただけました。まだまだ反省点が多いけど、伸びしろということで。できないことがあったとしても腐らず貪欲になっていきたいですね。