なんか年始から殺伐としているけど。
ここで冒頭に引用されているTweetの話ね。Togetterでもまとまってるけど非公開になったわ(なんでだろ?
そもそもの話だけど、仕事ってのは仕事をしてそれに見合った(これを評価するのは結構難しいけど)報酬を得ることであり、プロフェッショナルなエンジニアというのは少なくともそれを仕事とする人、という意味での「プロ」であればその要件を満たすだけの仕事をしていたらプロだ。
よく、アメリカの演奏家ユニオンの力が強くて時間を過ぎたらアンコールには応えられないみたいな話聞くけど、まあそれは極端だとしてもそういう話なわけです。
一方で、高度な専門家、という意味でのプロという自認がある人はそれはそれでどうぞ。
さて、そもそも仕事をしてお金を稼ぐというのは自分の持てる力を換金している、ということです。今の仕事でもらえる報酬が必要十分なのであれば、それ以上の研鑽はいらないかもしれないし、この日進月歩な世界でそれをキープするためにはやっぱり研鑽がいるよね、という話かもしれないのですが、少なくとも「お金を稼ぐ」ということが仕事の目的の一つである以上、換金力のある実力を持とう、たくさんお金がほしければレベルアップをしよう、ということが重要ですよね。
エンジニアが自分自身の時間を使って勉強するべきかどうかはいつも問題になるんだけど、会社が引いたレールの上でモデルケース通りの出世をする、という程度にしか欲がなければそれで良いと思うんですよね。自分の力でレールから外れたい(転職も含む…これは会社がろくなレールを引いてくれない不幸も含まれますね)ということであれば、自己研鑽するしかないんですよね。もちろん、会社が引いたレールを超えるだけの力を得るのが業務上の活動だけでは足りない、ということもよくあるでしょう(これはITの仕事に限らずで、英語を勉強したり、宅建等の各種資格を取ったりってのは当たり前に自分の時間でやりますよね)。
とにかく、仕事を遂行する力ってのは金に直結するわけですよ。
じゃあ金に直結しない活動をなんでやるの?っていうとそりゃ趣味ですよね。趣味を仕事にすることを強制されないと業界にはいられない、なんて業界ありません(それだと人が足りなくなったり品質が求めるものにならないから)。仕事に求められるスキルというのは厳然として仕事に求められるスキルに他なりません。たまにベンチャーとかで趣味と勘違いしているんじゃないかというスキルで仕事をしている人がいるんですが(これはいい方向に転ぶこともあるけど、悪い方向に転ぶこともありますよね)。
僕はITの仕事、特に業務システム開発をする人には自分が金を稼ぐためにもIT全般のスキルのレベルアップを是非お願いしたいんですよね。でもそれは三が日にシコシココードを書く、というのとは別種のなにかです。特にシステム全般を見る仕事をするんだったらコードばっかり書くんじゃなくて例えばMTTFとMTBFの話とか、待ち行列理論とか、そういうのも勉強してほしいですよね(コーディング能力凄いけど、パフォーマンステスト計画作るので想定レイテンシ出してとか言ったら回線速度の単位がbit/secとByte/secを勘違いした値が出てきた、とか、損失率はないものとするみたいな仮定すらない数字が出てきたら萎えますよね)。まあでもそれはそういう仕事として必要だからもっているスキルではあります。つまり、仕事として求められるスキルとはなにか、というのは結構大事ってことです(基本情報技術者試験くらいは全員受けておけば急にそういう話の矢面に立たされてもなんとか持ち帰れると思いますよ)。
コーディングすることで直面する課題を何でも解決することを仕事としてやっているエンジニアの人は別かもしれないですが、そういう仕事はそんなに多くないし、そういう風に生まれた(つまり、冒頭であげられているようなことができる人)がその地位を占めちゃってると思うので、そうじゃない人は目指さないですよねえ。