Chapter 12 — Practice portfolio and final review
Lesson map
Lesson 12 published. Map, example, EX056.
flowchart TD
N0["Learning outcomes"]
N1["12.1 Building the portfolio"]
N2["12.2 Trends from the tracker"]
N3["Lab — Finding trends"]
N4["12.3 Reflection and next steps"]
N5["Synthesis"]
N0 --> N1 --> N2 --> N3 --> N4 --> N5
N5 --> EX["Worked example"]
EX --> Q["Exercise EX056"]
Logical drawing
flowchart LR
N0["Learning outcomes"]
N1["12.1 Building the portfolio"]
N2["12.2 Trends from the tracker"]
N3["Lab — Finding trends"]
N4["12.3 Reflection and next steps"]
N5["Synthesis"]
N0 --> N1 --> N2 --> N3 --> N4 --> N5 --> Q["EX056"]
[Learning outcomes]
|
v
[12.1 Building the portfolio]
|
v
[12.2 Trends from the tracker]
|
v
[Lab — Finding trends]
|
v
[12.3 Reflection and next steps]
|
v
[Synthesis]
|
v
[Worked example] --> [Exercise EX056]
Learning outcomes
You will (1) assemble a practice portfolio from six months of work; (2) summarise finding trends with a simple script; (3) reflect on gaps and plan continued learning.
12.1 Building the portfolio
Dana's portfolio collects evidence of what she can do: a stakeholder table, an authorisation-based test plan, the inventory script and its output, a verification statement set, the exposed-key timeline, a monthly report with ratings and the lab closure note. Each item is anonymised, keeping the synthetic Bayside names and removing anything real, and each has a short note explaining what she did, what she learnt and what she would do differently. Marcus explains that a portfolio shows judgement better than a certificate list, because it reveals how she handled uncertain, messy situations.
12.2 Trends from the tracker
To close the programme, Dana summarises six months of Bayside findings. She writes a short script over a synthetic export of the tracker that counts findings by category and status and computes the median days to close. The lab below shows the result: expiry and chain issues were most common, and most closed within a few weeks, while one weak-key finding stayed open longest because it needed a server replacement. Trends tell the clinic manager where to invest, such as automated renewal, and tell Copperleaf where its workflow could improve.
Lab — Finding trends
# Summarise a synthetic six-month findings export.
import collections, statistics
rows = [("expiry/chain", "closed", 6), ("expiry/chain", "closed", 11), ("expiry/chain", "closed", 4),
("expiry/chain", "closed", 19), ("weak key", "open", 142), ("legacy TLS", "closed", 33),
("legacy TLS", "in progress", 58), ("secret exposure", "closed", 2), ("password storage", "closed", 27)]
print("by category:", dict(collections.Counter(c for c, _, _ in rows).most_common()))
print("by status:", dict(collections.Counter(s for _, s, _ in rows)))
print("median days to close (closed only):", statistics.median(d for _, s, d in rows if s == "closed"))
print("oldest open:", max((d, c) for c, s, d in rows if s != "closed"))
Run with python3 lab_trends.py. Verified output:
by category: {'expiry/chain': 4, 'legacy TLS': 2, 'weak key': 1, 'secret exposure': 1, 'password storage': 1}
by status: {'closed': 7, 'open': 1, 'in progress': 1}
median days to close (closed only): 11
oldest open: (142, 'weak key')
12.3 Reflection and next steps
In her final review with Marcus, Dana lists what she does confidently: confirm flags, verify HMAC and TLS behaviour, write plain findings and handle evidence. She also lists gaps: she has not yet led an incident, she relies on Marcus for risk ratings in unusual cases and she knows little about post-quantum migration beyond the fact that NIST published FIPS 203, 204 and 205 in 2024. They agree a plan to study those standards, shadow an incident lead and take ownership of one client's monthly cycle. Honest reflection is the last professional skill the programme teaches.
Worked example
Dana assembles a seven-item portfolio, runs the trends lab and agrees a learning plan covering incident leadership and post-quantum standards.
Synthetic case. The portfolio, tracker export and review are synthetic; FIPS 203, 204 and 205 are real.
Errors and limits
Six months of one client is a small sample for trends. Portfolios must stay anonymised and synthetic when shared.
Exercises
- EX056 — Why a portfolio. Why does Marcus value a portfolio over a list of certificates? Rubric: 3 = it shows judgement in messy, uncertain situations;; 2 = judgement;; 1 = same;; 0 = none.
- EX057 — Commonest category. According to the trends lab, which category had the most findings? Rubric: 3 = expiry/chain issues, as printed in the run;; 2 = category;; 1 = wrong;; 0 = none.
- EX058 — Longest open. Which finding stayed open longest, and why? Rubric: 3 = the weak-key finding, needing a server replacement;; 2 = finding;; 1 = vague;; 0 = none.
- EX059 — Admitted gaps. Name two gaps Dana admits in her review. Rubric: 3 = two of no incident leadership, relies on mentor for unusual ratings, little PQC knowledge;; 2 = one;; 1 = vague;; 0 = none.
- EX060 — PQC standards. Which NIST post-quantum standards does her plan include? Rubric: 3 = FIPS 203, 204 and 205;; 2 = two;; 1 = vague;; 0 = none.
Synthesis
A portfolio, trend summary and honest reflection turn six months of practice into a credible professional foundation.
Continue studying — chapter 12 of 12
← Chapter 11 (draft) · Course chapter index · Worked results ↓ · Next course via chapter index →