エンジニアにとってめちゃめちゃ重要でめちゃめちゃしんどいこと
エンジニアとして成長し続ける上で最も重要なことってなんだと思いますか?
プログラミング能力?使用するハードやソフトの知識?それともコミュニケーション能力?
もちろんそのどれもがめちゃめちゃ重要です。
ただ今回は、重要な要素のうちの一つである「思考体力」について話します。
言い換えるなら「腰を据えてじっくり考える力」みたいな?
「思考体力」という言葉を初めて知ったのは、西成活裕(にしなり かつひろ)教授の『東大の先生!文系の私に超わかりやすく数学を教えてください!』という書籍を読んだ時でした。
そこで数学に関する能力の一つとして紹介されていたのが思考体力です。調べてみたら思考体力にフォーカスした出版されているみたいです。
「文系の私に」の方は普通に読み物としても面白いですし、「学生時代から数学が苦手だった、よくわからなかった」という人に向けられた本ですので、「うげぇ数学かよ」って人ほど実りのある内容かと思いますので是非騙されたと思って読んでみてください。
さて、話しを戻しますが、なぜこの「思考体力」がエンジニアにとって重要なのか。
それはエンジニアが生涯学習を運命付けられた職業だからです。
聞くところによるとweb系・ゲーム系のエンジニアは比較的そういう傾向が薄いらしいですが、インフラ系やシステム開発系、SIerのエンジニアはこの勉強からは逃げられません。
クソみたいな仕様書や規格の文章と睨めっこし続けるのです。
ググっても答えがでないことも多いです。むしろ自身がパイオニアとして調べた情報を発信していく側になることも少なくありません。事実そのようにして得た知識を基にブログを運営している人も多いように思います。
いろんなサービスや製品に用いられている有名なOSS(自由に使えるツール的なもの)でも、仕様書や規格の原文を確認すると明らかに実動作と矛盾していたり、誤解を生む表現だったり、そもそも誤解すらできないほど理解に苦しむ文章であることが多々あります。
内容が難しいのではなく、日本語として理解し難いという意味です。忖度すれば読めなくはないですが、別の解釈もできる以上可能性は捨てきれません。どのように対応するかは担当者や現場によって様々かと思いますが、これもまたエンジニアの生涯学習を億劫にする要因の一つですよね。
「何となく調べて出てきたものを例を見ながら使ったら動く」ということはよくあります。よくあるせいで、なんの技術力もないベテランエンジニアがわんさか居るのが実情です。上司曰く、
「八割のエンジニアはキャリアに技術が追い付いていない」
とのことです。結構必死になって勉強しないといけない割に、勉強しなくてもなんとかなってしまうのですから、なんとなく年だけ取ってしまうのも仕方ありません。
試しに「50代 エンジニア」とかで検索しようとすると、サジェストに「使えない」と出てきます。
流石に暴論ですが、「え、30年間何やってきたんだ?」とぺーぺーの私ですら思う人は結構います。
設計工程でも、エラーや不具合の対応でも、思考体力は重要です。個人的にはエンジニアとしての優秀さにもろに直結する要素のひとつだと思っています。
学生の方は、受験勉強なんかで養えると、使い方次第ではエンジニアに限らず一生ものの武器になるんじゃないかなと、思ったり。