技術力について。もしくは「いかにして問題をとくか」という本について。

ITエンジニアをしていると、「技術力」があるかないか、というものさしで他人から見られてしまいますし、もちろん私も同僚や同業の人をそういう視点で見てしまいがちです。

しかし、この「技術力」は、とても抽象的で、実体のない言葉だなと感じることが多いです。「技術力ってなんですか?」という問に、皆が期待するような100点の答えを返す自信は、私にはありません。

私の経験上は、「あの人は技術力がある」と称されている人は、おおむね普通に「仕事ができる人」であることも多いですし、「技術力がない」と称される人は技術によらずにあまり「仕事のアウトプットが芳しくない」といういイメージがあります。
ただ、一部「技術力がある」「技術力だけはある」と称される人の中には、「仕事はできないけれど、テクノロジー関連については詳しい」という人も含まれているように思います。

仕事ができる人の特徴

技術によらず、「この人は仕事ができるな」というイメージを抱く人は、私的には以下のように汎用化できると感じています。

・適切な問題設定ができる人。
・何かしらの専門的なスキルによって問題解決できる能力がある人。
・問題を先延ばしにしない人。
・問題を常にオープンにし、献身的に情報を発信し、不満や批判を受け入れる人。

一文で書くと、「自分で問題設定ができてそれを解決することもできて、その能力をもとに組織の中で円滑にアウトプットできる人」、という感じになるかと思います。

技術者について当てはめてみると、一般的な水準の職場だと意外と世間で「技術力」と言われているものの占める割合が少なく、日々の行動や習慣の方が「仕事ができる人」になるためには現実問題としては大事になってきます。
もちろん高度な専門スキルが無いと「定義」も「解決」もできない問題もあります。そういう余人をもって代えがたい技術に立脚した解決スキルを持っている事を指して「技術力が高い」と称することが、私は一番腑に落ちます。

そして、「技術力だけはある人」と称される人は、専門的知見があるように見えるが、その知見が組織の中で上手く発揮できなかったり、その知見を問題解決に活かすことができない人、という事になるかなと思います。

「いかにして問題をとくか」

よりスコープを狭めて言うと、技術者にとって、もしくは会社員にとって、日々の仕事というのは、「いかに問題を設定し、その問題を解決するか」という生業に収斂することが多いように思います。

システムの開発でも良いですし、コスト削減施策でも良いですし、システム安定化でも良いです。
今組織の中で解決しなければいけない課題を見つけ、解決策を見出し、実際に行動をする、上手く行かなかったら別の方法を試す、という事を繰り返すことが、仕事という気がします。

そういった「問題解決」について、強く示唆を与えてくれる書籍として、古典的な名著ですが「いかにして問題をとくか」という書籍があります。

この書籍は、大学教授の講義という形をとった数学書で、数々の数学的課題をどのように解いていくか、について書かれている本です。

それぞれのエピソードも大変興味深く、数理的な話が続くかと思ったら突然テーマが大きくダムの建築に関わる話に及んだりし、飽きさせないです

「問題解決」の方法という点については、本書の冒頭の数十ページにエッセンス的に書かれていて、これを読むだけでも大変に参考になります。
それすらも忙しくて読めない、という人のために、問題解決のためのエッセンスが凝縮された「チートシート」が本書の巻末に掲示されており、これを読むだけでも雰囲気を掴むことができます。

チートシートに書かれているのは以下4項目。

1. 問題を理解すること
2. 計画を立てること
3.
計画を実行すること
4.
ふりかえってみること

まず問題が何なのかを理解する(何がわかっていて、何がわかってないのか、条件はなにか、等々)。
そして、その問題を解決するための計画を立てる。
そして、その計画どおりに実行をしてみる。
最後に、実行した内容をふりかえる。上手くいったのかいかなかったのか。上手くいかなかったとした場合その理由は何なのかを分析し、再度計画を立て直して実行する。

問題解決のためには、この4つの項目を繰り返し繰り返しイテレーションすることが必要、ということが要諦になると思います。

システム開発の分野において、上記の考えはとても親和性が高く(要件定義〜設計〜実装〜テスト/運用、など)、参考になることが多いです。

技術力とは

最後に、私が考える「技術力」について。

仕事の中では上述のように「問題解決能力」が大事であろう、という私見を述べてきました。

その上で「技術力」を自分なりに表現すると、「高度な専門的知見・専門的スキルで、他の人には解決できない高度な課題を解決できること」という事になるかなと思います。

そして、仕事の場においては、「技術力」も含めた諸々の能力を皆が活かして、解決すべき課題を解決する、という事が、本来求められる事だと思っています。

個人的には、特定分野に詳しいというだけで「技術力がある」と称するのは少し抵抗がありますし、特定分野知識の有無だけで技術力を判断したくはないとは思っています。

特にSNS上で流行っている情報を知っているから先進的な技術者である、トレンドワードに合致するような技術を知っているから優秀な技術者、という捉え方はできればせず、もっと本質的なところに視点を置きたいなとは思います。
(コンピューターサイエンスやアルゴリズムに精通していて、それを問題解決に活かしてきている、等)

そして、「自分の考える」技術力というものさしだけで、人にレッテルを貼ったり、その力の有無で人を下に見たりするのも、できれば避けたいと思います。


この記事が気に入ったらサポートをしてみませんか?