ポートフォリオは何のために作るのか
ポートフォリオは技術力を証明するものです。
自分はどんな技術を理解しているか(部品の種類=知識の広さ)
その技術をどう組み合わせられるか(組み方の種類=理解の深さ)
この2点を示すことが大切です。
作りたいものから入る学びの限界
「Todoアプリを作ろう」と完成品ベースで考えがちです。
しかしこれは、自分の知識だけで「何を作るか」を決めている状態です。
結果、同じようなポートフォリオが乱立してしまいます。
プログラミングはレゴブロック
プログラミングはレゴブロックのようなものです。
- 変数
- if文
- for文
これらは一つひとつが「レゴブロック」のようなものです。
そして、それらを組み合わせることで Todoアプリのような完成品 が作られます。
部品と組み方の種類
プログラミングの学びには、2つの方向があります。
部品の種類(知識の広さ)=水平展開
例:変数を学んだら → if文・for文を学ぶ
「レゴブロックの部品を増やす」ことに相当します。
組み方の種類(理解の深さ)=垂直展開
例:if文を学んだら → ネスト条件を学ぶ
「レゴブロックの組み方を増やす」ことに相当します。
👉 部品の種類(広さ)と組み方の種類(深さ)を増やすことにより、選択肢が増えます。
ポートフォリオはどう作るべきか
ポートフォリオは、部品や組み方の種類を増やすために開発するものと考えるべきです。
大きなシステムを作る必要はありません。
レゴブロックの種類(部品や組み方)を増やすために作る小さな作品 で十分です。
小さな作品で技術力を証明する
部品の種類を増やす(知識の広さ)
非同期処理を学んだ → APIを叩くアプリを作る
組み方の種類を増やす(理解の深さ)
配列操作を学んだ → 検索やフィルタリングができるアプリを作る
本音と建前
本音:「このレゴブロックを使ってみたかったから作った」
→ 学習の動機。自分が新しい技術を試したかった、という素直な理由。建前:「要件に応じて、この技術を選んだ」
→ 面接や就職活動で説明するときの言葉。
「なぜこの技術を選んだのか」を、要件や課題解決と結びつけて語る必要があります。
大事なのは、「なぜそのレゴブロックを使ったのか」を説明できることです。
「なんとなく使った」はNGです。
👉 この「建前」の部分は、次の章に直結します。
なぜなら現場では、課題解決のために 「技術選定の理由を説明できること」 が求められるからです。
レゴブロックは仕事でどう生きるか
仕事の流れ
課題を理解する
手持ちのレゴブロックで解決策を考える
足りなければ新しいレゴブロックを追加する
開発例:売上を可視化したい場合
同じ課題でも、レゴブロックの組み合わせによって解決策は複数考えられます。
方法①:フロントだけで配列+ループ+DOM操作
👉 小規模データなら対応できるが拡張性は低い方法②:バックエンドでAPI集計+フロントで描画ライブラリ
👉 実務でよく使われるバランス型の方法方法③:DB集計+API+認証+フロント描画
👉 大規模データや本番運用を見据えるなら最適
👉 エンジニアは、複数の選択肢を挙げ、要件に応じて最適なものを選びます
つまり、
レゴブロックの部品と組み方の種類によって、提案できる解決策の「量」と「質」が決まります
結論
ポートフォリオとは、
自分が持つ「部品」と「組み方」を証明するもの。
部品と組み方を増やすことに集中して作りましょう。
コメント