1. ゆるITエンジニア道場
  2. #10 「フルスタックエンジニ..
2025-06-14 17:32

#10 「フルスタックエンジニア」をいつまで経っても名乗れない話

「フルスタックエンジニア」

それはスーパーマンの称号か、それとも単なる「器用貧乏」の言い訳か。こんにちは、そんな曖昧な言葉と日々向き合っている、エンジニアのひびのです。

先日 riddle さんが漏らした「フルスタックって言葉、自分では名乗りづらくない?」の一言。それは、多くの技術者が心のどこかで感じている疑問の核心でした。

もう「よくわからないけどスゴい人」で終わらせるのは、やめにしませんか。このポッドキャストをきっかけに、「真のフルスタックエンジニアとは何者か」を、皆さんと一緒に探求していきたいと思います。

サマリー

フルスタックエンジニアの定義やその難しさについて話し合われています。特定の分野に専門性を持つ人々がいる中で、フルスタックエンジニアと名乗ることへの躊躇や、最新の技術トレンドに追いつく難しさが語られています。フルスタックエンジニアとしてのスキルを追求する中で、専門性を持ちながらも隣接分野に対する理解を深める重要性が述べられています。特にSNSの影響や競争の厳しさが描かれ、キャリアに対する不安も感じられます。

フルスタックエンジニアの定義
こんにちは、riddleです。 こんにちは、ひびのです。今日のお題は、フルスタックエンジニアをいつまで経っても名乗れない話です。
フルスタックエンジニア、名乗れないんですか? 名乗れないんですよ。
なぜですか? そもそもひびのさんがフルスタックエンジニア言ってもらっていいですか?
フルスタックエンジニア、いざ出すとなると難しいな。
例えば、ウェブプロダクトの開発の文脈においては、フロントエンド、サーバーサイド、インフラ、一通り開発に携われる。
これから、でも一言で言うとそれじゃないですかね。 モバイルはどうですか?
モバイルは難しいですね。弊社においてはモバイルって結構、モバイル専門のエンジニアの人が触ってますよね、まず。
あと、IOS、Android、それぞれのネイティブの開発って結構それぞれに習熟してないと。
例えば、サーバーエンジニアが片手間にやれる領域じゃなさそうっていうのは何となく感じますよね。
そうですね。それぞれ全然違う概念で動いてるというか、ライフサイクルだったりも違いますし、使うツールも違うし、言語も違うし。
分かります。今、僕はFlutterをメインで部署で触っているんですけど、やっぱりFlutterで開発を進めているとIOS、Androidのこと自分全然分かってないなみたいなことを思うタイミングは多々ありますね。
うんうん。やっぱそうなりますよね。
じゃあその前提に行くと、氷宇野さんはフルスタックエンジニアですか?
うん。自分はフルスタックエンジニアだと思っています。サーバー、Webフロントエンド、インフラ一通り触った経験があるし、どちらかというとそれぞれの技術スタックをまんべんなく触ってチームに貢献するのが自分は好きだなと思っているので。
じゃあ、どっかの求人票にフルスタックエンジニア募集みたいなこと書いてあったら、まあ躊躇せずに申し込めるかなみたいな感じですかね。
あーそうですね。例えば求人の中でもシニア、ミドル、ジュニアみたいな区分けがあったら別ですけど、基本的に自分はフルスタックエンジニアに申し込めるかなと思っています。
おーいいですね。
ただフルスタックエンジニアって、例えばXを見ているとネガティブな文脈で語られることも多いですよね。
例えば?
例えば、どの分野にも精通できていないとか。
あー、器用貧乏みたいな話ですか。
はいはいはい、そうですそうです。
確かにそういうことを言われることもあったりとかするシーンはありますよね、どうしても。
なんかそんな中で自分がフルスタックエンジニアって定義しているものが結構広くて深くて、さっきの氷室さんで言うとウェブの開発に閉じていたと思うんですけれども、
自分の場合だとモバイル開発しかり、SREしかり、セキュリティしかり、あとはブロックチェーンとかIoTとか、MLとかデータ基盤とか、ITのプロダクトを作るときに必要になる色んな職種があるじゃないですか。
ブロックチェーンが必要になることは限定的だとは思います。
確かにそうですね。って考えると、それらをすごく深くなくてもいいから、ある程度語れて、その分野のエキスパートと一緒に仕事ができた上でうまくプロダクト開発を推進できるみたいなところがフルスタックエンジニアの理想像なのかなって個人的には勝手に思ってるんですね。
理想像で言えば確かに自分も同感です。
そうなると自分の今のスキルと理想のフルスタックエンジニアのギャップがすごすぎて、別にある程度できるけど、例えばリアクトですごい性能問題が出たときにそれをトラブルシューティングエキスパートで一緒にできるかって言われると、別にそんなにレンダリングについて詳しくないしな。
ブラウザの挙動を知らんしなとか、最新のブラウザ、ChromeとOperaとFirefoxのCSSの対応状況を追ってるわけでもないしなみたいな話になりますし、さっきのモバイルの話で言えばAppleとAndroidのいろんなアップデートがあったりとか、最近もiOSの26が出てこういうアップデートがありましたよみたいなのを恥についてウォッチしたりするわけでもないので、
なんかちょっと自分の中では追いつけてないなっていう気持ちが結構あるんですよね。
逆にリドルさんの周りでフルスタックエンジニアだなっていう人いますか?というのも今の基準に当てはめるとだいぶハードルが高いなと思って。
いないです。見たことないです。
ここまでハードルが上がると自分もフルスタックエンジニア名乗れないですね。
ただの企業貧乏になってしまいます。
自分の悪い癖かもしれないんですけど、みんな周りに特定の分野とか複数の分野ですごい人がいるってなった時に、自分はその人たちを合わせたキメラみたいなものを作るんですよ。
バックエンドが強いAさんとフロントエンドが強いBさんとモバイルの強いCさんのいいとこ取りをしたキメラXさんみたいなのを作って、
このキメラXさんをフルスタックエンジニアとして定義すると、
ディフトルと自分の違いみたいなのが結構わかるじゃないですか。
周りにレベルの高い人がたくさんいると自分の中での基準も上がってきてしまいますよね。
そうなんですよ。だからいつまで経ってもフルスタックエンジニア名乗れなくて、
その基準で見ちゃうとフルスタックエンジニアって名乗ってる人のレベル感ってどんなもんなんじゃいってちょっとだけ思うこともありますよね。
技術の進化と情報のキャッチアップ
何も言わないですけど。
フルスタックエンジニアを名乗っている人。
何だろう、さっき自分がXではネガティブな文脈で語られることも多いみたいな話をしたじゃないですか。
何というか、いわゆるフォーマルな場、それこそ求人に応募するときにフルスタックエンジニアって自分では言わないだろうなという感覚があります。
同僚と話すときとか、もう少しカジュアルな文脈。
フルスタック、何をフルにスタックしてるんですかね。
スタックの幅の広さも気になりますよね。
ウェブ開発においてバックエンドとフロントができて、あと最低限のインフラができて動きますってなったときに、
でもそれを運用するためのSRE的な知見とかセキュリティ的な知見みたいなのは絶対必要だと思うんですけど。
ここは含まれるんですかね。
個人的なイメージでは、ベストプラクティスを知っていれば、よっぽど運用で困る場面は少ないんじゃないかなと思っています。
ある程度の規模以上になると、そもそもフルスタックってポジションがなくなるように、規模でかくなると絶対困るんじゃないかなと思っていて。
それはありそう。サービスの規模が大きくなるとそれぞれの専門家が必要になるはありそうですね。
なのでサービスの規模が大きくなっても、ある程度どのチームにも顔を出せるぐらいの経験やスキルを有しておきたいみたいなのが根底にあるか。ないですか?
いや、わかりますよ。確かにこれまで、例えば会社の中で10年くらい動いているサービスを運営しているチームにいたことがあるんですけど、
そこで僕が思い描くこの人はフルスタックに近いなとか、技術的なことは何でも対応できるなみたいな人はサービスの立ち上げ当初からいて、
フルスタックだったところからさらに今専門性を生かしてそのチームで生き残っているみたいな人が多いですね。
確かにそういう人も多いですよね。
Miteneでもスクラム開発を採用しているんですけど、各おのおの得意な技術スタックはありつつも、
そのタスクによっては、例えばAndroid開発だったり、iOSの開発だったりというのがバラバラにあって、
モブプロだったりペアプロを通じて、やったことないときにはやっていこうみたいな感じのムーブが結構多いですよね。
そうなると自分の場合でも開発が入ったときはネイティブの開発ってやったことなかったんで、
そこをちょっとやらせてもらったりとかで、なんとなくなんちゃってぐらいの領域には至ったんですけど、
やっぱりそこをさらに追求していくとなると、結構時間もかかるし、
あと誰でもできるレベルに割り振られたタスクって、あんまりやったところである程度以上のレベルになりづらいというか、
もう少し大掛かりのアーキファクタリングだったり、技術も最適化というか、
新しいアーキテクチャの検討とか、技術難易度がある程度高いことやらないと一定以上に上がれないけど、
それはやりづらいってなると、なかなか進化しづらいんですよね。
一方でスクラム開発の中で、自分がこれまで持っていなかった新しい技術に手を出し始めて、
そこから大きい試作開発だったり、リファクタリングに手を広げるみたいな特化借りにはしやすいですよね。
そうですね。
でもとはいえ、仮にそこでiOSもAndroidもめちゃくちゃ詳しくなって、
もともと持っているスキルと合わせると、だいぶ広い範囲に出るようになりましたってなった後に、
例えばその後ずっと5年、10年、全分野に最新情報をキャッチアップし続けられるのかというと、
無理な気がしてきましたね。
そうですね。全ての情報をキャッチアップし続けるのは、一人の人間の手ではスピードが足りない。
ブロックチェーンとかIoTの最新技術も追ってないですね。
僕も追ってないですね。
昔仕事で扱っていたことはあるが、いまだにEthereumのERC20とかその辺りの時期で止まっていますよ。
本当にEthereumとかビットコインを見るときは価格しか見ないですからね。
完全に投資対象になってしまってますね。
あとセキュリティとかも本当に自分に関係あるピンポイントのものだけ見るぐらいで、
本当に最近の公益手法なんとかみたいなやつとか、全然見なくなっちゃいましたね。
そうですね。
エキスパートの影響と自己評価
そういう意味ではMixyみたいな大きい会社だとセキュリティ専門のセキュリティ室の人たちがいて、
そういう人たちが、例えば僕らが運用しているサービスに影響のある脆弱性とかは積極的に発信してくれるから、そこは助かりますよね。
そうですね。確かにスラックのコミュニティでセキュリティとかIOSみたいなの入っておくと、
自分で追わなくても役に立ちそうな情報をだいぶ流してくれるから、
流しみ程度でなんとなく詳しくなった気で入れられるから、その辺は結構助かってますよね。
確かに。そうなんですよね。ただ一方でセキュリティ室のチャンネルとかIOS専門チャンネルとかで、
発信している人のレベルに到達できるビジョンがあまり湧かないというか。
発信している人はエキスパートだから、そこまで行かなくてもいいんですけど、
そのエキスパートが発信している内容を理解できて、自分のプロダクトとか業界にどういう影響がありそうなのかみたいなところが
類推できるレベルまで自分のスキルを維持しておきたい。
そうですね。理想的には自分の一つ尖った専門領域があって、
そこに関係する隣接分野の話が幅広く理解できるくらいが理想的フルスタックなのかなと今思いました。
確かに。尖ったところを1個2個とは言わず、5個くらいもっと置きたいですけどね。
そうですね。5個あれば食い物に困らないですもんね。
そうですね。なので今後どうやって生きるかみたいな話にもなっちゃいますけども、
今自分の場合はインフラとかSREとかバックエンドみたいな領域を軸として、
隣接領域のセキュリティとかIoTとか、あとフロントエンドモバイルみたいなことをちょっとずつやっていったので、
ちょっとずつやっていったところを忘れないようにケアしつつも、得意分野をもっと深めるみたいな戦い方でいこうかなと思ってるんですけど、
やっぱりフルスタックエンジニアは名乗れる気がしない。
リドルさんの基準はやっぱり高いですもんね。
やっぱりSNSが良くないですね。SNSを見ると自分が得意だと思ってた分野でもさらに得意な人がいくらでもいるから、
いつもそれ見てチャットGPTにSNSですごい人がいて、全然自信つかないんだけどどうすればいいですかみたいな。
悪い影響を受けている。
ちゃんと人は人、良さは良さだよとか、その人と自分は置かれている環境が違うから、自分ができることをちゃんと見つめ直してみるといいよってAIに教えてもらってます。
フルスタックエンジニアとしての道
いや、分かります。ただ一方で、もちろんその分野で世界一の人たちがいる環境と自分の環境は違うというのも分かるんですが、
ただ一方で、例えば今後のキャリアを考えた時にそういう人たちと戦わなきゃいけない場面が出てくるとか考えると焦燥すっかりいかれますよね。
そうですね。大会とかになると話はまた別ですけど、プロジェクト開発とかサービス開発は所詮一人ができることなんてたかが知れてるから、
スキルの拡散とチームの能力の足す算と状況で全然挽回できるから、都競争みたいな感じじゃないっていうのは結構ラッキーですね。
そうですね。
本当はISCONとかCTFとかアットコーダーみたいなアルゴリズムの大会とかいろいろ参加しましたけど、
ヤバいよ、本当にヤバいって一生追いつける気しないから。
ちょっとできる人も含めてですけど、全然追いつけないから。
アットコーダーとか超プロ系のところは本当にその分野を極めてる感じしますよね。
ISCONだとウェブプロダクトを全般の技術的な知識が要求されるのかな?
でもこの前ISCONに参加したんですけど、バックエンドとかインフラをメインにしてるエンジニア3人で出て、29位とか30位あったんですよ、設置をされて。
でも1位が学生なんですよ。しかも一人でやってるんですよ、3人うちはやってるのに。一人で1位取ってるんですよ。
すごいですね。一人だったとしても最初に与えられるコードベースリポジトリは変わらず、それをいかに改善できたかでスコアが決まるんですもんね。
そうです。条件も全然変わらないので、単純に動かすというか3分の1になってる。
凄まじいな。ちなみにISCONって今あれですか、コーディングエージェントみたいなものって使っていいんですか?
自分が参加した時は特に何の制限もなかったですね。
そうなんですね。もしかしたら一人がすごく尖っていれば、今後戦いやすくなるかもしれないですね。
そうですね。ただちょっと難しいのがISCONの場合は何か改善した後にISCON側で用意してくれてるベンチマークのツールを叩いて、それでポイントに繋がるんですけど、そこはシーケンシャルでしか動かないんですよ。
なので複数の改善を一気に入れると何が効いたのか分かんないんですよね。
そうすると1個の改善やってベンチマーク取って、で次の改善に生かすっていうサイクルを良しとされてやっている人が多いので、
なかなかAIエージェントを例えば10並列動かして一気に10個のプリリク作ってみたいな感じにしても遅くなるかもしれないし変わんないかもしれないって感じになるので、
なかなかそれだけだとうまくいかないかなっていうのも今の予想ではありますね。
なるほど、フルスタックからだいぶ脱線していることにきてきました。
そうです。なのでフルスタックはずっと追い求め続けて、引退の時に培ったスキルが自分にとってフルスタックに該当できてるかどうかみたいなのを考えるぐらいの長い道のりになりそうだなと思ってますね。
長い道のりになりそうですね。僕らが引退する頃にはスタックの幅がさらに広がってそうですもんね。
なのでちょっと私にもしオファーを送ってくださる方がいらっしゃいましたらですね、フルスタックエンジニア枠ではですね、求人票を送ってこないでいただきたくて、
本当に毎回見るたびに無理だと思っちゃうので、ジュニアレベルだったとしても。
持ってる人いるんじゃないかな。いやもしかしたらそんな多くないかもしれないですけど、フルスタックエンジニア間近みたいな感じで持ってしまうので、
フロントエンドプラスバックエンド両方できる方とか、そういう感じで書いていただけるともうちょっと入ってきやすいので、ぜひよろしくお願いします。
タイトルはフルスタックでもいいが、それぞれ求められることをしっかり書いておいてほしいですね。
そんな感じでありがとうございました。
ありがとうございました。
17:32

コメント

スクロール