「エンジニアって何を作ってる?」目に見える/見えない開発の世界

「アプリを作る」と一言でいっても、その中身は意外と知られていません。同じアプリでも、目に見える部分と、見えない裏側とでは、作る人も、使う技術もまったく違います。
この記事では、アプリ開発の中身を「見える側」と「見えない側」に分けて、図とともに解説します。読み終わるころには、「開発する」という言葉の具体的なイメージがつかめているはずです。

- 1. アプリは「氷山」のような構造をしている
- 2. 見える側|フロントエンドの世界
- 3. 見えない側①|バックエンドの世界
- 4. 見えない側②|インフラ・データベースの世界
- 5. フリマアプリで「商品を出品する」操作の0.5秒間で何が起きているか
- 6. 自分が興味があるのはどこ?
- 7. まとめ
\ITエンジニア特化の就活支援サービス/
\ITエンジニア特化の就活支援サービス/
1. アプリは「氷山」のような構造をしている
アプリは、「ユーザーが見ている画面」と「見えない裏側」という、2つの層でできています。これは、氷山に少し似ています。
氷山は、海の上に出ている部分はほんの一角で、海の下に大きな塊が隠れています。アプリも同じで、私たちが目にする画面は全体のごく一部です。その下に、目に見えない大量の仕組みがあります。

たとえばフリマアプリでいうと、商品の一覧画面や出品画面が「見える側」です。一方、商品のデータを保管したり、検索したり、お金のやりとりを処理したりする部分は「見えない側」にあたります。
システムやアプリの開発では、見える側を「フロントエンド」、見えない側を「バックエンド」と「インフラ・データベース」と呼びます。それぞれの世界で、使う技術も、考えることも、必要な力も大きく違うため、一つずつ確認していきましょう。
\ITエンジニア特化の就活支援サービス/
\ITエンジニア特化の就活支援サービス/
2. 見える側|フロントエンドの世界

■ 役割
フロントエンドは、ユーザーが直接目にする画面を、まるごと作る世界です。「フロントエンド」は、ユーザーから見て「手前側(画面など直接ふれる部分)」を指します。利用者に近い「表側」を担当します。
たとえば、画面のレイアウトや、ボタンを押した瞬間の動き、画面の切り替わり、文字や画像の見せ方などです。たとえばフリマアプリでいえば、商品を検索したときの商品一覧の並べ方、写真の大きさ、下までスクロールすると次々に商品が出てくる仕組みなどが当てはまります。
■ 使う技術の例
フロントエンドでは、たとえば次のような技術やプログラミング言語を使います。
・HTML・CSS:画面の骨組みを作る言語(HTML)と、色や配置など見た目を整える言語(CSS)
・JavaScript・TypeScript:画面に動きをつけたり、データをやりとりしたりするためのプログラミング言語
・React・Vue・Next.js:画面づくりを効率よく進めるための道具のセット(ライブラリやフレームワークと呼ばれる)
■ 日々考えていること
フロントエンドのエンジニアは、使う人の気持ちになって、日々いろいろなことを考えています。迷わず操作できる画面になっているか、スマホでもパソコンでも見やすいか、画面の表示が速いか、エラーのときに分かりやすく伝えられているか、などです。
■ 向いている人
・自分が作ったものを「使ってもらえた」「喜んでもらえた」と感じられると嬉しい人
・友達や家族に「これ見て」と、作ったものを見せたくなる人
・メニューの順番や文字の大きさ、色の組み合わせなど、細かい違いに気づくのが得意な人
・「分かりやすく伝える」ことにこだわりがある人
\ITエンジニア特化の就活支援サービス/
\ITエンジニア特化の就活支援サービス/
3. 見えない側①|バックエンドの世界

■ 役割
バックエンドは、ユーザーには見えない場所で、データの処理や複雑な計算を担当する世界です。バックは「裏」という意味で、アプリの「頭脳」のような役割だと考えると分かりやすいでしょう。
たとえば、データを保存したり取り出したりする処理や、「商品が売れたら相手に通知する」といったルールの実行などです。ほかにも、フロントエンドとデータをやりとりする窓口づくりや、決済・メール配信といった外部サービスとのつなぎ込みも担当します。
たとえばフリマアプリで「出品する」ボタンを押すと、商品の情報を受け取り、保存し、商品一覧に表示できる形に整える、といった処理が裏側で動きます。これがバックエンドの仕事です。
■ 使う技術の例
バックエンドでは、たとえば次のような技術やプログラミング言語を使います。
・Python・Ruby・Go・Java:処理を作るためのプログラミング言語
・Ruby on Rails・Django・Spring Boot:開発を効率よく進めるための道具のセット(フレームワーク)
・API(エーピーアイ):プログラム同士がやりとりするための「窓口」と「約束事」。
■ 日々考えていること
バックエンドのエンジニアは、データをどう整理して持つか、大量の人が同時に使っても止まらないか、不正な利用を防げているか、複雑なルールを正しく作れているか、などを日々考えて開発を行っています。
■ 向いている人
・「なんでこうなるんだろう?」と、仕組みの中身を知りたくなる人
・パズルや謎解きが好きで、頭の中で組み立てるのが楽しい人
・表に出ない仕事でも、「自分が支えている」という実感を大事にできる人
・散らかった情報を整理して、ルールを見つけるのが得意な人
\ITエンジニア特化の就活支援サービス/
\ITエンジニア特化の就活支援サービス/
4. 見えない側②|インフラ・データベースの世界

■ 役割
インフラとデータベースは、アプリが動き続けるための「土台」を担当する世界です。建物でいう地面や基礎のような役割です。インフラは「基盤」、データベースは「データの保管庫」と捉えてください。
たとえば、アプリを動かすサーバー(プログラムを動かすコンピューター)の用意や運用が挙げられます。さらに、すべてのデータをためておくデータベースの管理や、通信のためのネットワークの整備も行います。トラブルが起きたときの対応や、不正アクセスを防ぐ対策も、大切な仕事です。
何百万人もの人が同時にアクセスしても、アプリは止まらずに動き続けます。それを裏で支えているのが、インフラのエンジニアです。
■ 使う技術の例
インフラ・データベースでは、たとえば次のような技術を使います。
・AWS・Google Cloud・Azure:インターネット越しにサーバーなどを借りられるサービス(クラウドと呼ばれる)
・PostgreSQL・MySQL・MongoDB:データをためて、取り出すためのデータベース
・Docker・Kubernetes・Linux:サーバーを効率よく動かし、管理するための道具
■ 日々考えていること
インフラに関わるエンジニアは、アプリやシステムが止まらずに動き続ける仕組みになっているか、システム運用に無駄な費用がかかっていないか、大量のデータを速く処理できるか、不正アクセスを防げているか、などを日々考えながら仕事をしています。
■ 未経験・プログラミングに自信がない人にもおすすめ
インフラの世界は、未経験でプログラミングに自信がない人にも、入口としておすすめです。なぜなら、フロントエンドやバックエンドと比べて、コードを書く比重が比較的軽めだからです。また、ネットワークやサーバーの基本的な考え方は、何十年も大きく変わっていません。一度しっかり覚えれば、長く使える知識になります。SIerやSESでは、未経験者がインフラの案件に配属されることも多く、最初の一歩としてのハードルも低めです。
■ 向いている人
・大きな仕組みが、止まらず動き続けることに価値を感じる人
・縁の下の力持ちのポジションが、性に合っている人
・コツコツと環境や仕組みを整えるのが好きな人
・問題が起きたときに、慌てず冷静に対処できる人
\ITエンジニア特化の就活支援サービス/
\ITエンジニア特化の就活支援サービス/
5. フリマアプリで「商品を出品する」操作の0.5秒間で何が起きているか
ここまで3つの世界を見てきました。ここで、それらがどう連携しているのかを、具体的な場面で見てみましょう。フリマアプリで「出品する」ボタンを押してから、出品完了の画面が出るまでの、わずか0.5秒ほどの裏側です(1ミリ秒は1000分の1秒です)。この一瞬の間に、情報は次のように行き来しています。

| 時間 | 起きていること |
| 0ミリ秒 | あなたが「出品する」ボタンを押す |
| 〜50ミリ秒 | フロントエンドが、入力した商品名や写真などの情報を整理して、バックエンドへ送る |
| 〜250ミリ秒 | バックエンドが情報を受け取り、写真をクラウドのストレージに、商品情報をデータベースに保存する(その置き場所を用意し、安定して動かしているのがインフラ) |
| 〜450ミリ秒 | バックエンドが、保存できたことを確認し、表示用のデータを用意する |
| 〜500ミリ秒 | フロントエンドが、出品完了の画面を表示する |
たった0.5秒ほどの間に、情報はいくつもの場所を行き来しています。画面を作るのはフロントエンドのエンジニア、裏側の処理を作るのはバックエンドのエンジニア、保存する場所や土台を整えるのはインフラのエンジニアです。
エンジニアとして開発するとは、この3つの世界のどこかで、毎日少しずつ、改善や新しい機能の追加、トラブルの対応を続けていく仕事です。
\ITエンジニア特化の就活支援サービス/
\ITエンジニア特化の就活支援サービス/
6. 自分が興味があるのはどこ?
3つの世界のうち、自分はどこに興味があるのか。身近な3つの問いかけで、向いている方向の見当をつけてみましょう。
問いかけ1:文化祭の準備、どんな役割が楽しかった?
学校行事や部活、サークルなどの催しを思い出してみてください。
| 楽しかった役割 | 近い世界 |
| 飾り付けやポスター、案内表示など、見た目を整える役割 | フロントエンド寄り |
| タイムスケジュールや動線、お金の管理など、段取りや裏方の仕組みづくり | バックエンド寄り |
| 雨の対応や人の整理など、トラブル対応や安全の管理 | インフラ・データベース寄り |
問いかけ2:人とどう関わるのが好き?
| 好きな関わり方 | 近い世界 |
| 目の前の相手に直接「ありがとう」と言われると嬉しい | フロントエンド寄り |
| 多くの人が困らないよう、ルールや仕組みを整えるほうが好き | バックエンド寄り |
| 何かが「当たり前に動いている」状態を、裏で支えたい | インフラ・データベース寄り |
問いかけ3:カフェを開くなら、どこを一番考えたい?
| 一番考えたいこと | 近い世界 |
| 内装やメニュー表のデザイン、お客さんの第一印象 | フロントエンド寄り |
| 仕入れや在庫の管理、レジの仕組み、スタッフの動き方 | バックエンド寄り |
| 電気・水道・厨房の設備が止まらないようにする土台づくり | インフラ・データベース寄り |
3つの問いかけで、はっきり決める必要はありません。新卒で入ったあとに、「最初はフロントエンドから始めたけれど、3年目でインフラに興味が出てきた」というように、領域を移る人も多くいます。
ただ、説明会やサマーインターンに応募するときに、好みの方向が少しでも見えていると、参加先の選び方や、面接で聞きたいことの軸が変わってきます。
\ITエンジニア特化の就活支援サービス/
\ITエンジニア特化の就活支援サービス/
7. まとめ
アプリは、ユーザーが見ている画面と、見えない裏側という2つの層でできています。見える側がフロントエンド、見えない側がバックエンドとインフラ・データベースです。それぞれの世界で、使う技術も、考えることも、必要な力も違います。気になる方向が見えてきたら、ぜひインターンや企業説明会で知識を深めてみましょう。
関連記事








