こんばんは!ヒカリです。
Webエンジニアを目指してプログラミングを勉強している初心者の方向けに情報を発信しています。
今流行の仮想通貨を自動売買してみました!
リモートワークでおすすめのグッズ紹介してみました!
今回はこのような質問をいただきました。
バックエンドエンジニアの将来性が低いって本当…?
バックエンドエンジニアを目指して頑張ってきたのに…
実際にWebエンジニアを経験していない人ほど将来性が低いだの何だの騒いでる気がします(笑)
私は肩書き的にはバックエンド(サーバーサイド)エンジニアです。
バックエンドエンジニア視点でこちらの内容への意見を述べたいと思います!
バックエンドエンジニアの将来性は低くない!
バックエンドエンジニアの私としては
バックエンドエンジニアの将来性は決して低くない!
と主張したいです。
その理由について解説していきます。
バックエンドエンジニアの仕事は様々だから!
突然ですが、バックエンドエンジニアとはどのようなエンジニアなのか思い浮かべてみてください。
データベースとのやり取りをするところを開発するエンジニア…?
バックエンドエンジニアってイメージしにくいですよね。
逆にフロントエンドエンジニアはわかりやすいです。
Webページのデザイン部分を制作しているエンジニアです。
ではなぜ、バックエンドエンジニアはイメージしにくいのでしょうか?
なぜなら様々なことを行っているからです。
バックエンドエンジニアって何やってる?
バックエンドエンジニアはWeb、アプリ、データ解析など様々な場面で活躍しています。
言ってしまえば、Web開発においてフロントエンド以外はすべてバックエンドです。
サーバー構築などはインフラエンジニアが担当することもありますが、大きくまとめてしまえばインフラもバックエンドですからね。
担当する部分が多いからイメージしにくいのです。
規模が大きいほどバックエンドエンジニアは必要!
フロントエンドだけで完結するようなウェブサイトやアプリはかなり小規模なものです。
中規模から大規模になれば、必ずバックエンドエンジニアは必要です。
バックエンドエンジニアが不要な開発など、ほとんど存在しないのです。
そのため、バックエンドエンジニアが不要になることはありません。
つまり、将来性は低くはないのです。
アプリが普及しているから!
実はアプリ開発でもバックエンドエンジニアは非常に重要な役割を担っています。
アプリ開発なんだからアプリエンジニアだけでいいんじゃないの?
このように考えている人は非常に多いです。
実は開発が大規模になればなるほど、アプリそのものはシンプルになっていきます。
つまり、アプリはサーバー(API)から返されたデータを表示しているだけなのです。
データの管理や複雑な処理はすべてサーバーサイドで吸収します。
複雑な処理はすべてサーバーサイドで吸収する理由
新しいアプリ(修正したアプリ)を公開するには審査申請という手順が必要です。
AppleやGoogleの審査に通ったアプリしか公開できません。
また、審査には時間がかかり、1週間程度かかることもあります。
この影響で修正をすぐに反映することはできないため、アプリ側に処理を持たせないようにします。
そのため、すべての処理をサーバーサイドで行います。
アプリと呼んでいるが処理はほとんどバックエンド!
つまり、アプリ全体の開発においてデータの管理を行ったり、複雑なシステムを開発したりしているのはすべてバックエンドエンジニアなのです。
規模が大きくなればなるほど、バックエンドエンジニアが必要とされるのもわかりますね。
実際、私の会社ではバックエンドエンジニアが一番多いです。
今の時代、スマートフォンを持っていない人なんてほとんどいないですよね。
ほとんどの人がスマートフォンでアプリを使っています。
数年後にバックエンドエンジニアは必要なくなるとか言う人もいますが、そんなアプリが数年で廃れるとは考えられません。
ましてやこの業界でトップを走っているのは、あのAppleとGoogleですからね。
アプリが存在する限り、バックエンドエンジニアは安泰です。
ここであえてアプリエンジニアに注目してみましょう!
正直、アプリエンジニアはスマートフォンの時代が終わったら仕事がなくなります。
その点を考慮するとバックエンドエンジニアより将来性は低いかなと思います。
ただ、アプリエンジニアは需要が高く、単価も非常に高いので目指す価値は十分ありますね!
バックエンドエンジニアは縁の下の力持ち!
バックエンドの役割は目には見えません。
そのため、フロントエンドに比べて目立ちにくいです。
ユーザーからすると、バックエンドなんてどうでも良いです(笑)
UI(フロントエンド)が使いやすくて、バグがなければ良いのです。
例えば、あなたのよく利用しているアプリを想像してみてください。
- LINE
- Slack
- Spotify
いろいろありますよね。
よく考えてみると、これらのアプリのメイン機能ってすべてバックエンドの機能ではないですか?
バックエンドエンジニアの活躍は見えていないだけ!
バックエンドは不要なのではなく、ユーザーからは見えていないだけです。
つまり、バックエンドエンジニアの必要性はユーザには見えていないだけです。
- 情報を入力したら登録される
- 自分の欲しい情報が表示される
- 新しい情報があったら通知してくれる
これらはユーザーからしたら当たり前のことです。
バックエンドでどんなに複雑な処理をしようとも、結果が同じであればユーザはそれで良いのです。
そして、その結果を表示するのはフロントエンドです。
当然、ユーザーにはバックエンドの活躍は見えないですよね。
でもこれは仕方ないことです。
見た目にとらわれてしまうのは当然です。
ですが、覚えておいてください。
アプリでもWebでも、見えないところで頑張っているのはバックエンドエンジニアです。
バックエンドエンジニアが活躍しているからこそ、サービスとして提供できるのです。
古い技術を捨てるのは難しい!
今度は別の視点から見てみましょう。
バックエンドエンジニアの未来にばかり焦点を当ててきましたが、過去も見てみましょう。
AWSやFirebaseがなかった時代の多くのサービスは今もなお動いています。
サービスは公開したら終わりなのではなく、保守していく必要があります。
これらを保守するのはバックエンドエンジニアなのです。
保守がある限り古い技術は捨てられない
サービスを保守していく以上、そのサービスで使用している技術(今となっては古い技術)を扱える必要があります。
もしバックエンドエンジニアがいなくなったらどうなるか…保守ができなくなってしまいます。
技術が古いことで保守ができないのであれば残された道は次の二択かなと思います。
- 保守できる最新技術で常に作り直し続ける
- サービス自体を切り捨てる
でも、そんなことできないですよね。
たしかに
- AWS
- GCP
- Firebase
- Docker
と言ったものは非常に便利です。
多くの場面で利用するべきだと思います。
ただ、これらはあくまでバックエンドエンジニア(インフラエンジニア)のツールでしかありません。
適材適所という言葉があるように、すべてのサービスやシステムにおいて使うものではありません。
ときには古い技術も必要なのです。
銀行が未だに20年前のシステムを使っているのは有名な話ですよね。
これと同じように古い技術を使って保守することも大切なのです。
つまり、新しい技術が発展してきたからと言って古い技術がなくなるということではないということです。
これらを保守できるのはベテランのバックエンドエンジニアだけです。
まとめ
バックエンドエンジニアの将来性は決して低くはありません。
なぜなら、アプリはまだまだ普及しつつあり、今までのサービスも保守する必要もあるからです。
実際にアプリ開発の案件は年々増えていっています。
それに、たった数年で誰もスマートフォンを使用していない世界なんて考えられないですよね。
アプリがある限り、バックエンドエンジニアは必要です。
将来性が低いと主張する人もいますが、バックエンドエンジニアの現状を知らないだけです。
バックエンドエンジニアはフロントエンドエンジニアに比べて目立ちにくいので仕方ないのかなと思いますが…。
つまり、バックエンドエンジニアの1人として主張したいのは
バックエンドエンジニアの将来性は全然低くないので安心してください!
ということです!
バックエンドエンジニアも楽しいですよ。
あなたが将来、バックエンドエンジニアとして活躍することを楽しみにしています!