<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: miad</title>
    <description>The latest articles on DEV Community by miad (@miad_ea7faef80e5125861119).</description>
    <link>https://dev.to/miad_ea7faef80e5125861119</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F2718242%2Feb94286d-9e06-4ca8-98d0-05ece93d8800.png</url>
      <title>DEV Community: miad</title>
      <link>https://dev.to/miad_ea7faef80e5125861119</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/miad_ea7faef80e5125861119"/>
    <language>en</language>
    <item>
      <title>Developers keep failing AWS SAA-C03 for the same reason (and it's not lack of AWS knowledge)</title>
      <dc:creator>miad</dc:creator>
      <pubDate>Wed, 27 May 2026 18:07:39 +0000</pubDate>
      <link>https://dev.to/miad_ea7faef80e5125861119/developers-keep-failing-aws-saa-c03-for-the-same-reason-and-its-not-lack-of-aws-knowledge-6l6</link>
      <guid>https://dev.to/miad_ea7faef80e5125861119/developers-keep-failing-aws-saa-c03-for-the-same-reason-and-its-not-lack-of-aws-knowledge-6l6</guid>
      <description>&lt;p&gt;I've looked at a lot of SAA-C03 failure patterns. The ones that show up again and&lt;br&gt;
  again aren't from people who don't know AWS. They're from people who know AWS&lt;br&gt;
  well but are treating the wrong exam.&lt;/p&gt;

&lt;p&gt;Here's what I mean.&lt;/p&gt;

&lt;p&gt;## The exam isn't testing AWS knowledge&lt;/p&gt;

&lt;p&gt;SAA-C03 is a scenario exam. Every question gives you four options that are&lt;br&gt;
  technically correct. The answer is determined by two or three words buried in the&lt;br&gt;
  scenario stem: "cost-effective," "minimal operational overhead," "existing&lt;br&gt;
  on-premises LDAP directory," "millisecond latency."&lt;/p&gt;

&lt;p&gt;Those words are the exam. Not the service names.&lt;/p&gt;

&lt;p&gt;A developer who has shipped production workloads on AWS knows what S3, RDS,&lt;br&gt;
  Lambda, and SQS do. That knowledge gets you to 60-65% on SAA-C03 without trying.&lt;br&gt;
  It does not reliably get you to 72% (720 scaled) because the hard questions aren't&lt;br&gt;
  asking what a service does. They're asking which combination of services satisfies&lt;br&gt;
  the constraint described in the scenario.&lt;/p&gt;

&lt;p&gt;The symptom that tells me this is someone's problem: after the exam, they remember&lt;br&gt;
  questions where they narrowed to two answers and picked the wrong one. Both answers&lt;br&gt;
  used correct AWS services. One of them satisfied the scenario constraint. They&lt;br&gt;
  picked the one that was more technically interesting.&lt;/p&gt;

&lt;p&gt;## The second failure mode: domain-specific gap that isn't where you think&lt;/p&gt;

&lt;p&gt;AWS provides a score report broken down by four domains:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Design Secure Architectures (30%)&lt;/li&gt;
&lt;li&gt;Design Resilient Architectures (26%)&lt;/li&gt;
&lt;li&gt;Design High-Performing Architectures (24%)&lt;/li&gt;
&lt;li&gt;Design Cost-Optimized Architectures (20%)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Candidates who fail with a score report showing near-passing across all domains&lt;br&gt;
  usually have one of two problems. Either the domain label is masking a subtopic gap&lt;br&gt;
  (Route 53 routing policies under Resilient Architectures, for example, which trips&lt;br&gt;
  candidates who drilled EC2 HA patterns exclusively), or they're dealing with&lt;br&gt;
  practice bank fatigue: a 78% score on a question bank they've seen twice is a&lt;br&gt;
  memory score, not a capability score.&lt;/p&gt;

&lt;p&gt;Switching to a fresh question source in the final two weeks changes the picture&lt;br&gt;
  significantly. A lot of candidates who "should have passed based on practice scores"&lt;br&gt;
  are measuring recall, not readiness.&lt;/p&gt;

&lt;p&gt;## The third one: running out of time&lt;/p&gt;

&lt;p&gt;130 minutes for 65 questions is two minutes per question on average. Some questions&lt;br&gt;
  are 50 words. Some are 200. The budget is uneven and candidates who don't actively&lt;br&gt;
  pace run out of time on the last ten questions.&lt;/p&gt;

&lt;p&gt;AWS doesn't differentiate between a wrong answer and an unanswered one. Both score&lt;br&gt;
  zero. Candidates who time out on the final ten with a 710 scaled score are losing&lt;br&gt;
  to the format, not the content.&lt;/p&gt;

&lt;p&gt;The fix is specific: 90 seconds from when you start reading a question, if you&lt;br&gt;
  haven't narrowed to two answers, mark it and move on. Select your current best&lt;br&gt;
  guess so you have something if time runs out. Come back during the review period.&lt;br&gt;
  The question you'll spend five minutes on early in the exam is almost always harder&lt;br&gt;
  than the one you'd rush at the end. Mark and move is a rule, not a suggestion.&lt;/p&gt;




&lt;p&gt;I wrote a longer breakdown of all three failure modes with the per-domain&lt;br&gt;
  diagnostic at &lt;a href="//doc.claudelab.me"&gt;doc.claudelab.me&lt;/a&gt; if you're working through a retake.&lt;/p&gt;

&lt;p&gt;What's your experience been? Curious whether the constraint-reading problem&lt;br&gt;
  resonates with others who've sat SAA-C03 more than once.&lt;/p&gt;

</description>
      <category>aws</category>
      <category>career</category>
      <category>certification</category>
      <category>cloud</category>
    </item>
    <item>
      <title>Your cert exam is 10 weeks away. You've studied three times. Here's the pattern.</title>
      <dc:creator>miad</dc:creator>
      <pubDate>Sun, 17 May 2026 18:24:47 +0000</pubDate>
      <link>https://dev.to/miad_ea7faef80e5125861119/your-cert-exam-is-10-weeks-away-youve-studied-three-times-heres-the-pattern-53nk</link>
      <guid>https://dev.to/miad_ea7faef80e5125861119/your-cert-exam-is-10-weeks-away-youve-studied-three-times-heres-the-pattern-53nk</guid>
      <description>&lt;p&gt;When I started building ClaudeLab, I expected the hard part to be the AI engine. The adaptive&lt;br&gt;
  testing logic, the Claude API integration, the readiness scoring. That stuff was hard, but it&lt;br&gt;
  was the kind of hard that has a solution. You debug it and it gets better.&lt;/p&gt;

&lt;p&gt;The pattern I didn't expect was this one:&lt;/p&gt;

&lt;p&gt;User books an exam. Opens the app on day one. Does the evaluation. Gets a roadmap. Comes back&lt;br&gt;
  the next day. Comes back the day after. Then nothing for eight days. Then one session. Then&lt;br&gt;
  nothing for five days. Exam is now four weeks out. Readiness is below 60. The user logs back&lt;br&gt;
  in and I can almost feel the dread in the session start time (11pm on a Sunday).&lt;/p&gt;

&lt;p&gt;This happened in roughly the same shape with dozens of users in the first month. Different&lt;br&gt;
  certs, different experience levels, different timelines. Same pattern.&lt;/p&gt;

&lt;p&gt;## It's not a discipline problem&lt;/p&gt;

&lt;p&gt;The first thing I assumed was that some people are just better at self-study than others.&lt;br&gt;
  Discipline. Motivation. Whatever you want to call it. But that doesn't hold up when you look&lt;br&gt;
  closer. The users who skipped sessions weren't skipping everything. They were shipping code at&lt;br&gt;
  work. Going to the gym. Doing all the other things that require consistency. Just not studying&lt;br&gt;
  for the cert.&lt;/p&gt;

&lt;p&gt;The difference is structure. The gym has a time slot. Work has deadlines and a manager. The&lt;br&gt;
  cert exam is ten weeks away and nothing breaks if you skip tonight.&lt;/p&gt;

&lt;p&gt;That's the real problem. Cert study has no near-term consequence for skipping. The feedback loop&lt;br&gt;
  is so long that every individual session feels optional. And when every session feels optional,&lt;br&gt;
  most of them get skipped.&lt;/p&gt;

&lt;p&gt;## The Sunday-night binge&lt;/p&gt;

&lt;p&gt;There's a specific version of this I started calling the Sunday-night binge. User skips Monday&lt;br&gt;
  through Saturday. Sits down Sunday night and does two hours. Feels productive. Mock score barely&lt;br&gt;
  moves. Skips Monday through Saturday again.&lt;/p&gt;

&lt;p&gt;Two hours in one sitting is not equivalent to 20 minutes across six days, even if the clock says&lt;br&gt;
  otherwise. Spaced repetition works on the spacing. A single long session practices retrieval once.&lt;br&gt;
  Six shorter sessions practice retrieval six times across the interval where memory decay actually&lt;br&gt;
  happens. The total hours look the same. The output isn't.&lt;/p&gt;

&lt;p&gt;The binge feels like catching up. It's not. It's mostly rework on material that would have stuck&lt;br&gt;
  if it had been reviewed on day three instead of day nine.&lt;/p&gt;

&lt;p&gt;## The decision that shouldn't exist&lt;/p&gt;

&lt;p&gt;Here's a smaller thing that turned out to matter a lot. When a user opens a study app, they&lt;br&gt;
  usually have to decide what to study. Open the course. Pick a chapter. Find where they left off.&lt;br&gt;
  That decision costs maybe 90 seconds. But 90 seconds of friction on an already-optional task is&lt;br&gt;
  enough to tip "I'll do it tomorrow" into an easy choice.&lt;/p&gt;

&lt;p&gt;We removed the decision entirely. Every time you open ClaudeLab, there's exactly one task waiting.&lt;br&gt;
  Not a chapter list. Not a progress dashboard to interpret. One thing. If you do it, you're done&lt;br&gt;
  for the day. The decision is gone.&lt;/p&gt;

&lt;p&gt;It sounds like a small thing. It changed engagement patterns more than any other single change&lt;br&gt;
  we made to the product.&lt;/p&gt;

&lt;p&gt;## What readiness decay actually looks like&lt;/p&gt;

&lt;p&gt;We model readiness decay at roughly three points per day of inactivity. Not as a punishment, that's&lt;br&gt;
  just what retention science says happens to unreviewed material. A user who hits 72% readiness and&lt;br&gt;
  then goes quiet for a week comes back at around 51%.&lt;/p&gt;

&lt;p&gt;They didn't stand still. They went backward.&lt;/p&gt;

&lt;p&gt;The problem is that most candidates don't have a number. They have a vague sense that they "probably&lt;br&gt;
  need more time." That's easy to defer. A readiness score of 51 with six weeks left is not easy to&lt;br&gt;
  defer. It's a specific gap with a specific cost attached.&lt;/p&gt;

&lt;p&gt;One of the things ARIA does when you return after a gap is show you exactly where you are and what&lt;br&gt;
  the recalibrated plan looks like. Not a guilt trip. Just the updated math. Users who see the number&lt;br&gt;
  restart more consistently than users who just see an encouraging message.&lt;/p&gt;

&lt;p&gt;## The structural fix&lt;/p&gt;

&lt;p&gt;The pattern breaks when you attach the session to a fixed external trigger (not "after work", which&lt;br&gt;
  moves, but "7:30pm before anything else", which doesn't), remove the what-to-study decision, and&lt;br&gt;
  make streak breaks visible as a concrete number that breaks tonight rather than a vague "you haven't&lt;br&gt;
  studied in a while."&lt;/p&gt;

&lt;p&gt;None of this is novel behavioral science. It's basic habit design applied to a context where almost&lt;br&gt;
  nobody applies it.&lt;/p&gt;

&lt;p&gt;If you're in the middle of this pattern right now, I wrote up the full breakdown of what we learned&lt;br&gt;
  and the structural fixes that actually move the needle: &lt;a href="https://doc.claudelab.me/articles/procrastinating-cert-study" rel="noopener noreferrer"&gt;Procrastinating cert study, why it keeps&lt;br&gt;
  happening and how to stop&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;The short version: the exam date is real, the readiness decay is real, and one 20-minute session&lt;br&gt;
  tonight is worth more than a two-hour session on Sunday.&lt;/p&gt;

</description>
      <category>career</category>
      <category>productivity</category>
      <category>learning</category>
      <category>aws</category>
    </item>
    <item>
      <title>How adaptive testing converges on cert readiness in 25 questions</title>
      <dc:creator>miad</dc:creator>
      <pubDate>Fri, 15 May 2026 16:33:02 +0000</pubDate>
      <link>https://dev.to/miad_ea7faef80e5125861119/how-adaptive-testing-converges-on-cert-readiness-in-25-questions-32gl</link>
      <guid>https://dev.to/miad_ea7faef80e5125861119/how-adaptive-testing-converges-on-cert-readiness-in-25-questions-32gl</guid>
      <description>&lt;h1&gt;
  
  
  How adaptive testing converges on cert readiness in 25 questions
&lt;/h1&gt;

&lt;p&gt;A well-built adaptive test is binary search for skill level.&lt;/p&gt;

&lt;p&gt;You start at the middle of the difficulty range. Get one right,&lt;br&gt;
  the next question shifts harder. Get it wrong, it drops back.&lt;br&gt;
  Each answer halves the uncertainty band around your real skill&lt;br&gt;
  estimate. By question 15, you know more about a learner than a&lt;br&gt;
  fixed 50-question test does at the end.&lt;/p&gt;

&lt;p&gt;This is computerized adaptive testing (CAT), and it's the most&lt;br&gt;
  underused idea in cert prep.&lt;/p&gt;

&lt;p&gt;## The IRT engine underneath&lt;/p&gt;

&lt;p&gt;Item response theory (IRT) is what makes it work. Every question&lt;br&gt;
  in the bank has a calibrated difficulty on a continuous scale.&lt;br&gt;
  Every learner has a latent skill value on the same scale. The&lt;br&gt;
  algorithm's job is to estimate that value as fast as possible.&lt;/p&gt;

&lt;p&gt;After each answer, it does two things:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Updates the point estimate of your skill (Bayesian update,
 roughly)&lt;/li&gt;
&lt;li&gt;Picks the next question whose calibrated difficulty sits closest
 to the current estimate&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;That second step is the key. A question that's far above your&lt;br&gt;
  current estimate is mostly noise. A question at your current&lt;br&gt;
  estimate is maximally informative. The algorithm isn't picking&lt;br&gt;
  "the next hard question" or "the next easy question." It's picking&lt;br&gt;
  the one most likely to shrink the confidence interval.&lt;/p&gt;

&lt;p&gt;## Why convergence is geometric, not linear&lt;/p&gt;

&lt;p&gt;The uncertainty band doesn't shrink uniformly. It shrinks fast&lt;br&gt;
  early, then the gains flatten.&lt;/p&gt;

&lt;p&gt;After 8 questions, the band is wide but already useful. After 15,&lt;br&gt;
  it's narrow enough to act on for most learners. After 25, the&lt;br&gt;
  marginal information per question has dropped close to zero.&lt;br&gt;
  Asking question 26 is roughly a coin flip on whether it tells&lt;br&gt;
  you anything new.&lt;/p&gt;

&lt;p&gt;This is why stopping at 25 isn't a shortcut. It's the point&lt;br&gt;
  where continuing would add fatigue and noise, not signal. Fixed&lt;br&gt;
  50-question pretests are a holdover from paper testing. They&lt;br&gt;
  survived in software because they're easier to build and look&lt;br&gt;
  more thorough. They aren't.&lt;/p&gt;

&lt;p&gt;## The output is per-domain, not a percentage&lt;/p&gt;

&lt;p&gt;Most cert pretests return a single number. 74%. Which tells you&lt;br&gt;
  almost nothing useful about what to study next.&lt;/p&gt;

&lt;p&gt;A real CAT returns a skill estimate per domain, because failure&lt;br&gt;
  modes are domain-specific. AWS SAA-C03 might return:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Networking: Proficient (82)&lt;/li&gt;
&lt;li&gt;Storage: Developing (47)&lt;/li&gt;
&lt;li&gt;Security: Novice (24)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;"Security: Novice" means start the roadmap on Security.&lt;br&gt;
  "Networking: Proficient" means one validation milestone, not&lt;br&gt;
  six. The prep plan is different for each learner. That's the&lt;br&gt;
  whole point.&lt;/p&gt;

&lt;p&gt;## Where it breaks down&lt;/p&gt;

&lt;p&gt;Three failure modes worth knowing if you're building something&lt;br&gt;
  similar:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Narrow item bank.&lt;/strong&gt; If the bank doesn't have well-calibrated&lt;br&gt;
  items at the high end, confidence can't push past a ceiling&lt;br&gt;
  no matter how well the learner answers. They cap at Competent&lt;br&gt;
  on a domain they actually own at Proficient. Fix: bank breadth,&lt;br&gt;
  tracked per cert.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Intentional gaming.&lt;/strong&gt; Deliberately answering easy items wrong&lt;br&gt;
  to see harder ones. The algorithm obliges, then climbs back.&lt;br&gt;
  The estimate converges on the gamed pattern. Can't distinguish&lt;br&gt;
  intent from skill.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Sparse domain coverage.&lt;/strong&gt; On certs with many domains, the&lt;br&gt;
  CAT sometimes stops before sampling all of them. Untouched&lt;br&gt;
  domains report as the lowest level by default. Not a failure,&lt;br&gt;
  but an absence of signal.&lt;/p&gt;

&lt;p&gt;None of these are unique to CAT. Fixed-length tests have worse&lt;br&gt;
  versions of each, plus the personalization cost on top.&lt;/p&gt;




&lt;p&gt;I wrote a longer breakdown of the exact stopping conditions,&lt;br&gt;
  the 95% confidence threshold, and how the domain-level output&lt;br&gt;
  drives a personalized roadmap in the ClaudeLab docs:&lt;br&gt;
  &lt;a href="https://doc.claudelab.me/articles/cat-evaluation-explained" rel="noopener noreferrer"&gt;CAT evaluation explained&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;If you're building something that needs to assess knowledge&lt;br&gt;
  quickly and accurately, the 25-question ceiling is worth&lt;br&gt;
  understanding before you default to "just make the test longer."&lt;/p&gt;

</description>
      <category>algorithms</category>
      <category>testing</category>
      <category>learning</category>
      <category>productivity</category>
    </item>
  </channel>
</rss>
