Common Preparation · How to study

How to Study for the Exam

Most people who fail a certification exam did not fail because the material was too hard. They failed because they studied the way they studied at school — reading front to back, highlighting, re-reading the highlights — and that method is almost perfectly mismatched to how this exam is scored. This page is the method, not the material. It is written for the Certified DevSecOps Professional (CDP) from Practical DevSecOps, and the CDP has a shape that makes the mismatch worse than usual: it is not a paper you answer, it is a live environment you fix and then a report you have to write about what you did. There is no multiple choice to hide behind, no partial credit for a lucky guess, and no way to bluff a screenshot of a scan that never ran clean. Everything below follows from that.

☺ Explain it like I'm 10

Imagine two ways of testing whether you can cook. In the first, someone hands you a piece of paper and asks "which of these four sentences correctly explains how to boil an egg?" In the second, someone puts you in a kitchen, gives you a broken stove and six hours, and says "make dinner — and afterwards, write down exactly what you cooked and how, with photos, so someone who wasn't in the kitchen can tell it really happened." You would not train for those the same way. For the first you learn to spot the three sentences that are almost right. For the second you get in a kitchen, over and over, until your hands stop asking your brain for permission — and you get into the habit of taking the photo while the pan is still on the hob, because nobody can go back to a kitchen that has been locked.

🦉🐰Your hosts for this topic: Professor Owl & Remy the Rabbit — Owl turns a syllabus into a plan you can actually work through, and Remy is the one who refuses to let "that looks familiar" count as knowing it.

The exam decides the method — so start with the exam's shape

☺ Like you're 10: Before you decide how to practise, find out exactly what the test is going to ask you to do. This one asks you to fix things, and then to prove you fixed them.

Every study decision on this page is downstream of four facts about the CDP, and all four come from Practical DevSecOps' own pages rather than from this site. Their exam and certification page states that the exam is "an online, task-oriented exam where you attempt to solve 5 challenges (tasks) in a span of 6 hours," that "students must score at least 80 points (80%) to earn the DevSecOps certification," and that "after the exam, you have about 24 hours to submit the exam report on our internal portal." Their CDP course page repeats the same structure and describes the credential as a lifetime one, with no stated renewal period.

That is the whole published specification, and it is worth being precise about how little it contains, because the gaps change what a sensible study plan can look like:

What the vendor publishesWhat it does not publish
5 challenges, each with sub-tasks, against a live environmentA domain breakdown, or any percentage weighting across those five challenges
A 6-hour window to work the challengesHow the six hours are expected to be split, or whether the challenges are equally sized
A separate 24-hour window afterwards to submit a written reportA rubric for the report, beyond the submission instructions you receive
80 / 100 to passHow points are distributed between the fix and the evidence, or the partial-credit rules
Prerequisites: basic Linux command knowledge and a foundational understanding of application security concepts such as the OWASP Top 10; no prior Dev or DevOps tool experience stated as necessaryAnything about live proctoring, webcams, or ID checks — the official pages this course could find are silent on it, and no first-hand write-up mentions being watched. That silence is not evidence either way; check your own booking confirmation
⚠ Confirm the numbers before you plan around them

Every figure in that table is Practical DevSecOps' own published number, quoted here so you can recognise it — not this site's claim, and not a promise it is still current when you read this. The vendor's own pricing has already moved once in public (a first-hand review from 2020 records the course at US$799; the current listed figure is US$899, with a retake priced separately and 36 CPE points advertised), and the exam format itself has changed since 2024 — see the section on the clock, below. Before you book, before you build a schedule, and before you trust any time budget you read anywhere including here, open the vendor's own exam page and check. The CDP exam guide on this site carries the same warning for the same reason.

Two consequences fall straight out of the table, and they are the spine of this page. First: because the exam grades a live environment, recognising the right answer is worth nothing — you have to be able to produce the fix with your hands. Second: because it also grades a report written afterwards, producing the fix is not enough either — you have to be able to prove it, in writing, to somebody who was not standing behind you. That second half is the part almost nobody trains for, and it is where candidates who genuinely knew the material still lose points.

Three tiers of knowing, and the exam pays for the third

☺ Like you're 10: Seeing something and thinking "yes, I know that" is the weakest kind of knowing. Doing it yourself is stronger. Doing it and being able to show someone else exactly how, afterwards, is strongest — and that's the one this exam pays for.

Almost every bad study session comes from confusing these three states with each other. Name them, and you can tell in ten seconds whether the last hour was worth anything.

What each tier is worth on a task-based exam Tier 1 · Recognise — "yes, I know that" Produced by re-reading and by flipping a card before you answer it. Fluent, comfortable, fast. graded: never Tier 2 · Produce — "I can do it, cold, on a clock" The scan runs, the gate fails the build, the policy blocks the plan. No notes, no assistant, no hunting. the 6-hour window Tier 3 · Evidence — "and here is the proof it worked" The before state, the change, the re-run that comes back clean, written so a stranger can follow it. the report window Re-reading can only ever move you along tier one. It never crosses the line into tier two.
TierThe test for itWhat produces itWhat it feels like
1 · RecogniseShown the answer, you agree with itReading, re-reading, watching video, flipping a flashcard earlySmooth and pleasant. This is the trap — fluency reads as mastery
2 · ProduceBlank terminal, no notes, clock running: the thing worksTimed reps, predict-then-verify labs, deliberately breaking thingsUncomfortable, slow at first, and the only tier that moves
3 · EvidenceA reader who was not there can follow it, and would be convincedWriting the four-line evidence note at the end of every rep, not at the end of the weekTedious. Skipped by nearly everyone. Worth points on this exam

The tiers are not a ladder you climb once per topic and then leave behind — they are three separate skills, and being at tier three on secrets detection tells you nothing about where you are on dynamic analysis. That is why the ledger a few sections down scores every chapter separately, and why a single strict definition of "done" matters more than any amount of enthusiasm.

◆ Key idea

The question to ask at the end of a study session is never "did I understand that?" — you almost always did, in the moment. It is "which tier did that hour buy?" An hour that produced nothing but tier one bought you a feeling. Tier two and tier three are the only ones the CDP pays for, and both of them require the book to be shut.

A knowledge exam and a hands-on exam are different sports

☺ Like you're 10: One test reads your mind. The other watches your hands. You practise knowing by explaining; you practise doing by doing.

Plenty of good study advice on the internet was written for multiple-choice exams, and a fair bit of it actively harms a CDP candidate. It is worth laying the two side by side once so you can tell, when you read a study tip anywhere, which sport it belongs to. Both of these exist in this course's certifications line-up, which is why the distinction is not academic: the CDP and the CKS are hands-on, while the AWS Security – Specialty and CISSP are knowledge exams.

Study decisionKnowledge exam (multiple choice)Hands-on exam — the CDP
What is actually gradedWhich option you selectedThe state you left the environment in, plus the report you wrote about it
The unit you repeatA claim ("an SBOM lists components; provenance attests how they were built")A task ("make this pipeline fail on a HIGH CVE that has a fix available, and prove it fails")
What "knowing it" meansYou can explain it in a sentence and spot a wrong version of that sentenceYou can produce it under a clock, on a real system, without hunting for the flag
Where the hours goRoughly 70% reading and retrieval, 30% handsRoughly 70% hands, 30% reading — and a slice of the 70% is spent writing evidence, not fixing
Reference materialClosed-book. There is no tab to fall back onYou are working in a real environment with real tools, but AI assistants and chatbots are not permitted — so your own recall of tool syntax is the entire toolkit. Confirm the current policy in your own exam instructions
Biggest failure modePicked the option that sounded most familiarRan out of clock. Knew it, typed it slowly, and left two challenges untouched
Second-biggest failure modeRight answer, wrong reason — invisible until the real paperFixed it, never proved it. A change with no evidence is a claim the report cannot defend
Best single drillBlank-page retrieval, then near-miss discrimination on practice banksTimed reps from the practice challenge bank, each one closed out with an evidence note
Best readiness signalTwo unseen papers above the cut, with no domain draggingTwo full-window rehearsals inside the real clock, with a report you would be willing to submit

So what are the flashcards for, then?

Here is the honest position, because it is a fair question to ask of a hands-on candidate looking at a deck of cards. This course ships several knowledge-shaped instruments — 38 flashcards, a self-check across fourteen domains, an exam simulator with a clock on it. None of them is a rehearsal for the CDP, because none of them puts your hands on anything. They are diagnostics and fluency drills, and they earn their place for exactly two reasons.

What they cannot do is tell you whether you can do the work. A card you answer correctly is tier-one evidence at best and tier-two evidence never. Treat a green self-check the way you would treat a green unit test on a system nobody has integration-tested: encouraging, and not the thing you ship on.

Retrieval is the whole engine

☺ Like you're 10: Pulling something out of your head with the book shut is what makes it stick. Reading it again just makes it feel familiar.

If you take one thing from this page, take this: the act of producing something from memory, with the source closed, is what moves it from recognised to owned. Re-reading is smooth and teaches almost nothing. A blank page — or better, a blank terminal — feels awful and teaches a great deal. Every technique on the rest of this page is a different wrapper around the same move: shut the tab, produce the thing, then check.

The reason it works is that difficulty during practice is not a bug. When retrieval is effortful, the memory gets strengthened; when it is effortless, nothing changes. This is why the study activity that feels most productive is usually the one doing least, and why the one that feels like failing is usually the one doing most. Expect the good sessions to feel bad.

What retrieval looks like at each tier

TierThe retrieval moveHow you check
Recognise → Produce (vocabulary)Answer the card out loud, before you flip it. If you cannot start answering within five seconds, it is not known, however familiar it feelsFlip. Mark anything you fumbled to come back — do not let "oh yes, of course" count as a pass
Recognise → Produce (commands)Blank terminal, no browser. Write the full invocation from memory — every flag, in order, with the values you would actually useDiff it against the reference. Check flag names, not just whether it "looks right"
Recognise → Produce (whole task)Read the task once, close everything, set a timer, and do it end to end on a real targetDoes the gate actually fail? Does the policy actually block? Exit codes, not vibes
Produce → EvidenceWithout reopening your terminal history, write the four-line evidence note from memory of what you just didHand it to someone who was not there — or read it cold tomorrow. Could they reproduce it?
🐰 Remy's five-second rule

On any card, any term, any command: if you cannot begin the answer within five seconds, you do not know it. Not "I nearly had it." Not "I'd get it in the exam." Five seconds, or it goes back in the pile. This sounds harsh and it is the single cheapest upgrade available to most candidates, because the alternative — a mental library of things you almost know — is worth nothing at all in a six-hour window where every lookup you cannot do costs real minutes.

Building a plan when the vendor publishes no weights

☺ Like you're 10: Some exams publish a list saying "this topic is 25% of the test." This one doesn't. So instead of guessing at percentages, you measure your own gaps honestly and work on the biggest ones.

A CKS or AWS candidate can read a published curriculum with percentage weights next to each domain and allocate hours literally. A CDP candidate cannot: Practical DevSecOps publishes "5 challenges" and nothing about how those challenges are distributed across topics. Anybody who tells you the CDP is "30% SAST" is making it up, and a plan built on an invented weighting is a plan aimed at a target that does not exist.

What you have instead is two real things. The first is the vendor's own course syllabus, which is the closest thing to a specification of the pool — the exam is built around their training material, and their published prerequisites tell you what is assumed rather than taught. The second is this course's nine-chapter exam blueprint, which was built to mirror that spread. Together they give you a list of things you either can or cannot do. That list is your blueprint, and your gaps are your weights.

Turn every chapter into a verb

Syllabus lines are written as nouns — "Software Composition Analysis" — and nouns cannot be ticked off, because there is no moment at which you have finished a noun. Rewrite each one as something you either can or cannot do, under a clock, with proof:

Blueprint chapter (noun)Rewritten as a task you perform, and evidence you produce
Software composition analysisGenerate an SBOM for a running image, find the dependency carrying a known CVE, judge whether it is actually reachable, and fail the build only on fixable HIGH and above — with the before/after scan output saved
Static analysis & secrets detectionRun a SAST scan and a secrets scan over a repo, triage the findings down to the real ones, fix one, and show the re-run coming back clean and the exit code flipping to 0
Dynamic analysisPoint a DAST scan at a live target, get both a human report and a machine-readable one out of it, and explain which findings are genuine rather than reading the tool's severity label aloud
Infrastructure-as-code hardeningTake a Terraform plan, run policy against it, watch a real misconfiguration get blocked before it is applied, then fix it and show the same policy passing
Compliance as codeTurn a written control into an executable check, run it against a live target, and produce a dated, machine-readable result an auditor could file
Vulnerability management & triageTake a wall of scanner output and defend, in writing, why three findings are urgent and thirty are not

Notice the shape every row shares: a verb, a real target, and a proof. If a rewrite has no verb, you have written a mood. If it has no proof, you have written a tier-two item on a tier-three exam.

Build a confidence ledger

Now make it queryable. A plain text file beats any app here, because you want to sort and count it without leaving the terminal you are already living in. One line per chapter, with a confidence score you update honestly after every session:

mkdir -p ~/cdp-prep && cd ~/cdp-prep

printf 'competency|chapter|conf|last\n' > ledger.psv

cat >> ledger.psv <<'EOF'
Toolchain fluency: docker, git, CI runner, the scanners|Ch 1-2 Foundations|0|never
Secure SDLC gates and DSOMM levels|Ch 3 Gates|0|never
SBOM generation and dependency CVE triage|Ch 4 SCA|0|never
SAST rules, false-positive triage, secrets detection|Ch 5 SAST|0|never
DAST against a live target, reading the output|Ch 6 DAST|0|never
IaC scanning and policy that blocks a bad plan|Ch 7 IaC|0|never
Controls as executable checks, machine-readable evidence|Ch 8 Compliance|0|never
Severity, exploitability, and defending a triage decision|Ch 9 Triage|0|never
Writing the evidence report itself|Cross-cutting|0|never
EOF

That last line is not filler. The report is a graded artefact, so it is a competency with a confidence score like any other, and treating it as one is the difference between a candidate who writes a report and a candidate who assembles one from notes they already had.

Score each line 0–3 on a scale that has nothing to do with feelings: 0 = never attempted; 1 = did it with notes or docs open; 2 = did it cold, but slowly; 3 = did it cold, inside its time budget, twice, on different days, and produced a usable evidence note both times. Only a 3 counts as done. Then the ledger answers the only question that matters at the start of a session:

cd ~/cdp-prep

awk -F'|' 'NR>1 && $3<=1 {printf "%-52s %-18s conf=%s  last=%s\n", $1, $2, $3, $4}' ledger.psv

awk -F'|' 'NR>1 {s[$2]+=$3; n[$2]++} END {for (c in s) printf "%-18s avg %.1f over %d line(s)\n", c, s[c]/n[c], n[c]}' ledger.psv | sort

The second command is the one that changes behaviour. Read the per-chapter averages and go where the number is lowest, regardless of which topic you happen to find interesting. Without published weights this is your prioritisation function: gap, not glamour.

⚠ Do not invent a weighting

It is tempting to assume the five challenges map neatly onto five of the nine chapters, one each. Nothing published supports that, and one first-hand account describes challenges that interconnect rather than sitting in tidy boxes — solving one feeds the next. Plan for coverage across the whole blueprint rather than betting on five topics, because on an exam with only five items, one unfamiliar challenge is 20% of the paper. The CDP study plan turns this into an actual week-by-week schedule; this page is only telling you how to decide what goes in it.

The clock in every published write-up is wrong

☺ Like you're 10: People who took this exam wrote about it online. Their advice about how to do it is still good. Their advice about how long you have is now twice the real number.

This matters here, on a study-technique page, rather than only on an exam-day one — because how long the exam is determines how long your practice reps should be, and a rep timed to the wrong budget trains the wrong pace. If you go looking for first-hand accounts of the CDP (and you should — they are unusually plentiful for a vendor certification), you will find something odd. Every single one describes a 12-hour hands-on window. The current official specification says 6.

SourcePublishedHands-on windowReport window
Joshua Jebaraj (joshuajebaraj.com)May 202012 hours12 hours — the only account to say 12; treat as an outlier
Ishaq Mohammed (ishaqmohammed.me)May 202012 hours24 hours
Najib Radzuan (Medium, devops4me)Aug 202012 hours24 hours
Ayoub Najim (Medium)Jan 202312 hours24 hours
Vinit Patil (Medium)Jul 202312 hours24 hours
Mikayel Mardanyan Petrosyan (Medium)May 202412 hours24 hours
Diogo Pereira (diogo-pereira.com)Jul 202412 hours24 hours
Practical DevSecOps, official, current6 hours24 hours

The most recent first-hand account this course could verify is from July 2024, so the change lands after that. A small corroborating detail: the vendor's own page still advertises 36 CPE points, which is exactly the old 12 + 24 arithmetic — a leftover from the retired format sitting on the same page as the new one. Take that as a reminder that vendor pages are not uniformly updated, and that your booking confirmation beats any marketing page.

⚠ Every time budget you read online is double

Vinit Patil planned roughly 2 hours 15 minutes per challenge with a 45-minute documentation buffer — arithmetic that lands exactly on twelve hours — and then spent four hours on challenge one. Ayoub Najim describes burning around three and a half hours on his first challenge and finishing the rest under pressure. Both passed. Under a 6-hour clock, four hours on challenge one is the whole exam gone on one task. The tactics in these write-ups transfer completely. The arithmetic does not transfer at all. Recompute every budget from the six-hour figure yourself, and confirm the figure on the vendor's page before you do.

Recomputing the rep budget from the real clock

So here is arithmetic you can actually train against — this page's own division of the official six-hour figure, not a vendor statement, so that your timer has a number on it rather than a vibe. Six hours is 360 minutes across five challenges, but do not divide 360 by 5 and call it 72 minutes of solving: evidence capture happens inside that window. Mikayel Mardanyan Petrosyan's review makes exactly that point in its criticism of the format — evidence-gathering and documentation come out of the hands-on time, so the usable slack is smaller than the headline number suggests.

Same five challenges, half the clock Retired format — 12 hours (what every published write-up describes) ~2h15 ~2h15 ~2h15 ~2h15 ~2h15 45m five challenges + a documentation buffer Current format — 6 hours (official) ~60m ~60m ~60m ~60m ~60m 60m reserve ← the whole exam ends here five challenges + a reserve that is not slack: it is evidence capture and the one that overruns Train your reps against the lower bar. A 72-minute habit is a habit that leaves two challenges untouched.

So: five roughly 60-minute solving slots and a 60-minute reserve. The reserve is not comfort — it absorbs the evidence capture you do at the close of each challenge plus the one challenge that fights you. Time every practice rep against a 60-minute slot from the moment you finish reading the task, and you will arrive with a pace that fits the real window instead of one borrowed from a retired format.

Spacing, and a ladder you will actually keep

☺ Like you're 10: Things leak out of your head. If you grab them again just as they're about to leak, they stick much longer — and you have to do it less and less often.

Memory for anything you are not using daily decays, and it decays fastest right after you learn it. Reviewing something just as it is starting to fade resets the clock and flattens the curve, so each successive review can sit further away than the last. That is the whole idea, and it is the single most evidence-backed study technique available: review at increasing intervals, timed to just before you forget.

recall time no review — gone in a week learn +1d +3d +7d +21d the gaps grow because each review buys more retention than the last

Ignore the elaborate algorithms. A fixed 1 / 3 / 7 / 21 ladder captures nearly all the benefit and needs no software: when you learn something, revisit it tomorrow, then three days later, then a week later, then three weeks later. Anything you fumble drops back to the start of the ladder. Anything you nail at +21 is done — trust it and stop spending time on it.

The cheapest implementation is a dated file. Add a line as you learn something; each morning, grep for today:

cd ~/cdp-prep

printf '%s|%s\n' "$(date -v+1d +%F)" "trivy: the two flags that turn a scan into a gate" >> reviews.psv
printf '%s|%s\n' "$(date -v+3d +%F)" "trivy: the two flags that turn a scan into a gate" >> reviews.psv

grep "^$(date +%F)|" reviews.psv || echo "nothing due today -- go do a fresh rep instead"

That date -v+1d form is BSD/macOS; on Linux the equivalent is date -d '+1 day' +%F. Either way the point is that scheduling a review must cost you one line, or you will quietly stop doing it by Thursday. The flashcards player does the same bookkeeping for vocabulary automatically — fumbles stay in rotation, knowns drop out — which is why it is the right home for terminology and the wrong home for anything with a verb in it.

How the drills on this site fit together

☺ Like you're 10: Each practice tool on this site answers a different question. Use the quick cheap ones to find out what's broken, and the slow expensive ones to fix it.

There are a lot of practice surfaces in this course and it is genuinely unclear from the outside which one you should be on. Here is the ordering, with the honest limit of each — because the fastest way to waste a month is to drill the instrument that cannot measure your actual gap.

ToolWhat it measuresWhat it cannot tell youWhen to reach for it
Flashcards · 38 cardsWhether vocabulary and definitions come back in under five secondsAnything about whether you can do the thingDaily, in short bursts, from week one until the day before. Never as the main event
Self-check · 14 domainsWhich domain your understanding is thin in, cheaply and in about four minutesWhether the fix will work under a clock, or whether you can evidence itAt the start of a chapter, to aim the session — and again at the end, to confirm the gap closed
Security checklistWhether the practices are real in a system you actually control, not just read aboutExam-specific readiness; it is scoped to real pipelines, not to the CDPAlongside the labs, as the "have I ever actually done this" gate
Exam simulatorRecall under a clock, across the whole course, in one sittingHands-on speed — it is a knowledge instrument with a timer, not a rehearsal of the real examMid-plan, to find which chapters collapse under time pressure
Practice challenge bankTier two and tier three: can you produce the fix and the evidence, in a slotWhether you can sustain it for five challenges back to backConstantly, from the moment a chapter reaches confidence 2
Mock exams 1 · 2 · 3 · 4Stamina and pacing across a full window, and whether your report survives fatigueNothing much, if you burn them early — there are only fourSparingly and late. Keep at least one entirely unseen for the final week
Capstone lab track · 7 partsWhether the whole pipeline hangs together end to end, not just each tool aloneSpeed — it is deliberately not time-boxedOnce, properly, in the middle of the plan; then again from a clean start, timed
◆ Key idea

Flashcards and self-checks are diagnostics, not training. Their real output is a list of things you do not know. When a card keeps coming back, the fix is never to flip it again — it is to reopen the lesson it came from and then prove it with your hands on a real target. A drill that generates a reading list has done its job; a drill you repeat until the score looks nice has not.

🐢 Timmy's view

"We don't ship a build because someone feels good about it — we ship it because a check ran and passed. I apply exactly the same rule to a candidate. Show me the exit code. Show me the scan output from after the fix. 'I'm solid on secrets management' is not a gate result, it's a mood, and moods don't block a merge."

Running a lab so it teaches you something

☺ Like you're 10: Before you press enter, say out loud what you think will happen. Then press enter and find out if you were right. The surprises are the lesson.

You can spend forty hours in a terminal and learn very little, and most people do. The reason is that typing commands from a page is a transcription exercise: your eyes move, your fingers move, and your model of the system is never once consulted, so it is never once corrected. Three rituals fix it, and none of them costs more than a couple of minutes per rep.

Ritual one — predict, then verify

Before every command that changes something or gates something, state the prediction — out loud, or better, written down. What will the exit code be? How many findings? Will the build fail? Then run it and check the prediction against reality. When you are right, you have confirmed your model cheaply. When you are wrong, you have found the exact spot where your understanding is broken, which is the only thing in a lab that was ever worth your time.

cd ~/cdp-prep

cat > prediction.txt <<'EOF'
Running trivy three ways, I expect:
 1. no --exit-code   -> exit 0, even with CRITICALs printed to screen
 2. --exit-code 1 --severity HIGH,CRITICAL -> exit 1, build should fail here
 3. adding --ignore-unfixed -> fewer findings, but NOT zero
EOF

trivy image nginx:1.25 ; echo "exit=$?"

trivy image --exit-code 1 --severity HIGH,CRITICAL nginx:1.25 ; echo "exit=$?"

trivy image --exit-code 1 --severity HIGH,CRITICAL --ignore-unfixed nginx:1.25 ; echo "exit=$?"

cat prediction.txt

The specific lesson buried in that example is one worth having on a flashcard: a scanner that prints scary output and exits 0 is not a gate, it is a report nobody is reading. Prediction three is the interesting one, because --ignore-unfixed suppressing everything is the single most common wrong mental model here — it drops findings with no available fix, which is a very different thing from dropping findings you would rather not deal with.

The same ritual generalises to every tool in the blueprint. Predict before you run:

gitleaks detect --source . --report-format json --report-path leaks.json ; echo "exit=$?"

semgrep --config auto --error . ; echo "exit=$?"

conftest test tfplan.json ; echo "exit=$?"

cosign verify \
  --certificate-identity-regexp '.*' \
  --certificate-oidc-issuer https://token.actions.githubusercontent.com \
  ghcr.io/example/app:1.4.2 ; echo "exit=$?"

Every one of those has an exit code you should be able to predict before you press enter, and a failure mode you should be able to name. If you cannot, that is a ledger line sitting at confidence 1, whatever you told yourself last week.

Ritual two — break it on purpose

Reading that a policy blocks a bad plan is worth roughly nothing. Writing a deliberately bad plan and watching it get blocked, while the clock runs, is worth a lot — and a task-based exam is heavy on situations where something is already wrong. So end every lab by sabotaging it: reintroduce the misconfiguration and confirm the gate catches it again; commit a fake credential to a scratch branch and confirm the secrets scan fires; downgrade a dependency to a version with a known CVE and confirm the SCA step fails the build rather than warning politely. The broken Terraform drill, the leaked credential triage and the dependency fire drill are built entirely around this move, because "find and fix what is already wrong" is the shape of the exam. When something does not behave the way you predicted and you cannot see why, the triage playbook is the page for that, and reaching for it is not cheating — reaching for it instead of forming a hypothesis is.

Ritual three — close every rep with an evidence note

This is the ritual that is specific to this exam, and it is the one that separates a candidate who scrambles through the report window from one who assembles a document they already mostly have. First-hand accounts are unusually consistent about it. Ishaq Mohammed's review carries the bluntest warning of the lot: you lose access to the exam lab the moment the hands-on window closes, so keep taking backups, screenshots and saved output — because that is the only material you will ever have. Najib Radzuan is the most concrete about what the report has to carry: step-by-step instructions, the configuration files themselves (his examples are CI/CD YAML and Ansible playbooks), screenshots, and machine-readable output such as JSON or XML — not just prose. And Tess Sluijter, writing about the mindset rather than the mechanics, reduces the whole habit to three words: document as you go.

So make it mechanical. Four headings, written the moment a task closes, while your terminal history is still on screen:

mkdir -p ~/cdp-prep/evidence

cat >> ~/cdp-prep/evidence/ch5-secrets.md <<'EOF'

## The finding
gitleaks flagged an AWS access key in config/settings.py:14, introduced 2 commits back.

## Proof it was real
$ gitleaks detect --source . --report-format json --report-path leaks.json
1 finding, rule aws-access-token, commit 9f2c1ab. leaks.json attached.

## What I changed, and why
Rotated the key at the provider, moved the value to the secret store, and read it
at runtime from the environment. Did NOT add a .gitleaks allowlist entry -- that
would silence the detector rather than remove the secret.

## Proof it is fixed
$ gitleaks detect --source . --exit-code 1
no leaks found -- exit=0. Re-ran the pipeline: secrets stage green. Screenshot: 05b.png
EOF

Four headings, ninety seconds, every single rep. The headings are doing real work: proof it was real stops you writing up a finding you never actually reproduced, and proof it is fixed stops you writing up a change you never re-ran. Both of those are the difference between a claim and evidence, and on an exam scored partly on a report, that difference is points. It is also, not incidentally, exactly what compliance and governance means by evidence in a real organisation — a control that only ever existed as a green tick in someone's terminal is a rumour with good intentions.

Time-box every rep

A task-based exam is a speed exam wearing a knowledge exam's clothes. An untimed lab trains you to be correct eventually, which is a skill the six-hour window does not reward. Put a clock on every rep from the moment a chapter reaches confidence 2, using the 60-minute slot the earlier arithmetic gave you:

cat > ~/cdp-prep/drill <<'EOF'
#!/usr/bin/env bash
set -euo pipefail
task="${1:?usage: drill <task-slug> [minutes]}"
budget="${2:-60}"
log="$HOME/cdp-prep/times.psv"
start=$(date +%s)
finish() {
  elapsed=$(( $(date +%s) - start ))
  printf '%s|%s|%ss|budget %sm\n' "$(date +%F)" "$task" "$elapsed" "$budget" >> "$log"
  printf '\n[logged] %ss on %s (budget %sm). Now write the evidence note.\n' "$elapsed" "$task" "$budget"
}
trap finish EXIT
printf '>> %s -- %s minutes. Ctrl-C the moment the fix is verified.\n' "$task" "$budget"
sleep $(( budget * 60 ))
printf '\n[time] Budget gone. Stop. Write down what blocked you, then look it up.\n'
EOF
chmod +x ~/cdp-prep/drill

~/cdp-prep/drill sca-gate-fails-on-fixable-high 60

The log matters more than the timer. After a fortnight, sort times.psv and look at which slugs keep reappearing over budget — those are your slow tasks, and slow tasks, not unknown tasks, are what run most candidates out of clock.

⚠ Expect tools you have never used

Tess Sluijter's write-up deliberately withholds specifics on NDA grounds and still gives the sharpest framing available: expect scanners other than the ones in the labs, expect more advanced features of the ones you did use, and expect languages you did not practise on. The comparison drawn there is to the OSCP mindset — the concepts are the same, but you will need to research on the job. That is not a reason to try to learn every tool in the tooling landscape. It is a reason to make sure that for each category — SAST, SCA, DAST, IaC scanning, policy, compliance — you can pick up an unfamiliar tool from its --help and get a machine-readable report out of it within a few minutes. Practise that explicitly: once a week, run a category with a scanner you have never touched.

Keep a mistake log

☺ Like you're 10: Write down every mistake in one place. After a few weeks you'll notice you keep making the same three — and those three are your whole revision list.

Individual mistakes are noise. Patterns of mistakes are the highest-value information you will generate during the whole plan, and you cannot see patterns without writing them down. One file, appended to the moment something goes wrong, never edited afterwards.

cat >> ~/cdp-prep/mistakes.md <<'EOF'

## 2026-08-14 · Ch 4 SCA · gate did not fail the build
- what I was asked: fail the pipeline on fixable HIGH and CRITICAL findings
- what I actually did: added the scan step, saw red output, moved on
- what was really wrong: I did not know the scanner exits 0 by default
- the fix in one line: --exit-code 1 --severity HIGH,CRITICAL --ignore-unfixed
- class: knowledge-gap
- redrill: 2026-08-17
EOF

"What was really wrong" is a different sentence from "what I did wrong," and forcing yourself to write it is what converts a mistake into a lesson. "I got it wrong" is not actionable. "I did not know the default exit code" tells you exactly what to read.

Classify it — the fix depends on the class

ClassWhat it looks likeThe actual fix
knowledge-gapYou did not know the flag, the field, the conceptReopen the lesson, then a rep. The cheapest class to fix
recall-lagYou knew it, but spent ninety seconds dredging it upFlashcards and Know It Cold. This is the class that quietly runs candidates out of clock
misreadYou solved a slightly different problem from the one askedA reading ritual: restate the task in your own words before touching anything
wrong-targetRight fix, wrong file, wrong container, wrong branch, wrong accountMake target-confirmation the first line of every rep — always, even when it feels obvious
unverifiedYou applied the fix and never re-ran the check that proves it workedMake "re-run and capture" part of the task definition, not an optional extra
undocumentedYou fixed and verified it, then could not reconstruct it an hour laterThe four-heading evidence note, written before you stand up. This is the CDP-specific class

Once entries are classified, one command every Sunday tells you what kind of candidate you currently are:

grep -h '^- class:' ~/cdp-prep/mistakes.md | sort | uniq -c | sort -rn

grep -h '^- redrill:' ~/cdp-prep/mistakes.md | awk -v today="$(date +%F)" -F': ' '$2 <= today'

A log dominated by knowledge-gap means you are early — keep reading and building. Dominated by recall-lag means you know the material and need speed drills, not more reading. Full of wrong-target means you need a ritual, not more study. Heavy on unverified or undocumented means your technical work is fine and your reporting habit is the thing standing between you and eighty points. Four completely different prescriptions, which is why the classification is not busywork.

Four ways to waste a month

☺ Like you're 10: Copying someone else's steps feels like learning but isn't. Reading the whole manual feels careful but isn't. Both are ways of avoiding the scary bit: doing it yourself with nothing open.

Trap one — tutorial-following

You follow a well-written walkthrough. Every command works. Nothing errors. You finish with a scanning pipeline, a signed image and a warm sense of competence. Two days later you cannot produce any of it. This is the illusion of competence, and it is the most common failure mode in DevSecOps prep because a tutorial removes every decision, and decisions are the thing being examined. The tell is simple: if you did not have to decide anything, you did not learn anything. Three ways to convert a walkthrough into practice:

Trap two — over-reading the documentation

The opposite failure, and the one that catches conscientious people. Security tool documentation is enormous and much of it is genuinely good, so it is pleasant to read — and reading it can absorb unlimited time while producing nothing you can retrieve. Worse, on a hands-on exam where no assistant is permitted, it produces a specific bad habit: you learn to find things rather than to know them, and then you burn four minutes navigating during a task you should have typed from memory. Documentation has exactly two legitimate roles in this plan: answering a specific question you already have, after which you close the tab, and building your own condensed reference so you are not reading upstream docs at speed on the day. The discipline that keeps both honest: never open documentation without a question. If you cannot say what you are looking for, you are browsing, and browsing is entertainment.

Trap three — tool-collecting

This course's tooling landscape lists dozens of tools, and it is tempting to treat that as a memorisation target. It is not. A candidate who can name twenty-five scanners and drive six of them fluently is in far better shape than one who has read the marketing page for all twenty-five. Depth per category beats breadth across categories, because the exam gives you a problem, not a tool name — and because, as the write-ups warn, the specific tool in front of you may be one you have never opened. Pick one scanner per category, get to tier three with it, and only then broaden.

Trap four — looking for a shortcut that does not exist

⚠ The shortcuts that don't work here

"Just watch the videos at 2×, it counts as studying." "Find someone's leaked report and adapt it." "No need to time yourself, adrenaline will make you faster on the day." Every one of these swaps a hard, boring, effective activity for an easy, pleasant, useless one — and on this exam they fail on their own terms as well. Memorised answers cannot fix a live environment. A borrowed report describes a run that did not happen to you, in an environment that was not yours, and is trivially inconsistent with the evidence you would actually have. And adrenaline does not make anyone faster at recalling a flag they never drilled; it makes everyone slower at everything except panicking.

What one useful session looks like

☺ Like you're 10: Small amounts, most days, at the same time. That beats one giant panic weekend, every time.

Study plans fail on scheduling, not on content. This page deliberately does not give you a calendar — the CDP study plan already maps the nine-chapter blueprint onto an actual week-by-week schedule, with a toolchain gate up front and mock exams placed so you do not burn all four early. What this page owns is the inside of a session, because a well-scheduled hour spent badly is still an hour spent badly.

MinutesWhatWhy
0–5Retrieval warm-up: last session's task, reconstructed from a blank page or a blank terminalStarts with the hard move while you are fresh, and doubles as a spaced review
5–15Read the lesson for today's competencyInput, bounded. The timer is what stops this eating the hour
15–45Do it: on a real target, with a clock, predicting before every gateThe only part that actually moves a ledger score
45–52Break it on purpose and confirm the check catches it againConverts fragile knowledge into knowledge that survives a surprise
52–57Write the four-heading evidence noteTrains tier three, which nothing else in the session touches
57–60Update the ledger, log mistakes, schedule the +1d reviewThree minutes that make every future session better-targeted

Notice that only thirty of the sixty minutes are spent doing the thing, and that this is correct. The warm-up, the sabotage, the evidence note and the bookkeeping are not overhead around the real work — they are the parts that make the thirty minutes stick.

When you miss a week

You will. The rule is: do not restart, and do not try to make it up. Come back with a single thirty-minute retrieval session on whatever the ledger says is weakest, take the score hit honestly, and resume the normal week. Candidates who try to repay lost hours in one weekend usually abandon the plan entirely within a fortnight. A study plan you resume is worth ten study plans you abandon.

🦉 Professor Owl's drill · 25 min

Do this before you study anything else. Open a blank file next to the nine chapters of this course's exam blueprint. For every chapter, write one line: the competency rewritten as a verb with a real target and a proof, and a confidence score of 0–3 using the strict definition — a 3 means you did it cold, inside its slot, twice, on different days, with a usable evidence note both times. Do not look anything up while scoring; the entire value is in the honesty. Add the tenth line for the report itself. Then run the two awk commands and read the per-chapter averages. Whichever chapter is lowest is Monday's session, regardless of which one you find most interesting. You have just built a study plan in twenty-five minutes, and it is better targeted than any generic one you could buy.

How to know you are actually ready

☺ Like you're 10: "I feel ready" is not evidence. "I did it twice, cold, in time, and wrote it up" is evidence. Only book on evidence.

Confidence is not a readiness signal — it is a mood, and it tracks how recently you read something rather than whether you can produce it. The exam has an objective bar, so measure yourself against an objective test.

Signals that mean nothing

Feels like readinessWhy it is not
"I've read every page on this site"Input is not output. Reading measures your patience, not your recall
"I finished the video course"Completion is the course's metric, not the exam's
"It all feels familiar now"Familiarity is tier one. The exam grades tiers two and three
"I scored well on a mock — but I'd seen it before"A repeated set measures memory of that set. Keep one entirely unseen for the final week
"I can name every tool in the landscape"The exam hands you a problem, not a tool name — and possibly a tool you have never opened
"I've been at this for three months"Time served is not a signal. Two candidates with identical hours can be nowhere near each other

One useful sanity check on scale, offered with a caveat. The earliest published CDP review this course could verify — Sanjeev Jaiswal's, from May 2020 — describes roughly a month of preparation at one to two hours a day, with the labs repeated two or three times, and recommends arriving with Docker, CI/CD and SSH already familiar. Two later reviews quote near-identical prep numbers in near-identical phrasing, which suggests they are variations on Jaiswal's sentence rather than three independent data points — so treat it as one reported experience, from someone who already worked in the field, not as a norm. Your ledger is a far better estimator of your own remaining hours than anyone else's blog post is.

The last 72 hours

☺ Like you're 10: The three days before the exam are for polishing what you have, not for learning anything new. And sleep counts as studying.

Whatever you do not know 72 hours out, you will not know on the day — so stop trying. The final stretch has one job: arrive rested, fast and calm, with the mechanics rehearsed so that none of your attention goes to logistics.

WindowDoDon't
T-72 → T-48Your final unseen full-window rehearsal, under real conditions and the real clock. Mark it, and drill its two worst findings — you still have two days to act on what it findsOpen a topic you have never touched. If the rehearsal reveals something big and unlearnable in two days, that is real information about whether to reschedule
T-48 → T-24Read your own artefacts: the mistake log end to end, the ledger's remaining 1s and 2s, and your own cheatsheet. Speed reps only, on tasks you already ownSit another full rehearsal — you cannot act on the result in time, and the fatigue is real
T-24 → T-8One light pass over the cheatsheet. Confirm the logistics: your window, your connection, the submission process for the report, and where you will be for the 24 hours after the exam endsCram. It costs more in fatigue than it returns in recall
T-8 → 0Sleep, eat, set two alarms, start earlyAny studying at all

Two logistics items are worth calling out because they are specific to this exam's shape rather than general exam advice. First, build your own cheatsheet of code and command snippets before the dayDiogo Pereira, whose July 2024 write-up is the most recent first-hand account this course could verify, names exactly that as his main preparation advice, alongside reading the vendor's PDF manuals next to the videos and planning the time split across exercises before starting. It is the natural companion to a no-assistant exam. Yours should be the invocations you keep fumbling in times.psv, not a copy of somebody else's. Second, plan where you will be for the 24 hours after the hands-on window closes, because the report deadline keeps running regardless of sleep, and a six-hour technical exam followed by an all-nighter is a bad way to produce a graded document. The mechanics of the day itself — registration, the two clocks, what to do when the environment misbehaves — belong to the CDP exam guide rather than to this page.

◆ Key idea

The last 72 hours cannot add knowledge, but they can absolutely subtract points — through fatigue, a missed submission process, or a panic-induced topic switch. Treat the final stretch as protecting the score you already have.

Where to point the method

☺ Like you're 10: This page is how to study. These pages are what to study.

🎬 At the Shift-Left Squad
🦫

Benny: I've read the whole blueprint twice. Book me in for Friday.

🦉

Professor Owl: Splendid. Close the laptop and write me the exact invocation that fails a build on a fixable HIGH. Every flag. No notes.

🦫

Benny: …it starts with trivy image. There's a severity one. And something about unfixed?

🐰

Remy: Five seconds, gone. That's recognition. You've read it. You don't own it.

🦊

Foxy: And even if he'd got it — how does he prove to a grader who wasn't in the room that the gate actually fired?

🐢

Timmy: He doesn't. That's the bit everyone skips. Fix it, re-run it, screenshot it, four lines of write-up, then stand up. Not at hour five.

🐿️

Nutty: File the evidence the instant it exists. Digging it up later costs ten times as long — and here you can't dig it up at all, because the lab's gone when the clock stops.

🦫

Benny: Fine. So what do I actually do tomorrow?

🦉

Professor Owl: Score all nine chapters honestly, find the lowest one, and do a sixty-minute rep on it with a timer running. Measure, then study. In that order.

One method, one exam, three tiers. If the vocabulary is not yet free, start with the flashcards and Know It Cold. If it is, open the blueprint and build the ledger tonight — it takes twenty-five minutes and it will tell you more about your next month than any amount of reading will. Then take the plan to the CDP study plan, work the challenge bank against a real clock, and when the objective signals turn green, read the exam guide and book it.

🐢 Timmy's checkpoint

1. Name the three tiers of knowing, and say which of the CDP's two windows grades each one. 2. Why is re-reading a poor use of study time, and what single move should replace it? 3. Practical DevSecOps publishes no domain weighting for the five challenges. What should you prioritise by instead, and what should you not do? 4. Every published first-hand account of this exam describes a 12-hour hands-on window, while the official spec now says six hours. Which parts of those accounts still transfer, and which do not? 5. In a predict-then-verify rep, which outcome is more valuable — prediction right, or prediction wrong? 6. What does a confidence score of 3 mean in the ledger, and why does the definition include something about evidence? 7. Your mistake log is dominated by undocumented entries. What is the diagnosis, and what should you change? 8. Give three objective readiness signals, and one signal that feels convincing but means nothing.

Check your answers
  1. Recognise ("yes, I know that"), produce ("I can do it cold, on a clock") and evidence ("and here is the proof it worked"). The 6-hour challenge window grades production; the 24-hour report window grades evidence. Recognition is never graded at all — it is only ever a by-product of reading.
  2. Re-reading trains recognition, which feels like learning because it is fluent, but recognition earns nothing on a task-based exam. Replace it with retrieval: shut the tab and produce the thing — the command from a blank terminal, the fix on a real target, the evidence note from memory — and only then check.
  3. Prioritise by your own measured gap, using a confidence ledger scored honestly against the nine-chapter blueprint, because gap is the only weighting you actually have. Do not invent percentages or assume the five challenges map one-to-one onto five chapters — with only five items, one unfamiliar challenge is a fifth of the paper, so plan for coverage.
  4. The tactics transfer completely: read all five challenges before starting, document as you go because lab access ends with the clock, expect tools and languages you have not practised on, and build a personal cheatsheet in advance. The arithmetic transfers not at all — every per-challenge time budget in those accounts is roughly double the current one, and one of them describes spending four hours on challenge one, which under a six-hour clock would be the entire exam.
  5. Prediction wrong. A wrong prediction pinpoints exactly where your mental model is broken, which is the only thing in a lab worth your time. A right prediction merely confirms your model cheaply.
  6. 3 means you did it cold, inside its time budget, twice, on different days, and produced a usable evidence note both times. The evidence clause is there because the exam grades a written report as well as a live environment — a fix you cannot document is a fix the report cannot defend, so "done" has to include tier three or the score is only ever partial.
  7. Your technical work is fine and your reporting habit is what stands between you and a pass — you are fixing and verifying, then losing the record of it. The change is mechanical, not intellectual: write the four-heading evidence note (the finding, proof it was real, what you changed and why, proof it is fixed) at the close of every single rep, while the terminal history is still on screen, rather than at the end of the session or the end of the week.
  8. Objective signals include: two full-window rehearsals on different days inside the real six-hour clock, above your personal bar; every chapter at confidence 2 or better with none at 0; median rep time inside the 60-minute slot in your own timing log; a submittable report assembled from notes in under two hours; a quiet mistake log with no unverified or undocumented entries. A signal that means nothing: "it all feels familiar now" — that is tier one — or "I can name every tool in the landscape," since the exam hands you a problem rather than a tool name.