Skip to content

Instantly share code, notes, and snippets.

@nobuh
Last active March 6, 2024 10:23
Show Gist options
  • Save nobuh/d5978aa3e53e9e96bc86e75f5bd7750c to your computer and use it in GitHub Desktop.
Save nobuh/d5978aa3e53e9e96bc86e75f5bd7750c to your computer and use it in GitHub Desktop.
よいエンジニアの見分け方

よいエンジニアの見分け方

よいエンジニアかどうか見分ける、たった一つの方法で必要にして十分なもの。それは

謙虚さ

何も謙虚な態度をつねにしてなきゃいけない、という訳じゃない。若者特有の「俺最高!」な全能感に突き動かされることもあるだろうし、そうした強さも競争を勝ち抜くために必要なのも事実。

でも、職人的な仕事、とくにエンジニアに関してはこの「謙虚さ」が今までも、そしてこれからももっとも大切な資質になる。これからそれを詳しく解説しよう。

エンジニアが成長し続けるには何が必要だろう?これは簡単、学習と経験だ。子供の成長プロセスと一緒だね。良く学んで良く実践すること。実践は知っていることを実際にやることであり、そのさいたるものは知識をまた別な人に教えるというプロセスだ。ではそもそも知識はどうやって学ぶのか?これは人類の誕生から二つしかない、他人から学ぶのと、自分で独力で生み出すこと、この2つだ。

他人からの知識がゼロで、すべての知識が自分から沸き上がったものだけだとしたら、今頃人はまだ石器時代をうろうろしていただろう。火や言語をもっているのかも怪しい。言葉や文字や数字を全員がこの世に生まれて何もないところからゼロから再発明する世界を想像してみて欲しい。一生かかっても原人の状態からたいして進歩しないだろう。つまり何が言いたいかというと、自分から沸き上がる知識はごく一部であって、ほとんどの知識は他人からもたらされているということだ。

この他人からの知識は別に手取り足取りのレクチャーだけを意味するものではなく、本や文章、歌、口伝、歴史なんでもふくまれる。面と向かって教えてもらうのが最も情報量が多くて、対話的なものや、文書、本と続く。これらが情報源だ。

そして他人から情報を得て、自分でも使えるように身につけるプロセスが、つまり盗む、真似る、学ぶ、ということだ。この模倣することで覚える学習というプロセスには共感があると効果的で、もし相手を蔑んだりバカにしている場合は上手く学ぶことが出来ない。「俺の師匠の技なんてゴミみたいなものだ」とバカにしながら弟子がその師匠の技を上手く学べるなんてことはありそうもない。

さて話を戻して、もしある人が自分が最初から最高で他の誰からも学ぶものが無い、と思っていたとしよう。この「他の誰も」、には過去の先人たちも含まれる。つまりその道の著名な本や人さえバカにしている状態だ。こういうエンジニアのケースはごく稀で現実にはお目にかかることがない。なぜなら勘違いがひどすぎて、そもそもエンジニアとして踏み出す事すら難しいからだ。存在しないが故にこのタイプを間違って採用しないように悩む必要もない。

そしてここからが本題だ。もしあるエンジニアが著名な先人たちや今のスタープレイヤーだけを尊敬しているとしよう。そして無名で身近なエンジニアや自分とは違う価値観のエンジニアの事を馬鹿にしたり軽蔑していたとしよう。この場合は本などから知識は吸収出来るので、エンジニアとしてスタートを切ることは十分可能だ。

こうした高慢なエンジニアがいたとして、彼・彼女が尊敬できるレベルの人と一緒に仕事出来る環境にあったとしよう。この場合は高慢なままでも知識の獲得について問題が無い。さすがに尊敬しているスターからは学び続けることか出来るからだ。一方高慢な人が、自分が尊敬出来る人とは一緒に働いていない場合何が起きるのか考えてみよう。本やネットからは知識は吸収するものの、自分が馬鹿にしている自分の回りの人からは何も知識を吸収出来ない状態になる。レベルの低い今の職場の連中からなんて何も学ぶものなんてないさ!。ほんとだろうか?

本やネットの情報は汎用的なものであり、どこでも使える大切な知識であるが、ある特定の状況に関してで言えば周囲の人の話には遠く及ばない。例えばどこかの工場を思い浮かべて欲しい。数学の名著や教科書、人気のブログがどんなにすばらしくても、その工場のことについてはそこで働いている人の話や、現場の人の書いたものにはかなわない。そういう特定の状況に関する知識はググっても得られない、そこにいる人々からしか得られない生の知識だ。一般化された知識はどんどんネットに整理収納され AI やいろんなシステムで整理分析可能な今、こうした生の現場の知識にこそ人が身につけるべき高い価値がある。こうした高い価値の知識の獲得なしでよいエンジニアになることは難しい。

自分がどんなにレベルが高くても謙虚でさえあればこうした現場の生の知識も吸収し、環境に適応し、さらにどこまでも自分のレベルをあげ続ける事が出来る一方、謙虚さがなければ最も価値のあるこうした知識を身に付けられず、レベルアップはおろか環境に適応することすら難しくなる。

だから謙虚である事がエンジニアの最も大切な資質になる。

最後にこれからエンジニアになるまだ学生の若者たちへ、君たちに必要なのは、競争を勝ち抜くためのエネルギー源となる不遜さと、無限に学ぶための謙虚さの両方だ。著名な勉強会に入れ込んでそこにいるスタープレイヤーやロックスターに触れ彼らを尊敬することはあっても、身近な人々も忘れず尊敬できる謙虚さを失わないで欲しい。実際にこの両方を満たすのはとても難しい。一度謙虚さを無くしてしまったエンジニアが生き残る道は、なんとかロックスターと同じ職場で働き続けることしかないことになる。新卒で入社する時は自分で選択可能だけど、仮にスターが自分のキャリア計画で転職してしまったらどうする?次のスターがいる場所を探して転職し続ける?尊敬していた身近なスターがキャリアアップのためその彼でさえやっと入れるような会社に転職した場合、まだ未熟な君が同じ会社にすぐ転職できるのだろうか?

謙虚さがエンジニアが学ぶことができる範囲を規定してしまう。これだけは忘れないでいて欲しい。そして身近な人々に対して謙虚さをまったくもっていないエンジニアをもし見かけたら、その人はもうそれ以上レベルアップする可能性は低いし新たな環境に順応する可能性も低いので、そのように覚悟して付き合う必要がある。

また、もしあなたのなりたいゴールがエンジニアではなく起業家だとしたら、話は全く異なってくるのかもしれない。起業家を目指す若い人にとって何が必要なのかについては、この文章ではなくほかの情報を参考にしてほしい。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment