マインドセット

エンジニアはテクノロジーを愛し続けなければならないのか

man wearing white dress shirt near sea
nantacon

今回は技術紹介ではなく、エンジニアの在り方のような持論について書かせて頂こうと思う。

主観が多く入るが、おそらく長年エンジニアを経験してきた人ならば、似たような悩みを持って考えたことがあるような内容だと思うので、紹介したい。

エンジニア歴でテクノロジーに対する意識は異なる

自分はプログラミングを10代後半から始めて、今の30代に至るまで十数年、多かれ少なかれソフトウェアエンジニアであり続けてきた。

エンジニア歴か、加齢か、環境変化によるものなのか、今までそれぞれのライフステージでテクノロジーに対する捉え方が変化してきている。過去を少し振り返る。

プログラミングを始めて間もない頃

macbook pro on white table

プログラミングを始めたばかりの頃は、プログラミングというものは本当に何が何だかわからない。

自分は大学に入ってからプログラミングを本格的に始めたが、授業でTerminalに計算結果を標準出力することを教わるが、全く何が楽しいか解らないところからスタートする。何が楽しいのかも解らないし、どうすれば上達するのかも解らない。

でもちょっとしたきっかけで、ある時から一転、プログラミングは爆発的に面白いものになる事がある

そういうきっかけは2パターンある。「すごい技術と出会う」と「すごい人と出会う」だ。

すごい技術と出会う

テクノロジーの世界では、ある日突然「何だこれは!」と思う魔法のようなものが時々生まれる。

自分の場合、それは大学二年の頃に知ったAR技術であった。当時はAR技術という概念そのものが流行り始めた頃で、カメラを向けたらARマーカーの上にCGを重畳表示させられるARToolKitが流行った。最初みた時、自分の中に衝撃が走った覚えがある。しかもC言語さえわかれば、そのCGを自由自在に変えられるのである。

こんなに楽しくて、素敵なことがあるのかと感動した。魔法みたいだと思った。

きっと最近では、流行っている生成AI技術等が何人もの若者の心を射抜き、ソフトウェアエンジニアの道に行こうと思ったりするのだろう。

すごい人と出会う

テクノロジーの世界では、本当にすごい人が存在する。冗談ではなく、常人の100〜1000倍のパフォーマンスを生み出すような人がいる。

プログラミングが魔法のようであるなら、その人たちは上級魔法使いのようなのだ。

もちろんSNSを開けば、この人すごい、みたいなニュースは溢れている。そこから影響を受けることもあるだろう。

ただ、運よくそういう人に現実で会ったり、身近にいたりすると、一層とてつもない刺激を受ける。

何日も徹夜してロボットや人工衛星の開発プロジェクトに勤しんでいる大学生チーム、趣味でアプリを開発し公開している人、レベルの高い国際学会に研究論文の査読を通る人。色んなパターンがあるが、「とてつもない情熱でやっているな」と思ったり、「こいつ・・・人間じゃねえ・・・」と思ったりする。

彼らを横目に、憧れたり、嫉妬したり、ライバル心を燃やしたりする。

そして、コードを書くことが、楽しく、かっこいいと信じ、最高にクールだと思ったりする。

少なくとも駆け出しの自分はそう思っていたし、周りにもそんな人がちらほらいた。

Azarashi Man
Azarashi Man

プログラミング楽しい!魔法みたい!最高にクールだぜ!

プログラミングのスキルを活かして活躍し始める頃

man using black laptop computer

プログラミングスキルがある程度伸びた後、本格的に何かを作るようになる。

研究に使ったり、アプリを開発して公開したり、コンペに出たり、会社に入ってスキルを活かして開発業務にあたったりするようになる。

プログラミングで言えば、まだ未熟な部分がありながらも、数年前の自分では何日かけてもできなかったことが、一瞬でできるようになったりして、ちょっと自己陶酔にすら陥る時期である。運がいいと、努力して作ったものが評価されて褒められたり、表彰されたりして、調子に乗ったりする。

会社で人よりもスキルが高く成果を出せるようなら、それもまた自尊心を高める結果に繋がったりする。エンジニアとしてスキルを伸ばしてきてよかった、と思えたりする。

培ったプログラミングスキルを用いて、バリバリ働き、成果を上げていく。

過去に磨いてきたスキルを活かしつつ、さらに最近の技術も取り込んでいき、更に活躍しようと思うようになる。新しい技術が出たら、githubや学会論文の動向をチェックしたりする。

社内の誰よりも早く、最新技術キャッチアップし、スキルを磨こうという情熱が湧いてくる。

ただ、そういった活動をしつつも、どこかで頭の中に1つ疑問が浮かんでくるようになる。

Azarashi Man
Azarashi Man

あれ、今、自分は本当にテクノロジーが好きなのだろうか・・・?

確かに、テクノロジーを学び、実用して、色々なアクションは起こしてきているのに、なぜこう思うのか?

以前は、テクノロジーが無条件で大好きだったような気がするのだが、どこか承認欲求のようなもののために頑張っているような気もしてくる。

少なくとも自分は、本業でもプライベートでもプログラミングをして精力的に活動していながらも、そういう違和感のようなものを感じていた。ただ目の前のことで忙しいので、深くは考えずにいた。

エンジニアとして長年経過し、ひと段落してしまう頃

man sitting on concrete brick with opened laptop on his lap

抱えていた疑問が肥大化してくる。

例えば企業で30代あたりになると、エンジニアのスキルとしても落ち着いてきて、任される仕事のスケールも責任も大きくなる。プログラミングスキルよりも、プレゼン、戦略立案、プロジェクト管理のスキルが求められるようになる。

プログラミングは人に任せる機会が増え、自分は手を動かすことが少なくなる。

自分で手を動かすとしても、ある程度情報を調べて理解すれば、こなせることが多くなる。あれ、こんなもんでいいんだっけ、となる。世の中のテクノロジーの進歩により、より多くの人が簡単にすごい技術を使えるようになるので、その感覚は加速する。

確かに世の中の技術は進歩していくし、新しいものは次々と生まれるが、昔感じた時ほどの感動をテクノロジーから受けることはなくなってくる。

一方で、同僚や知り合いに、土日の空いた時間に「趣味」でテクノロジーの調査をしている人たちがいる。彼らは、よく井戸端会議でも最近のテクノロジー動向に関して、楽しそうに会話している。自分の業務や活動に全く関係しないであろう分野についても、喜びを持って調査し、知りたいと思っている。彼らと同じようなレベルで、テクノロジーにもう向き合えない気がしてしまう。

テクノロジーが好きかと言われたら好きだが、溢れんばかりの情熱がある感じではなくなる。そして、それがちょっと寂しい。

バスケ部で苦しい思いをしつつも、インターハイ出場に向けて頑張って青春を過ごした。学校の教師になり、バスケットボールのコーチをしつつも、「あれ、俺本当にバスケ好きなんだっけ・・・ただ昔やってたことの延長線をこなしているだけなんじゃないか・・・?俺の青春ってなんだったんだろうな・・・」と思う感覚に近いかもしれない(バスケのコーチも教師も全く未経験なので妄想)

Azarashi Man
Azarashi Man

スキルもある程度着いたし、新しい技術も調べればキャッチアップできる感覚があるけど、昔ほどの感動はやっぱりないな・・・

こんなスタンスでテクノロジーと向き合ってていいのか・・・?

自分はエンジニアとしてこのまま生きていくべきなのか?別の道に進むべきなのか?とりあえず転職すべきか?わ、わからん・・・!

テクノロジーに対する情熱が冷めてくる理由

序盤にあれだけあったテクノロジーに対する情熱が、だんだん冷めてくるには理由がある。考察してみると、次のようなことが主な理由ではないかと思われる。

パターンが見えてくる

エンジニアが初めてプログラミングに触れて、アプリを作った時、感動する。

しかしそのあと、流石に10年も関わっていたら、ある程度パターンが見えてくる。端的に言えば飽きてくる。どれだけ新しい技術があったとしても、あれとあれの組み合わせかとか、あれの延長線か、というのが見える。

それで全く毎度感動しないわけではないが、初々しい時の感動や衝撃(特に10代におけるそれ)とは比べ物にならない。

あくまで自己実現の手段だった可能性

どんなスキルでもそうだが、やはり「他人よりも自分が優れた結果を出せる」ものは好んでやるようになる。それが得意かどうかは、それが好きかどうかに大きく影響する。

得意だと思って磨いたスキルで、仕事をして、落ち着いてきた時、本当にそれが無条件で好きだったか改めて考えることになる。果たしてその分野の「オタク」みたいな人と比べて、自分はその対象分野をそこまで好きになれるだろうか?

自分が仮に、プログラミングやそれを活用する才能が非常に低く、実益を得られないのであれば、恐らく見向きもしなかったのではないか?と思ったりする。

求められる/身につけたいスキルが変化する

特に会社での出世や加齢とともに、プログラミングよりも、プレゼンや管理などの別のスキルが評価されるようになる。研究職であっても、学生のマネジメントをする機会も増えていくだろう。

視野を広げると、より世の中のビジネスがどう回っているかが見えてくる。個人ワークではなく、チームワークで大きい結果を出すことの重要性が理解できてきて、その評価システム自体にも納得してしまうようにもなる。

次第に、自分としてもプログラミングよりも別のスキルの重要性を実感していく。

さらに言えば、今までの専門分野と関係のない、全く別の領域のスキルを学ぶ方が、刺激的で面白いと思ってしまうケースが出てくる。

昔学んだテクノロジーが陳腐化し、やってられなくなる

最近はOpenAIなどがChatGPTなど強力なAIアプリを出してきているし、AzureやAWSは簡単にWebサービスを立ち上げられる仕組みを展開している。

昔先人が苦労して研究開発したテクノロジーは陳腐化しもう使われなくなる。オンプレの複雑なサーバーシステムも、部品検査のための試行錯誤して作り上げた画像処理プログラムも、使われなくなってくる。

そして、それらに関連したスキルを持っていたエンジニアたちのスキルは陳腐化する。

今までの努力が水泡に帰すような感覚もありつつ、新技術に紐づく根本的に新しい概念を学び直さないといけないのは骨が折れる。

けれど、エンジニアとしては最新技術を常に勉強しなくてはならない。興味なかろうと、何だろうと、勉強し続けなければならない職種である。マネージャーになろうと、人を管理するだけではなく、技術的知識は必須だ。

これを今後も続けたいのか、続けられるのか、という悩みが生じる。

テクノロジーと末長く向き合っていく方法

person holding black and green compass pointing to west

あまり汎用性のある論理的な答えではないかもしれないが、自分としては上記の悩みに対して、自分なりの答えを出しているので紹介する。

何を好きになるかは自分で容易にコントロールできない

何かを好きになるかどうかについて、自分でコントロールすることはそもそも困難である

自己洗脳しようと思っても、容易にできるものではない。

一旦テクノロジーを好きかどうか、愛しているかどうかなんてことは忘れよう。それはどうにもならないことである。

テクノロジーは割り切って「商売道具」としてみなす

ある領域での対する強かった熱が冷めた状態というのは、その領域での「成熟レベル」がある程度高まったことの証であり、そのスキルが「商売道具」として有用な証である。

プログラミングを始めたばかりの人が、プログラミングに対して憧れを持つのは、「無知である」という要素が大きい。未知なるものに対して、理解したいという気持ち、手に入れたいと思う気持ちは強力だ。ただそれは、成熟レベルが低く、商売道具としては成り立たない。

「趣味」ではなく「ビジネス」に、テクノロジーを「商売道具」を使うのであれば、モチベーションは維持できる可能性がある。

テクノロジーは当たり前だが、汎用性が高い。本業だけでなく、副業でも大いに使える。手元にある商売道具が潜在的にどれだけの価値を持つのか、見つめ直すべきである。

技術オタク≠プロフェッショナル

先に、自分とは関係ない領域のことについても積極的に「趣味」で技術調査やものづくりをしている「技術オタク」について記述した。

彼らは確かにその精力的な活動について尊敬すべきであるものの、必ずしも自分が彼らのようであるべきだとは思う必要はないと考える。

「趣味」で技術調査やものづくりなどの活動をしている人々には、(一概には言えないが、)活動の目的がないと言うことが多い。

趣味でこんな装置を作りました、こんなことを勉強しました、と言う結果が何になるかが重要である。自己満足と言われれば、それはそれでどうぞ、と言う話ではある。他人の趣味の時間の使い方をどうするかに口を出すつもりはない。

ただし、人生の時間は有限であるので、その中で何にリソースや時間を割くかという取捨選択をした方が良い。目的意識を持って何かをやった方が、より実りのある結果に辿り着く可能性が高い。せっかく何かをやるなら、良い結果を伴う方が望ましいはずだ。

一部の天才については、フラフラと何かを調べて、ノリで何かを作り、結果を出すことがあるだろう。ただそれはほんの一握りに過ぎない。

また、「趣味」なしは「やる気」を元にした活動というのは、ムラがある。やる気が出る日もあれば、出ない日もある。明確な報酬を目的にして、やる気に頼らず何かをした方が成果は出やすい。

技術オタクに無理になろうとすることは不要で、必要なことを調べて実行し結果を出す、というスタンスであることを自信を持って実施すれば良い。むしろ、そちらの方がプロフェッショナルと言える。

ちなみにそういう無目的に興味のまま突き進んでしまう技術オタク的な人々を批判するつもりはない。個人的には、そういう人たちについては人間として面白いので実のところ好きである。

実益が出る仕組みを作る

何かを学ぶ行為、それを人に情報共有する行為、何かを作る行為によって、きちんと実益が生まれるような仕組みを作る事がやはり大事だ。

自分はこのブログを始めたばかりだが、このブログの運営を「趣味」ではなく、「ビジネス」として取り組む姿勢でいる。テクノロジーについて、知見を深め続けつつ、人に情報を届けつつ、実益を得たいという気持ちである。

結果的に、私はこんなブログを書いて、テクノロジーに対して一定の主体的な関わりを維持できている。もちろん、自分の中に一定量まだテクノロジーに対する愛情のようなものはあるが、純粋な趣味だけで土日に記事を書き続けるモチベーションは自分にはない。それができるのは、実益を得られる仕組みがあり、やることに意味があると思えるからである。

ブログではないにしても、何かしら一定量習熟したスキルを持って、さらにそのスキルの向上と活用を進めたいならば、好奇心以外の何か、実益が出る仕組みと組み合わせて取り組むことが良いと思う。

勿論、今持っているスキルを捨てて、全く別のことにチャレンジするのも良いとは思う。ただ、今持っているスキルを活かして得られる利益の大きさを理解した上で行動した方が良い。

Azarashi Man
Azarashi Man

テクノロジーは商売道具。実益に結びつく形で使えばいい。

昔ほどテクノロジー好きではないが、今もほどほどに好き。それでいい。無理に技術オタクにならなくていい。

プロフェッショナルとしての意識を持つべきである。

まとめ

あくまで1つの持論として一通り述べさせて頂いた。拙い内容であるが、どなたかの参考になる日が来れば幸いである。

  • エンジニア歴に応じて、テクノロジーに対する好奇心・モチベーションは変わってくる。昔どれだけテクノロジーに情熱があったとしても、長年取り組んでいれば、情熱も冷めてくる。ある種それは避けれない。
  • 熱が冷めたことは、習熟した証だとポジティブに考える。手元にあるスキルは、商売道具として有用である。本業だけでなく、副業など別の方面でも利益を生む可能性がある。
  • 技術オタクに無理してなる必要はない。実益が得られる仕組みを用意しつつ、目的意識を持ってスキル向上や開発に取り組めば良い。実益を掴むプロフェッショナルというものを目指すべきである。
ABOUT ME
Azarashi Man
Azarashi Man
あざらし まん
普段はエンジニアとして働いています。 ソフトウェア分野のテクノロジーに関して、役立つ情報配信をしていければと思っています。
記事URLをコピーしました