エンジニア

【最新2022年】バックエンドエンジニアのポートフォリオ例とコツ

バックエンドエンジニアのポートフォリオのコツと例

本記事では、現役エンジニアが
落とされにくいポートフォリオの例
必要なスキルを解説します

転職において、
ポートフォリオで合否は決まります!

なにを作るか?
どこを気をつけるか?

抑えるポイントを知らないと
ほぼ100%落ちます…

対象読者

  • ポートフォリオは、なにを作ればいいかわからない
  • ポートフォリオの、気をつける点を知らない
  • どんなスキルが必要か、わからない
筆者

大手WEB企業でバックエンドを担当してます

現役エンジニアを納得させる
ポイントを解説

本記事でわかること

  1. ポートフォリオを作るためのスキル
  2. ポートフォリオの作り方
  3. ポートフォリオの例

年収を上げるための記事

転職できる人は使っている
『転職で年収UPする唯一の方法』
を解説します!

知らないのは損すぎるので、ぜひ!)

↓さっそく、みていきましょう!

バックエンドのポートフォリオに必要なこと

(おさらい)ポートフォリオの役割

筆者

まずは、ポートフォリオをただしく理解しましょう

ポートフォリオとは自分の技術や実装能力を示すものです。

良いポートフォリオ良いエンジニア

悪いポートフォリオ悪いエンジニア

ポートフォリオは写し鏡!

良いポートフォリオを提出すると、面接の印象がいいです。

悪いポートフォリオを提出すると、
書類選考で落ちるか、面接で深掘りして聞かれます…

↓また、よくある誤解はこちら↓

ポートフォリオのよくある誤解

きれいなコードや、機能がたくさんあればいい
不必要な機能は加点されない

正しいポートフォリオの理解

必要な技術が盛り込まれているポートフォリオが良い

不必要な機能は加点されない上に、マイナス評価になる可能性もあります。

ポートフォリオでは、必要な機能だけを入れましょう

↓では、どんな機能を入れれば良いのか?

(おさらい)バックエンドエンジニアの役割

筆者

ポートフォリオの必要な機能とは?

バックエンドエンジニアは、ユーザの目に見えない箇所を担当します

バックエンドエンジニアの仕事例

  • APIの実装
  • データベースの操作( = 読み書き)
  • 他サービスのAPIを利用

これらの要素をポートフォリオに入れる!

バックエンドのポートフォリオに必要な機能は
データベースや、APIの実装のことです

↓どんなスキルが必要か、解説します

バックエンドエンジニアに必要なスキル

筆者

機能を作るために、どんなスキルがあればよいか?

バックエンドエンジニアに必要なスキルは、こちら↓

バックエンドエンジニアに必要なスキル一覧

  1. インターネット(HTTP・DNS)
  2. OS(コマンド・メモリ・プロセス)
  3. API(リクエスト・レスポンス)
  4. データベース(クエリ・正規化)
  5. プログラミング
  6. セキュリティ(セキュリティリスクを減らす)

詳しくは … バックエンドエンジニアロードマップ

できるだけ多くのスキルをポートフォリオに盛り込みましょう!

悩み

やること多くない?

こんなにできないよ…

パロット

ポイントをおさえれば、完璧じゃなくてOK

1つ1つ ポイントを解説

ポートフォリオ作りで重要なポイント7つ

筆者

ポートフォリオの評価ポイントです!

知らないと落ちるので、かなり重要

ここからはポートフォリオの評価ポイントについて述べます

ここで勝負が決まるので、ひとつずつ理解しましょう!

ポートフォリオで重要な点は、こちら↓

ポートフォリオで重要な点

  1. 必要な機能を実装する
  2. データベースを使うこと
  3. データベースのテーブルを正規化する
  4. 例外処理を書く ← 差がつくポイント
  5. 単体テストを書く ← 差がつくポイント

ーー↑必須ラインーー
ーー↓あればよいラインーー

  1. ソースコードにコメントを書き、読みやすくする
  2. デプロイ環境はAWSにする

筆者

現場感覚的には、

1〜3 … 未経験者でもできて欲しい

4,5 … 未経験者でできると好印象

6,7 … できていると、さらに好印象

重要な点1 … 必要な機能を実装する

バックエンドで必要な機能は、こちら

バックエンドに必要な機能

  1. APIの実装
  2. APIの認証機能(API Gatewayなど)
  3. セキュリティ対策の実装
  4. データベースの読み書き
  5. データベース内に十分なデータ量
  6. APIを表示するフロントエンド(最低限必要)

具体的な実装例(Twitterを例に)

  1. ユーザ一覧を取得するAPI
  2. ユーザの全ツイートを取得するAPI
  3. ユーザのツイート1件を取得・削除・更新するAPI
  4. ユーザログイン機能

バックエンドではAPIを実装することが多いです
そのため、データベースからのデータ取得をメインに実装しましょう

さらに、最低限UIの実装もしましょう
理由は、取得したデータを表示することで正常に実装できてることを示します

重要な点2 … データベースを使うこと(MySQLでOK)

データベースを使ったプログラミングができることを示します

バックエンドエンジニアは、データベースとのやりとりを頻繁に行います。データベースを利用できる人材であることをアピールしましょう。

データベースはMySQLでOKです
理由は、MySQLは多くの企業で利用されている一般的なデータベースだからです

データベース早見表

  • MySQL … 最も一般的に使われている
  • Oracle … BtoBで利用されている(MySQLより安全)
  • PostgreSQL … 昔はよく使われていた印象(現在はMySQLに移りつつある)
  • Cassandra … KVSで広く使われている
  • Redis … KVSで広く使われている

※KVS … Key Value Storeの略

↓SQLを勉強したい向けの記事

重要な点3 … データベースのテーブルを正規化する

テーブルの正規化の知識があることを示します。

テーブルの正規化とは、重複するデータを無くすことや、テーブル内の不要なカラムを削除する作業のことです

正規化でおすすめの本

キタミ式イラストIT塾 基本情報技術者

  • イラスト付きでわかりやすい
  • DBについても詳しくなれる

重要な点4 … 単体テストの有無

単体テストとは、検証用のプログラムを動かしてプログラムを試すことです

開発現場の使われかたは、テストコードと呼ばれる検証用プログラムを書いて、このプログラムを実行し、動作が正しいことを確認しています

単体テストがないと、自分の手で試さないと実装した内容が正しいかわかりません。時間がかかるし、漏れがあるかもしれません

未経験者は、テストを書く人はあまり見かけませんが、
テストを書くことで他の人より即戦力があることを示せます

テストが実装できるエンジニアであるとアピールしましょう

重要な点5 … 例外処理の有無

例外処理について知識があることを示します。

例外処理とは、DBが落ちていたときに例外が発生した場合にどのように通知するか、ユーザ登録に失敗したときにどのように値を返すかといった『異常時にどのように動くか?』という内容の実装を指します。

例外処理はサービスの基本なので、実装できることをアピールしましょう。

重要な点6 … デプロイ環境について

HerokuだけではなくAWSなども利用できるエンジニアであることを示します。

アプリケーションのデプロイ環境として、Herokuは有効です。

しかし、実際の開発現場では主にAWSが利用されています。

そのため、AWSを活用できるエンジニアであることをアピールしましょう。

重要な点7 … コメントの記法、コードの読みやすさ

可読性の高いコードを書くことできることを示します。

提出したポートフォリオを読むのは、現場のエンジニアです。

読みにくいコード → 読みたくなくなる
(この時点でNG)

読みやすいコード → 読んでも良いかな

読みやすいコードを書くことができるエンジニアということをアピールしましょう。

バックエンドエンジニアのポートフォリオ例

バックエンドエンジニアになるためのポートフォリオの例をいくつか紹介します。

(ポートフォリオの例1) RESTful APIの実装

フロントエンドと連携するために、APIが利用されます。

APIとはシステムとシステムを繋ぐ機能のことで、
webサービスにおいては『WEB API』を指しています。

webサービスでは、一般的にRESTful APIが利用されます。
RESTful APIに関する簡単な説明はこちらをどうぞ

APIについての説明

(ポートフォリオの例2) MQを使ったメッセージサービス

MQとは、メッセージキューの略で情報のやりとりをキューと呼ばれる箱を通じてやりとりを行う通信方法です。

特に非同期に行われるサービスでよく利用され、メッセンジャーサービスに利用されています。

MQを使ったポートフォリオのメリット

・処理の負荷分散について理解している

・DB以外にもコンポーネントが理解できている

MQはバックエンドでは必須のスキルとなります。

(まとめ)バックエンドエンジニアのポートフォリオ作成のコツ

バックエンドエンジニアに必要なスキルはこちら。

バックエンドエンジニアに必要なスキル一覧

  1. インターネット(HTTPやDNS)
  2. OS(ターミナルコマンドなど)
  3. API(リクエスト、レスポンス)
  4. データベース(クエリ、正規化)
  5. プログラミング
  6. セキュリティ(脆弱性の対応)

詳しくは … バックエンドエンジニアロードマップ

バックエンドエンジニアのポートフォリオで重要な点はこちら

ポートフォリオにおいて重要な点

  1. データベースの利用の有無
  2. データベースのテーブルの正規化
  3. 単体テストの有無
  4. デプロイ環境について
  5. コメントの記法、コードの読みやすさ
  6. 機能の充実さ
  7. 例外処理の有無