この記事は クラウドワークス Advent Calendar 2023 シリーズ1の3日目の記事です。
クラウドソーシングサービス「クラウドワークス」(crowdworks.jp)の技術的負債の継続的解消を目的としたジャンヌチームでエンジニアとして働いているlinyclarです。
「今年のアドカレには参加するか〜、みんなどんな感じでかいてるんやろ〜」と過去記事を見返していたら、大昔に取締役執行役員が35歳定年説について言及していました(あるエンジニアの緩慢な死、あるいはエンジニア35歳定年説。)。
奇しくも自分は今年で35歳なので、キャリアの話とかを書こうと思います。
35歳定年説は嘘か真実か
今更35歳定年説について考察するのは価値もないことなのでサッと流しますが、35歳という年齢はともかく若手と見なされなくなる30代で節目を迎えるという意味で、嘘でもあり本当でもあるというのが答えだろうと思います。
この言葉自体は私がまだ高校生だった2000年代がピークで、2010年代以降は転職サイトのオウンドメディアのネタだったり、このエントリのようにふと思い出して書くネタになっているように見えます。
少なくとも今の時代に大真面目にこの説を信じてる若手はいないでしょう。
実際、私が働いている中でも35歳を過ぎてプログラミングを仕事としている人は何人も見ましたし、「自分じゃ同年齢になっても敵わんな」と思う人もいました(現職にも数人います)。
翻って、若手だから許されているだけで将来的には厳しそうだなと思う人もいましたし、実際に転職で厳しい目にあっている人の噂も聞いたことがあります。
そういう人たちを見ていると、なんとなく興味の比重やスタンスが分けられるなと思うようになりました。
興味:サイエンス、エンジニアリング、テクノロジー
何を中心に学び仕事に適用していくかは人それぞれです。
サイエンスとエンジニアリングについては、以下の引用で十分でしょう。
ソフトウエアでの科学と工学の違いは、ほかの分野での違いと同じである。科学者は、真理を探究し、仮説を検証し、対象分野を深く掘り下げようとする。一方、技術者は、現実の問題を解決するために、真理を探究し、有用なものを見つけ出し、周知の事実を適用するのだ。
スティーブ・マコネル「ソフトウエア開発プロフェッショナル」(2005, 日経BP) p.43
物理学者は、技術者よりも原理や法則を深く理解しているが、装置設計能力はプロトタイプ設計に毛が生えた程度であり、実験レベルで知識の掘り下げを目的に作るにすぎない。現実の問題を実践的に解決するために頑丈で経済的な製品を作った経験もなく、訓練も受けていない。
スティーブ・マコネル「ソフトウエア開発プロフェッショナル」(2005, 日経BP) p.43-44
テクノロジーが興味の人はOSSのプロダクトとかクラウドサービス、なんらかのツールなどを学んで使おうとする人たちです。
私はエンジニアリング10、サイエンス3、テクノロジー2みたいな感じなので、サイエンスが強い人に対しても、テクノロジーを追えている人に対しても劣等感を抱えて日々過ごしていたりします。
スタンス:ガチ勢、エンジョイ勢
妥当な言葉が思いつかないのでゲームでよく使われるこの言葉を使っているのですが、組織としての目的を意識して働けるガチ勢と、自分たちのチームが良い雰囲気であることを重視するエンジョイ勢に分かれるようです。
最近流行りの言葉を使うなら、心理的安全性を本来の意味で運用するガチ勢と、間違った意味で運用するエンジョイ勢です。
※本エントリで「エンジョイ勢」という言葉はネガティブに使っていますが、本来のゲームのプレイスタイルに対して批判する意図はありません
生存確率の個人的な印象
サイエンスまたはテクノロジーに主な興味があってエンジニアリングの心得のあるガチ勢の人は本当に強いと思います。
私のようなエンジニアリングに主な興味があってガチ勢の人も、学び続ける限りはなんとかなる気はしています。
というのも、エンジニアリングが「現実の問題を解決する」という宿命を背負っている以上、自身の問題解決能力に対して常に危機感を覚えているためです。
それに対してエンジニアリングの心得がなかったり、エンジョイ勢であったりするなら危ういだろうと思っています。企業が存在しているのは、社会に対してなんらかの貢献をするためであり、ソフトウェアを作るのはその貢献を実現するための問題解決の手段です。社員が働くのはその社会貢献のためです(建前はね)。
エンジニアリングの心得がなかったりエンジョイ勢であるなら、その社会貢献に対してコミットしているかに関心を持たないということであり、会社からのニーズに応えられているかにも関心を持っていないということになります。
ちなみに、エンジニアリングの心得がないというのは「デザインパターンやアルゴリズムを不必要なのに適用してコードを難読化」(サイエンス系)、「話題のツールだからとコストを考えずに導入」(テクノロジー系)などが良い例かと思います。
(ここまで書いていて、エンジニアリングの心得を持つなら必然、ガチ勢になるかもなと思いました)
そして、スタンスに関係なくいずれにも深い興味のない人は単なるサラリーマンエンジニアとして生存するのは難しいだろうと思います。少なくとも、なんらかの付加価値がない人はエンジニアとしての転職は非常に苦労するのではないかと思います。
私が関わったことのある人だと起業したかマネージャーになったか、セールスやマーケになったりという人が多い印象です。
変わりどころだとファシリテーションのコンサルティングみたいなことをしている人もいます。
それでもエンジニアとして生存している人は、業界知識やドメイン知識に注力している人たちです。特定企業の下請けで、その企業の製品知識とコード知識でエンジニアとして働き続ける本物の定年を迎えているエンジニアの方もいました。
まとめ
サイエンスの知識が乏しくテクノロジーに興味がなくとも、エンジニアリングの心得があるガチ勢であれば生き残れるだろうと思っています。ただし、エンジニアとして「現実の問題を解決」するために学び続ける限りは、ですが。
それと、ここまで書いておいてなんですが、エンジニアがエンジニアのままでいることが正解というわけでもなく、各人が各人の人生での生存戦略を模索していくのが正解です。エンジニアを続けるにせよ、別の職種に転向するにせよ、キャリアがどん詰まりにならないようにできているかが一番重要でしょう。
個人的な状況についても書こうかと思っていましたが、長くなったのでこの辺で。