キャリア考える

「iOSエンジニアのキャリア」というタイトルで書きはじめようかと思ったけど、考えてることはもうちょっとぼんやりしていたので、普通に自分のこれからどうするかの思考ノートを書こうと思う。結局iOSエンジニアという職を続ける以上、「iOSエンジニアのキャリア」という内容にはなるのだけれど。どちらかというと一般論化せずに、自分ごととして書くようにしたいので、このタイトルでいきましょう。

iOSエンジニアのキャリア

iOSエンジニアという職業ができて20年ほどたった。

調べたら初代iPhoneの発売が2007/6/29らしいので、正確には18年のようだ。

俺は5年しかやってないけども、周りには10年選手がけっこーいる。

新卒でiOS開発に入った人もいるけども、それは少数派で、基本的には何らかのプログラマーがiPhoneという製品に魅せられて、アプリ開発の世界に入ったというのが多数派のように思える。Appleの度重なる破壊的変更は開発者を振り落としながら、現在はやや安定した。むしろAppleの革新が終わったことに対する不満を感じている。

20年程度の歴史故に、この職業のロールモデルがなく、そこから来る不安がある。ずっと将来が保障されていないような感覚? どんな仕事してようと、本質的には将来が保証されてるなんてことはないというのは真理なんだけど、とはいえ実際問題、不安は小さければ小さいほど精神衛生上良い。新卒で入った会社は部長・課長がいて、なんとなく自分が上手く出世すれば、20年後、30年後に(時代は変わりつつ)こんな地位になるんだろうという見通しがついた。

周りの動いているiOSエンジニアを見ていても、進路は人それぞれという感じがして、自分とは違いすぎる。

iOS開発に限らずだけど、プログラミング自体がコモディティ化して久しく、昨今は生成AIの発展でプログラマーが要らなくなるという話もある。俺は生成AIに対してそんなに心配していないけども、そう言われるのも仕方ないだろうと思う。

2019年にキャリアチェンジしたときは、iOS/Android/Webフロント/Webバックエンド全部舐めて、自分一人ですごいサービスつくれるようなフルスタックエンジニア像をイメージしていたが、実際のところ専門性はiOS開発にあり、AndroidもWebフロントもちょっとだけ触れたけど、深いところまで行っていない。あとフルスタックであるということは、各ジャンルに対する理解度はどうしても浅くなるという現実も知った。たとえば「N年前にiOS開発やってましたよ」という人と話しても、その人の知識はかなり古びていて、正直使い物にならなくなっていることが多い。たとえば俺が今後Web開発を主戦場にして、何年か要してキャッチアップした頃には、自分の持っていたiOS開発の知識も同じように使い物にならなくなっているだろう。それはそういうものであるように思う。

越境に対する興味はあるが、メシの種としてやるのはiOSメインだろうというのは変わらない。「技術者としての成長を考えたら他のジャンルもやった方がいいのでは?」という考えもあるかとは思うけど、難しいのは、俺のiOS開発スキルもまだ自分の要求しているところまで行っていないという現実がある。

iOS開発をさらに深めていく、というのは前提だが、2024年ふりかえったときにこのまま続けて行っても何も変わらんなという確信もあった。一般論として、何かをはじめて3年というのは、普通にやっていればぐんぐん伸びていくが、そこから先の上昇というのは、普通にやっていると上昇というよりは状態のキープになっていく。プロ野球選手のベテランスターだったらキープになっていいんだけど、大半の人間はそうではない。

エンジニアのキャリアは、大きく二つにわけられる。マネージャーかテックリードか。各社で呼び方は異なってると思うけど、要するに何らかのマネジメントをするか、技術で尖るかのどちらかを選択することになる。

会社に所属するか、フリーランスかもあるけど、俺は全然フリーランス願望がないので、基本的には会社に所属のイメージで話を続ける。

あと日本で働くか、海外で働くか。特に米国。ソフトウェア開発の本場は米国西海岸なので、野球選手のメジャーに挑戦したい願望に近い感覚で、働いてみたさはある。ただそうなった場合、大幅に人生プランを考え直すことにはなる。マネージャーかテックリードかみたいな話も全然変わるだろう。

アイルランドのGoogle支社で働いてる日本人のnoteをこの前読んだんだけども、技術者としての成長は詰んでるけども、サラリーが4,000万/年もらえるから、辞めるに辞めれないという内容で、ちょっと考えさせられてしまった。昔だったらうらやましかったのかもしれないが……

そして会社内の出世を目指すのであれば、iOSエンジニアという職業というのはあまり良くない気がする。CTOなどの役職になっているエンジニアってだいたいバックエンド出身なように思う。これは明確があって、フロントやってる人間はどうしてもCS的な知識が弱いところがあって、ちゃんと理解している感が弱いんだと思う。ただその辺は人によりけりで、出世してマネージャーの肩書きついた人は「元アプリエンジニア」という出方をしない、という事情もある気がする。

軸を整理する

今後のキャリアを考えたとき、いつも悩んでいることが四軸ほどに整理できた。

  1. プロダクトの性質
  2. 待遇
  3. マネジメント or テックリード
  4. 日本 or 海外

あと「同僚がイキイキしてるか」とか「世の中への影響度」とかも細々あるかもしれない。

現職は相当恵まれていて、特に一番目の軸が満たされている。もっとどうでもいいプロダクトだったら、フットワーク軽く離れられたのだろうけども。自己実現的なところは重視したいと思いつつ、2021年のときほど強固ではない。クリエイティブ業界にはいたいと思いつつ、クリエイティブなことで金稼ぐ難しさも改めてわかってきたので、もっと稼ぎたいという気持ちと本当に価値があると思う創作一般への忠誠心の天秤は限りなく水平に近づいている。

待遇あげるも、たとえば外資コンサル行くとかすれば上げられるんだけど、それは明確に悪手というのがわかっているので、やろうとは思わない。

生涯テックリードで尖っていく、みたいな想像はあまりできないので、どっかでプレイングマネージャー的なシフトをしないといけないのだろうが、理想はもう数年はピープルマネジメントなしでコード書かせてもらえるとありがたいと思っている。マネジメントタスクやるのは別にいいけども、開発から離れたくない。

海外について。2010年頃のブログで良くあった、日本のすごく情報発信活発だったエンジニアがGoogleなどに拾われて、「英語は全然できないですががんばります!」みたいな感じで渡米するのをいつか自分でもみたいに思ってたけど、昨今の情勢だとまずムリということがわかった。米系ビッグテックがレイオフしまくっているというニュースは知っていたが、この前聞いた話だと、今海外でエンジニア職を求めている人はワーホリ使って現地行って、そこで求職活動して、ポディションが得られなかったら帰国というなかなかにサバイバルな状況になっているようだ。

本気で将来的に海外で働きたいなら、たとえば英語を公用化している日本企業入っておいて、数年後風向きが変わったら改めて職探しという戦略もアリだろう。が、そこまでめちゃくちゃ海外志向かというとそうではないので、悩んでいる。

英語を伸ばした方がいいのは事実だから、ちょこちょこ英語の勉強はしてるけども、たとえばアメリカで人生終えたいかと言われると、日本の方が環境いいと思ってしまう。俺が日本生まれ日本人という有利さもあるだろう。もしアメリカで生活するんであれば、それこそメジャーリーガーレベルで稼いでやっとという感じがする。

今後のアクション候補

色々書いたが、結局のところ、明確にこの道を進んだら正解というものはないように思える。

一応、アクション候補は以下になると思う。上からたぶん選ぶだろうなってアクション

  • 現職でプレイングマネージャーっぽいことする
  • 現職で技術的深掘りをする
    • これはプレイングマネージャーっぽいことと並列でできるかも
  • 転職して新たな環境
    • ただ上であげた四軸を満たす環境はなさそう
  • 副業やって他社の環境を知る
    • 副業試すこと自体はいいけど、そんな時間あんのかな
  • フリーランス化
  • 会社辞めて何か別のことする

iOS開発より面白いことが見つかったら、全然違うことするのものいいけど、現状はiOS開発かな。AppleがTwitterみたいになったときがどうメンタル保てばいいのかわからない。Googleですらちょっとキツいもんな最近。明確に自社や自分の技術領域がevilと化したときに、離れられる人間ではありたい。

終わりに

思ったよりあんまり書くことなかったな。

つらつら考えてはみたものの、停滞感が打破できるかは疑問。とりあえず現状はこう考えてますというところで。

(了)