どうも。くろまです。
現職に新卒で入社して4年が経ちました。
時の流れってやつは非常に恐ろしい。*1
…さて、2024年12月に実施された母校のAdvent Calendarで、私は卒業生のよもやま話と題して以下の記事を公開しました。
上記の記事では1年目~3年目のザックリとした所感を記載していましたが、
1年ちょい経過しましたんで、4年目・5年目はじめ~現在を振り返って行きたいと思います。
基本的に仕事面をなるべく抽象的にした話です。
ぶっちゃけ生活面はほぼ変わってない。
4年目開始
新規設計できたり、開発環境が改善できるわけでもなく、
前年と変わらず†歴史的経緯†と†制約盛り盛り†の集合体のようなソフトウェア達と向き合っていました。
既存設計・仕様はかなり腐っていて、
「は?なぜこんな仕様・実装になってんだ???」を読み解くとこから始まってましたね。
んで、何やってたのかザックリ書くとこんな感じ。
①映像伝送系のGUIアプリ機能改修/追加
②組み込みF/W 機能改修/追加
③(実機なし)組み込み F/W機能改修/追加
①~③全てに共通していることなんですが実装面だけ見ると「変更容易性がかなり低い」という点で、単体テストによる処理ロジック検証を前提としていない実装が大半を占めていて、影響範囲の把握が難しい状態で改修進めてました。
おまけに、設計ドキュメントも十分に体系的に整備されておらず、
既存実装を解析しながら仕様を推測する場面も多かったです。
あと、一緒に仕事するベテランさん付いても実作業自体はワンオペに近い状態だったんで、「自力で読み解く力」とベテランさんと認識すり合わせて「前に進める力」が要求されることが多い1年でした。まぁこの辺の筋力は鍛えておいて損はないのですが…
愚痴コーナー
①はGUI系なんですが、ソフトウェア実装がだいぶ腐っていて、わざわざCではなくC++使ってるのに利点全部潰してるとか、ちょっと変更加えるとデグレするとかでかなり面倒くさかった。
それでもまだこれに関してはマシな部類かな。
②は成果物やら作業プロセスやらにだいぶ重めの足枷がつけられていて、軽微なミスも許容されない環境でした。
具体的に納品物管理に関する細かい制約が多い。
要求自体は理解できるんですけど、工数がケチられまくってて、やる気は起きない。やるしかないけどさ!*2
後、現代の開発環境とは言い難い部分も存在していてかなり幻滅してました。
一度はPMに開発プロセスについて意見をぶつけました(バトりました)が、
もうすでに心情として諦観モードに入っていたので、仕方なく自分の方から折れました。
③は、実機環境が存在しないので、組み込みソフトウェアの開発としてはかなり苦しかったです。
追加で実装したならしたで、ロジックやら通信内容を「検証しないまま」というのはどうも技術者としては論外&プロフェッショナルならまず通りたくないので、適当に見繕った仮想環境内でソフトウェア動かすぐらいはやってました。
5年目前後
サブリーダーの役割を初めて仰せつかることになり、自分なりに役割の立ち回りをやって、なんとか納期に間に合うように開発進めていましたが、結果的に工数バカ食いすぎてゲンナリ。
-
配下につけられた担当者の理解が非常にボロボロだったので、ホワイトボードに向かって理解イメージを書いて認識すり合わせしまくるのが仕事になる。
- 担当者に実装も結合試験書かせるのも楽ではない。
技術的問題ではなく、人によって見えてるものが違うため。 - 実装より認識合わせで時間を使うことが多い。
勿論、言葉だけでは伝わらないし、図を書かないと理解が進まない。 - 勝手に突っ走るな、ブレーキ踏めというニュアンスで、
毎回制動をかけていた。人の制御をしようとすると疲れる。
- 担当者に実装も結合試験書かせるのも楽ではない。
-
PM/PLが別案件に持ってかれていることで、リソース割けない状況に陥る。
実質自分が社内で開発の実作業舵取りする側のリーダー*3- 上記理由で、レビュー体制にかなり不安があり、
通常の開発以上に慎重に進める必要があった。
- 上記理由で、レビュー体制にかなり不安があり、
…などなどがありストレスが高まってずっとピリついてました。
高ストレス時の産業医面談で若干愚痴ったんすけどどうにもなんないっすね~~~w
うっすら見えてきた転職活動
2025年後半頃ですかね、先述した②の改修をしていたのですが、
作業プロセスの制約が重くて重くて嫌になってしまった時期があります。
一度この仕事のアサイン剥がしてほしいみたいな相談を上長にしてみましたが、
当然思いは叶わず剥がされませんでした。*4
転職サイトに登録なりキャリアアドバイザーとちょっと現職への不満ぶちまけや、相談なりして、自己分析を兼ねた転職活動をとりあえずゆるくやることにした感じです。
身体面もしくはメンタル面が限界を迎えたタイミングで環境を変えるという選択肢は如何せん取りづらい(取れない)のでね…
ちなみに現職については、このまま居続けて今後のキャリア腐らないか?という自問自答に加えて現実や事実を直視してやる必要がありそう。
- 正直、毎回飛び飛びの短期間小規模案件過ぎて渋い。*5
- 組み込みソフトウェア開発そのものが人材確保難しい分野だなぁと感じている。*6
- 組み込みソフトウェア専門でチーム開発できる規模の開発は難しいかもしれない。
まとめ
新人の頃はコード書いてればなんとかなると思っていたんですが、4年目あたりからは予算や体制や開発プロセスのほうが厄介に感じてましたという話です。
これらは新人の頃ではなかなか気づけないもんです。
ちなみに、以下のような技術以外の部分で精神的に消耗することがかなり多かったです。
- 認識合わせ
- 開発プロセス上の制約
- 工数不足・リソース不足
- リーダ不在気味の開発進行
一方で、
- 自力で既存実装を読み解く力
- 他人と認識を揃える力
- ボロボロ状態でも前に進める力
…のような、泥臭い現場でしか鍛えられない筋力はかなり鍛えられた気がします
ただ、現実問題として「このまま今の環境に居続けていいのか?」といった感覚も徐々に強くなってきました。
特に、
- 開発のやり方
- 技術的な改善に対する考え方
- ソフトウェア品質への向き合い方
- キャリアパス形成そのもの
…このあたりについては、そろそろ現実を直視しつつ、比較・検討しないといけない時期に入ってきたように思えます。
(実際に転職するかどうかは一旦置いておきまして)
今後は、ゆるめの転職活動で他所の環境にもちゃんと目を向けたいですね。
ただ、現職もちょっとした体制変更とか開発・マネジメントリソース増でなんとか居続けられそうな環境になるならそれでもいいんだけどな…
それではまた。

