という疑問に経験者が答える記事になります。
記事執筆者:オザック
年収1000万超、Web開発を生業にしていて9年以上の某有名R社に勤めて現在はフリーランスエンジニアのオザックです!
エンジニアの副業を含めて20以上をしていて、バックエンドエンジニアとして未経験者も含めてポートフォリオ支援などをしている。
これから転職や就職を目指す人に、どういうポートフォリオを作ればよいのか?悩む方も多いと思います。
今回は実際に面接官を努めたり、未経験者も含めたエンジニアのポートフォリオ支援やクラス設計を教えて25人以上になる僕が、
バックエンドエンジニアのポートフォリオについて解説します。
2分程度で終わるので、少しでもバックエンドエンジニアとして就職したい、転職したいと思う方は読んでみることをオススメします!
バックエンドエンジニアのポートフォリオを作るには、こちらが評判がよくおすすめです!
目次
バックエンドエンジニアがポートフォリオをなぜ作るのか?
就職や転職において、バックエンドエンジニアにとってポートフォリオが必要な理由は、その人の技量や実際に普段コードを書いているかを測るためです!
面接官がポートフォリオで見れること
- 細かい実装レベル
- コード設計力
- 普段コードをコミットしているか
- Gitのレベル
- CI/CDの実装など別の領域のレベル
が見ることが出来ます!
つまり実際にその人の実力が生で見れる良い機会がポートフォリオのチェックということになります。
他の職種だとポートフォリオという概念はあまりないですが、エンジニアは良い意味でも悪い意味でもポートフォリオで実力がわかります。
そのためエンジニアにとって転職や就職ではポートフォリオは必要になります。
バックエンドエンジニアがポートフォリオを作成するポイント6つ
実際に僕の面接官やポートフォリオ支援をしている経験から、ポートフォリオで大事なポイントを解説します!
バックエンドエンジニアのポートフォリオ作成ポイント6つ
- 自分でコードを語れること
- クラス設計を意識する
- テストを書くこと
- Dockerを用いたAPIの実装
- 例外処理の実装
- RDBの設計
- CI/CDのデプロイ構築
自分でコードを語れること
これは必須のポイントです!
さらに大事なポイントはコードをちゃんと1行ずつ説明できることです。
面接官に聞かれて言ってはいけない例
- なんとなくこういう書き方をしました
- よくわからないです
というような回答はだめです。
1行1行にストーリーを語れるようにポートフォリオを作成しましょう!
クラス設計を意識する
設計は必ず意識しましょう!
ただ何も考えずに自分なりの適当なアーキテクチャで書くと、運用保守を考えてコードを書くことが出来ないエンジニアだとみなされて、評価としてはかなりおちます。
場合によってはそもそも面接の土台に上がれないです。
今だとクリーンアーキテクチャやオニオンアーキテクチャ+DDDなどのアーキテクチャを使って実装すると、
基本的に評価は高くまず面接の土台に上がらないということはないはずです!
アーキテクチャで大事なことはテストが書きやすい設計という点です!
DDDやクリーンアーキテクチャを学びたいならこちらで学ぶ事ができます
クリーンアーキテクチャやDDD、RDBの設計などバックエンドの設計を学べる
テストを書くこと
これは絶対にマストです!
テストが書ける=設計がしっかりしている
という証明にもある程度なります。
またテストが書いていない、書けないというのはバックエンドエンジニアとしては昨今ではマイナスポイントとなります。
テストは時間がかかっても良いので、必ず書くようにしてください!
DDDやクリーンアーキテクチャを学びたいならこちらで学ぶ事ができます
テストの書き方から設計まで学んで、ポートフォリオも作れるMENTAのプランはこちら
Dockerを用いたAPIの実装
Dockerは実装時に使うのが良いです!
Dockerを使えないバックエンドエンジニアはもう昨今ではまずいません。
そのためDockerが使えことは最低限アピールするためにローカルのRDBやアプリなどはDockerで構築することをお勧めします。
例外処理の実装
例外処理はちゃんと設計して実装しましょう!
例外処理の実装でのポイント
- エラーハンドリングができているか
- エラートレースが出るようになっているか
- エラーメッセージは後々デバッグしやすいように適切か
RDBの設計
RDBが適切に設計できることもバックエンドとしては重要なスキルです!
出来ればER図もGit管理しておくと良いです!
設計はもちろん、インデックスの貼り方も理解できているか、工夫ができているかをチェック出来るためです!
CI/CDのデプロイ設計
こちらのスキルはマストではなくWANTです。
バックエンドエンジニアとしてはCI/CDの設計は出来ると、評価出来るポイントです!
実際のプロジェクトではCI/CDは当たり前に運用されていて、時には機能追加したり、修正したり、チューニングしたりと、
バックエンドエンジニアが対応します。
なのでどのCI/CDでも良いですが出来ると、ポートフォリオの評価としてはプラスになります!
クリーンアーキテクチャとDDDなど設計が学べてポートフォリオが作れるMENTAのプランはこちら!
面接官が見る!バックエンドエンジニアがポートフォリオ作成時にやってはいけないこと
続いてポートフォリオの作成でやってはいけないことを解説します!
そこから逆算することで作成ポイントがわかります。
ポイント
- 自分で書いたコードかどうか
- ポートフォリオにビジネスの要素はいらない
です。
自分で書いたコードか?
自分で書いたコードかどうかはちゃんとポートフォリオについて語れるかと同義で、
「ちゃんと設計を考えているか」というポイントも同時に満たしている必要があるのです。
ちゃんと設計を考え、自分でコードを書くということはマストなので、
- ただ誰かのコードをコピーした
- 教えられたことを意味もわからず書いている
というのはご法度です!
必ずなぜこのようなコードを書いているのか?というのをちゃんと説明できるようにしましょう!
ポートフォリオにビジネスの要素はいらない
ポートフォリオはあくまでエンジニアとしての適性を見てもらうものです。
「ポートフォリオで作ったものが売れるかどうか」ということは全然重要ではないので、ビジネス的にマネタイズができるとかは考慮しなくて良いです!
バックエンドエンジニアのポートフォリオの例3つ
では技術力を証明するために良いポートフォリオの例を紹介します!
- ECサービス
- SNSサービス
- 認証があるサービス
この3つがポートフォリオとしては技術力を証明しやすいです!
証明できる技術一覧 | |||
EC | SNS | 認証ありサービス | |
データ作成 | ○ | ○ | - |
データ更新 | ○ | ○ | - |
データ表示(ページネーション) | ○ | ○ | - |
データ削除 | ○ | ○ | - |
認証 | ○ | ○ | ○ |
決済 | ○ | ☓ | ☓ |
メッセージング | △ | ○ | ☓ |
※スマホでは横スクロールできます
上記で証明したい技術を選んで、ポートフォリオを選定すると良いです!
最低限ポートフォリオには
- 認証
- データのCRUD
がある機能にしましょう!
こちらのサンプルユースケースで作れるポートフォリオは認証も入っているのでおすすめです!
バックエンドエンジニアでポートフォリオを作って、設計が学べるMENTAのプランはこちら
バックエンドエンジニアのポートフォリオは作らないと就職、転職は難しい
バックエンドエンジニアはポートフォリオを作らないと転職は難しくなって来ています!
もちろん前職でプロダクト開発をしていて、そこでやったこと、苦労したことを話して説明できれば人は良いですが、
- 未経験からバックエンドエンジニアになる人
- あまり前職の技術的な話を面接でできない人
はポートフォリオを作りましょう!
バックエンドエンジニアのポートフォリオを作るには、こちらが評判がよくおすすめです!