novtanの日常

ネタです。ネタなんです。マジレスする人は撲滅すべき敵です。だからネタだってば!

ITエンジニア時間外に勉強するべきか問題2024

まず結論からだけど、自分の人生なので好きにしてください。

その上でなんで勉強するのか、しないのか、の話をします。
個人的な話。僕は若い頃は行き帰りとか家でトイレ行ってるときとか何もやることないときとか、新しい本を買ってきたときとか、まあたくさん本は読んでいましたし、その時読んだ本の内容が今の技術力や情報に勘づく力を育てたのは間違いないし、その結果としてそれなりの立場でそれなりの待遇で仕事をできているので、勉強することはその人のキャリアに寄与する、という実例である、と自分自身の結果論としては考えている。現場で必要なプログラミングや設計やテストの能力は現場での学習に寄与するところは多いけど学習っていうかそれ仕事やってたら身につくよねの類なのであまり勉強としてはカウントしていない部分が大半だとは思う。

おそらくだけど、こういう勉強によってアドバンテージを得ることは現場の作業をこなすためのものではなく、もう少しアカデミックだったり汎用的だったり時事ネタだったりのほうが効果的だと思っている。現場で勉強する目的なんて現場の作業を十全にこなす以上の達成度はないわけで、それはそれで大事なキャリアだとは思うんだけど、じゃあそこから一歩先の待遇を得るためにはどうしたらよいか(僕自身は待遇よりは仕事の中身で現場作業から脱却したかったので必ずしも待遇自体が重要ではなかったけど実際のところそれは待遇と地続きではある)、を考えると何らかのプラスアルファ以上のものが自分の引き出しとしてないといかんよね。

ITの現場(特にSI系)にいるとわかると思うんだけど、作業に従事している人の7割はシステムのアーキテクチャのことなんてわかってない。わかってなくても仕事ができる環境が整っているからだ。そこでどれだけ作業ができるようになってもエンジニアとして独り立ちは出来ない。そうすると、目先にある勉強のネタは「現場で使われているアーキテクチャについて学ぶ」だよね。逆に言うとそれで大抵のことは済んでしまう。まともなエンジニアの人には信じられないかもしれないけど、かなり多くの要員がここで脱落する。興味がないし勉強しないからだ。なんで興味がないのか個人的には理解し難いのだが、とにかくそうだ。

んで、この状態をもって「勉強する・しない」の議論をするのは非常にナンセンスだと思うのだけど、どうもXなどでの勉強の概念を見ているとこのレベルでするべきかどうかの議論をしている人が散見される。問題外だと思う。するしかないだろ。勉強をするべきかの議論をしている時点で、エンジニアとして成長したいという土俵に乗ったと僕は評価するので、乗った以上は最低限の勉強は無条件にする、だと思っている。成長できなくても良くて、今の仕事が続けられれば良い、ということであれば、その仕事に保証があるか全く自信はないけど自分の人生だから好きにすればいいと思うよ。でも、(これまで喋ったことはすべて例でしかないが)現場でやっている仕事があって、今やっている自分の仕事がその現場の全てを把握するものじゃないときに、現場の全てを把握するための勉強は少なくともすべきだと思う。全ては言い過ぎか。アプリケーションのエンジニアに必要なネットワークのスキルは限定的(ゼロでいいとは言わない)でも構わない、とかそういうのはあるかな。
これを業務時間にすべき、というのは正しい。残業したり、家で勉強することは強制されるべきではない。ただし、業務時間に与えられたタスクをこなしつつも、例えば総合テストケースを設定するような仕事の中で自然に調べたり人に聞いたりして身につくことを期待されている。自分がその期待値に対して到達していない場合に考えられる振る舞い方はいくつかしかない。(Extraタイムでの)勉強をするか、しないか、離脱するか、だ。どれが一番自分のキャリアに繋がるかは自明だ。無論、まともな現場である、というのが大前提なのでそこは議論しない。

こういう、基礎を積み重ねている段階において、クレームを付けるとしたら現場の作業が到底学びを得るものではないのにそれをこなすのが精一杯(これは熟達による効率化によって本来は解消すべきだが、熟達するとタスクが増えるような現場においては余裕を得られない)で自分で学習時間をコントロールできない場合だ。往々にして、そういう状況である、自分は学習したいのだ、ということをアピールすると解決することがある、ということは申し添えておくが、解決しないこともあるだろう。これは文句を言ってもいい状態だと思う。

でも、前述した通り、例えば総合テストケースの設定をタスクとして与えられているのにシステムについての知見が増えないような場合、ちょっと学習に対する意識が欠けてるんじゃないかなあ、とは思ってしまうよね。あるいは、エビデンス確認(自システム以外からのI/Fがあるときはなおさら)や障害調査についても。

こういった域を脱却した(成長した)エンジニアは「勉強すべきかどうか」などという命題からは自由になっている。自分にとって必要なら勉強するし、必要ないなら趣味でもない限りしない。それ以上の何者でもないが、自分にとって必要な勉強は仕事の基本動作の中にたいてい組み込まれているのでそれでもなお勉強する、ということはかなり目的意識を持ってやることであり、自分の付加価値を当たり前のように高める行為としてやっているよね。

業務時間に勉強できない環境を嘆くのはもっともなことだと思う。そういう環境に置かれているエンジニアはできる限り救いたいと思う(が、本人にやる気がない要員を救おうとしても実際にはなんの成果も出ないので仕向けてもやる気ないとか、そういう場合は見捨てる)。エンジニアとしてレベルアップしたいと思い、その手段が勉強なのであればそれをいつやるかについてはあんま関係ないし、初学者であればあるほどなんとしてでも勉強するという風に振る舞わないと、仕事を継続できる段階まで到達しないで終わる懸念がかなりある、ということだけは言っておきたい。