はじめに
量子コンピュータのベンチャー企業をしています。これまでは技術的な話が多かったですが、海外と渡り合うには一人ひとりのエンジニアの才能と技術の鍛錬が必要で、精神的なものを考慮しないといけなくなってきました。トップになるためには何が必要なのかを書いてみようと思います。
たまには精神的な鍛錬の話をします。
静の境地と動の境地がある
世の中2つの全く異なる性質のものがあると物事が動きます。男女や±、温度差、気圧差、NとS極、2つのものが作用して初めて物事が動きます。企業も個人もこの2つの要素がきちんと社会の中にも存在していて、それらをうまく活用することで物事が進むということを理解すると、いつもよりも楽に物事を進めることができます。もちろん片方だけを活用しても物事は進みますが、遅々とした進捗でなかなか人は納得しないでしょう。
静の境地は、人の意見に惑わされず目の前の現実や数字だけを受け入れて、それに対して冷徹に行動します。
動の境地は、現実を一旦脇に置いておいて、目の前の人たちのことだけを考えて判断し、情熱的に行動します。
一般的に仕事としてのプログラミングは客観的な視点を持って、合理的な手順の段取りで処理を行う必要があります。
一方、お客さん商売ですので、非合理的な意見が常に付き纏います。
これら合理的な視点と非合理的な要求を調整するのが一番大事ですが、多くの人は片方に終始することになり物事の推進力が大幅に低下します。
合理的な段取りをしないといけないのに、個人的な感情や事情を払拭でき無かったり、上記の2つの要素を明確に分離して頭の中で整理できていないため、合理的に動けないという人がほとんどです。
これら2つの要素を自転車のペダルのように意識的に正反対に置いておくことで物事が進みます。
人は見えないものは目標にできない、理解ができない。
人は見たことがないものは信じられない傾向があるので、境地に達する道も当然ですが見えません。見えない、意味が分からないからこそ余計に焦って感情が落ち着かない人がいます。そこが難しいところです。実は物事が成功する道筋は小さい針の穴を通すような小さな道で、慣れてくるとやるべきことが小さな道となって最後まで見えることがたびたびあります。
多くの情報を集めたり、技を磨いたりしないとなかなかそこまで到達しないので、技術を磨くことはとても大事です。焦ったり、感情が昂ったりすること自体が自分自信を制御できていないことの現れですが、なかなかそのこと自体を理解するのも大変です。
複雑なことをすれば到達できると信じてしまう
自分自身も周りに頭がいい人がたくさんいました。しかし、頭が良くて複雑なことができてより高度なことができるということと、上記の境地に達することはあまり関係がありません。むしろ一番遠い位置にいることになるでしょう。
複雑さを通りすぎると一周して簡単に戻ってきます。複雑さと簡単さの境界を見つけて、そのちょうど間に物事を置くのが一番うまくいきます。馬鹿と天才は紙一重と言われるように、複雑さと簡単さは常に隣り合わせで、複雑さを極めると一周して元に戻ってきます。
複雑さを極めると、単純さに戻るということを念頭に入れて、両方の側から攻めるのが効率的です。複雑さと簡単さを同時に持ち合わせるものは複雑な動作と簡単な取り扱いの両方の良いところを取り入れることができます。
複雑さだけを極めようとすると、他人よりも自分は難しいことをできているという幻想だけに囚われてなんにもなりません。
自分に合った技術はなかなか気づかない
自分自身にぴったり合う技術を極めることでいろいろなことがうまくいきますが、なかなか自分に適した技術に自分で気付くのは難しいです。なぜならその技術は自分にとっては簡単に思えるので重要でないと感じてしまうからです。人は自分にできない技術に価値があるのではと考えがちで、自分の苦手なものに憧れる傾向がありますが、実際に会得すべき技術はそれとは異なり、自分が自然と行っている日常の動作の中にあり、それは自分で見つけるのは難しいです。そして、他人から見るとそれは一番欲しいものに見えます。
1つの技術を極める
最終的に到達するのはみんな同じところなので、極める技はなんでも良いことになります。最終的に会得できるのは段取りだったり、物事の道筋を見通す力だったりするので、技自体は単独で極めることができます。多くのことに取り掛かって浅く広く会得する以外にも、一つのことに小さなことで良いので目標設定をして成し遂げて自分の中で納得できる出来事を一つ会得すると良いと思います。
それを少しずつ広げていって自分の限界まで追い込むことができます。
数字は正直、裏には人がいる
社会の中で数字が動くのは背後に人の意識があるからです。それら人の意識は必ずしも合理的な動きをするとは限りません。本来あるべき合理的な動きと、非合理的な動きの両方を理解する能力があれば、それらの差を感じとることができ、最終的には収束するということをベースに理論を打ち立てることで利益を獲得することができます。
また、ビジネスにおいてもその他の事柄においても、社会では完全合理的な瞬間は極めて稀で、たとえ理想論では納得できなくても、非合理的な判断が多く存在しそれが経済を動かしているという、動の境地を理解する必要があります。
プログラミングで動かすシステムは感情を抜きにして合理的に組み立てたいのですが、常に利益を出すのは非合理性だということを理解すると、合理的なシステムを作りながら、非合理が合理性に収束する瞬間を狙ってビジネスをする必要があり、たいていはとても時間のかかる作業ですが、上記の成功への細い針を通すような道筋をみて、判断をするしかありません。
技を極めて安心を会得する
人は多くの努力を通じて技術を会得し、仕事でも人生でも安心をしようとします。しかし、本当の安心は技術の習得そのものではなく、それから得られる考え方が人を安心させるので、人の意見を聞いて納得するようなプログラマー人生を最終的に送って欲しいものです。