環境に流されると技術的成長が止まってしまう

もう20年くらい前のプロジェクトでのこと。ふと「このまま今の仕事をしていると二度とコードを書く機会はないのでは」と焦燥感を感じたときがあったんですね。

いえ、前に書いているとおりコードを書く技術レベルが低いのは自分がよく知っていることですけれど。それでもアサイメントされて期待されている仕事はそれなりに出来ていると思うと「今はこのままでいいかな」と心の隙を自分で作ってしまうんですよね。

そうした心の隙は自分の選択の積み重ね、自分の判断のつながりだから誰にも責任を転嫁することは無意味なのです。コードの技術レベルが低いなら自分でOSSのコードを読んだり、アルゴリズムをトレースしてみたり手を動かせばいいだけでそういうことは誰も何も言ってくれないんですよ。だって、何を感じ、何を考えているかは誰も知りようがないのですから。

プロジェクトにアサイメントされるということはそのプロジェクトやプロジェクトの中で担う役割があって何かしらエンジニアとして働く環境が構成され、その構成された環境にひどく引っ張られてエンジニアは仕事をすることになるのですが、そうした外的要因が良い面にも働くし悪い面にも作用することを経験値的に気づけることができるエンジニアもいれば、置かれた環境に順応してそのまま埋もれてしまうエンジニアも出てきます。

ここ最近、切り口を変えてTLを賑わすエンジニアの勉強のあり方は、前述したプロジェクトの環境に依存するのではないかと思うのです。何が依存するかといえば、アサイメントされて置かれる環境に馴染むことを優先し、実際慣れてしまうとその環境の居心地がそこそこであれば大方のエンジニアは環境に流されてしまうということです。

環境が新しい技術の更新を必要としなければ、エンジニアは業務上必要とされない技術は必要に迫られたときまで関心を示さないでしょうし、それは、新しい技術を必要に狭された当事者になっていないからです。

新しい開発手法に関心を示さないのは、プロジェクトの環境が開発手法を変える必要がないからです。まず最初に導入された開発手法は、外的要因、それも変えなければその存在を失ってしまうほどのインパクトがなければ変更されることはありません。製品サポートの打ち切り、ビジネスの転換などを目の前に突きつけられなければ。

結局のところ、エンジニアも一度にひとつのことしか出来ませんから、何かしらを選択しているわけですが、この環境に要求されず時間だけが過ぎていくということは、エンジニアの技術的な成長を促すにはエンジニア自身の身の上に起きるであろう災いが降りかかってくることを想像できるか否かにかかっているのだろうと思い至るのは自分の経験値的から言えることかと思うのです。

 

 まあ、だからいくら勉強しないとと言っても困っていないのでそれで技術的な取り組みを始めるエンジニアが少ないわけで。

そういうことがひとつの答えだとすると、ローテーションで強制的にプロジェクトを変えてしまうのは技術習得を強制するのでエンジニアの技術的成長の観点では良策なのかもしれません。