Iruca Log

Iruca Log

東京に住むWeb系エンジニアによる技術&雑記ブログ

SNSでフォローする!

サーバサイドエンジニアの憂鬱 - キッチンとホールのどちらで働くか

f:id:iruca21:20170728011105p:plain

はじめに

こんにちは、irucaです。
普段は東京でシステムエンジニアをしています。

皆さんは居酒屋で働くとしたら、ホールとキッチンどちらで働きます?

今日はエンジニアにとってのそんな話を書いてみました。


2種類のシステムエンジニア

エンジニアの1日はたいてい多忙です。私も都内で総合職で働いていますがなかなか多忙です。
たとえば昨日は、年末のシステム更新に向けて自分でプログラムを書きつつ、派遣社員の書いたコードをレビューし、サーバ運用チームとシステム更新をもっと高速に行うにはどうすればよいかの話し合いに参加し、先週セキュリティチームに指摘されたシステムの脆弱性について調査し、後輩にノウハウを伝えるためのドキュメントを書いたりしていました。
そんなこんなで22時を回っていたのでそろそろ帰るかと切り上げ、帰り道のマクドナルドでアイスコーヒーを飲んで一息つきながらブログ記事を書いたりしています。


そんなシステムエンジニア、特にWeb系には、実は大きく分けて2種類のエンジニアがいます。

  • クライアントサイド(フロント)エンジニア

  • サーバサイド(バックエンド)エンジニア


です。
私はサーバサイド(バックエンド)エンジニアの方。


クライアントサイドとサーバサイドの仕事の違い

これら2種類はどういった仕事の違いがあるのでしょうか。
ざっくりというと、システムを使ってくれるユーザの目に見える部分に近い機能を作るのがクライアントサイド、ユーザから画面越しに受け取ったデータをもとに、裏で処理やデータ保存をするのがサーバサイドの仕事です。


ホテル予約を行うシステムをもとに考えてみましょう。

Webサイトやスマホアプリから、泊まりたい日時、人数、値段などを入力して検索ボタンを押すと、画像付きでキレイなホテル一覧を見ることができます。
気に入ったホテルをクリックし、個人情報を入力して、現れた予約ボタンをポチッと押すと予約完了。
あとはお金を払い込み、当日ホテルに行けばOKです。


このようなシステムにおいて、おシャレなWebサイトのトップページを作ったり、ユーザが日時を選択しやすいようにカレンダー画面を作ったり、ユーザが押しやすい位置にボタンを配置したりといった設計・開発を行うのがクライアントサイドエンジニアの仕事です。


え、他に何かあるの?

と言われがちな残りの仕事がサーバサイドエンジニアの仕事です。
ホテルの画像データや個人情報をデータベースに保存したり、アクセスが集中してもシステムがダウンしないようにサーバやネットワークを保守したり、大量のホテル情報から検索条件に合致するホテルを10件ずつ画面に出してあげる機能を作ったり。


もっと分かりやすいように、私が今居るマクドナルドに例えてみるとどうなるでしょう。


カウンターでお客さんに笑顔を振りまいて商品を手渡したり、レジを打ったりするのがクライアントサイドエンジニア。

裏のキッチンでひたすらポテトを揚げ、バンズに肉を詰め込み、定期的に座席やトイレを掃除したりしているのがサーバサイドエンジニアです。


サーバサイドエンジニアの憂鬱

ここまで来たら何となく私の言いたいことが分かってきたかもしれません。

そう、サーバサイドエンジニアは地味なのです…!

別名「バックエンド」エンジニアというくらい、裏方のエンジニア。


居酒屋で言うとキッチンでひたすら魚を三枚におろしている人。

市役所で言うと、受付の人間が通した書類を受け取ってひたすら処理している人。

コンサートで言うと、舞台裏でせっせと設備や音響を整えたりしている人。


もちろんそういう仕事の大切さは分かっているつもりですし、縁の下の力持ちで居ることは悪くない。
でも、これがたまに悲しいわけです。


出来上がったシステムを人に見せても、

「君が作ったのはどの部分?」と言われて、

「このボタンを押したときに裏で動いている部分でして…」

とか言ったりします。


エンジニアの「華やかさ」

テレビで取り上げられるソフトウェアエンジニアは、派手なプログラムを書いている人が多いです。
テレビ映えしなければいけないので当たり前ですが。

プロジェクションマッピングによって壁に鮮やかな画像を映し出すプログラム。
サウンドと連動して光り輝いていたりします。


こういうプログラムを書く仕事は楽しいだろうなあなんてうらやましく思ったりもするわけです。


サーバサイド(バックエンド)の醍醐味

しかし裏方の仕事もつまらないわけではありません。
システムの性能を左右するのはバックエンドエンジニアの力も大きいですし、これまで不可能だったことをテクノロジーで実現するのもバックエンドからだったりします。

ホテル予約サイトの例で言うと、機械学習でユーザに最適なホテルを推薦するなんていうのもバックエンドの力。

趣味でフロントエンド開発の勉強をしながら、バックエンドとしてエキスパートを目指すのもかっこいいですね。


まとめ

普段あまりエンジニアと関わらない方も、なんとなくエンジニアの仕事が分かったでしょうか?


もしあなたが女性で、合コンでシステムエンジニアに出会ったら、

「フロントエンドですか?バックエンドですか?」

と聞いてみましょう。すぐに飛びついてくるはずです。多分。

「バックエンドですね」

と答えられたら

「かっこいい~~~縁の下の力持ちですね~」

とか言ってあげるとモテます。多分。