Skip to content

Commit 796731b

Browse files
committed
Revise engineering judgment workshop exercises to include five judgment muscles
Updated the exercise structure to introduce a new exercise focused on feature framing and product thinking, emphasizing the importance of evaluating feature requests before implementation. Adjusted the numbering of exercises and refined descriptions to enhance clarity and learning outcomes. Added detailed plans and key takeaways for the new exercise to support instructors in guiding participants.
1 parent 51a3433 commit 796731b

2 files changed

Lines changed: 88 additions & 19 deletions

File tree

instructor/00-engineering-judgement.md

Lines changed: 46 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -44,14 +44,15 @@ Each exercise follows the same loop. The exercises should **not** feel like repe
4444

4545
---
4646

47-
## **4. Exercise Progression: Four Judgment Muscles**
47+
## **4. Exercise Progression: Five Judgment Muscles**
4848

4949
| Exercise | Skill | Purpose |
5050
|----------|-------|---------|
5151
| 1 | Problem definition | Convert vague goals into concrete system definition |
5252
| 2 | Protecting UX invariants | Identify what must not degrade when a system evolves |
53-
| 3 | Articulating tradeoffs | Make competing constraints legible and justify decisions |
54-
| 4 | Risk modeling & system continuity | Manage large change while preserving user trust |
53+
| 3 | Feature framing and product thinking | Decide whether a feature is worth building and define why before implementation starts |
54+
| 4 | Articulating tradeoffs | Make competing constraints legible and justify decisions |
55+
| 5 | Risk modeling & system continuity | Manage large change while preserving user trust |
5556

5657
The workshop should feel like **layers of engineering judgment**, not repeated planning exercises.
5758

@@ -113,7 +114,36 @@ Implementation occurs after these protections are defined.
113114

114115
---
115116

116-
## **7. Exercise 3 — Conflicting Constraints**
117+
## **7. Exercise 3 — Feature Framing and Product Thinking**
118+
119+
**Purpose:** Train engineers to slow down and determine whether a feature is worth shipping before they move into implementation mode.
120+
121+
**Scenario:** The MVP exists and a plausible new feature request arrives, but the request is underdefined and the team is at risk of shipping motion instead of value.
122+
123+
**Reference inspiration:** [@thdxr on delaying gratification in product development](https://x.com/thdxr/status/2031377117007454421)
124+
125+
**Summary of the post:** LLMs make it too easy to ship features into existence, which lowers the bar for what deserves to ship, encourages hacky iteration instead of thoughtful design, and crowds out cleanup/refactoring work that would improve the product more.
126+
127+
**Example scenarios** for the scheduling app:
128+
- Add recurring meetings because "power users will want it"
129+
- Add participant accounts because "it feels more professional"
130+
- Add AI-generated meeting suggestions because "we should have something intelligent"
131+
132+
**Participants must:**
133+
1. Clarify the user problem behind the request
134+
2. Separate real evidence from assumption and momentum
135+
3. Define what would make the feature worth shipping
136+
4. Consider smaller alternatives or deferral paths
137+
5. Identify cleanup/refactoring that should happen before adding new complexity
138+
6. Recommend: ship, narrow, defer, or reject
139+
140+
**Key concept:** Engineering judgment is not only about executing features well. It is also about deciding whether the feature should exist in its current form at all.
141+
142+
**Learning outcome:** Participants practice raising the quality bar before implementation begins.
143+
144+
---
145+
146+
## **8. Exercise 4 — Conflicting Constraints**
117147

118148
**Purpose:** Train engineers to articulate and justify tradeoffs.
119149

@@ -137,7 +167,7 @@ Implementation occurs after these protections are defined.
137167

138168
---
139169

140-
## **8. Exercise 4 — System Migration Risk**
170+
## **9. Exercise 5 — System Migration Risk**
141171

142172
**Purpose:** Teach engineers to manage large system change while preserving user trust.
143173

@@ -178,7 +208,7 @@ Participants must propose:
178208

179209
---
180210

181-
## **9. Consistent Vocabulary**
211+
## **10. Consistent Vocabulary**
182212

183213
Use throughout the workshop:
184214

@@ -199,12 +229,13 @@ The workshop trains thinking, not implementation.
199229

200230
---
201231

202-
## **10. Design Goals: Participant Capabilities**
232+
## **11. Design Goals: Participant Capabilities**
203233

204234
Participants should leave with the ability to:
205235

206236
- Define problems clearly
207237
- Identify hidden constraints
238+
- Decide whether a proposed feature is worth building
208239
- Articulate tradeoffs before implementation
209240
- Detect silent UX degradation
210241
- Model system risk
@@ -214,7 +245,7 @@ This capability should remain valuable even as implementation becomes increasing
214245

215246
---
216247

217-
## **11. Structural Model of Each Exercise (Detail)**
248+
## **12. Structural Model of Each Exercise (Detail)**
218249

219250
### **A. Problem Phase**
220251

@@ -268,7 +299,7 @@ Failure is allowed — but must be explained through reasoning.
268299

269300
---
270301

271-
## **12. Stakeholder Design Model**
302+
## **13. Stakeholder Design Model**
272303

273304
Create a **Stakeholder Sheet** containing:
274305
- Business goals
@@ -284,7 +315,7 @@ Create a **Stakeholder Sheet** containing:
284315

285316
---
286317

287-
## **13. Dungeon Master Analogy (Refined)**
318+
## **14. Dungeon Master Analogy (Refined)**
288319

289320
Useful metaphor:
290321
- You have hidden system knowledge.
@@ -302,7 +333,7 @@ You reveal information when:
302333

303334
---
304335

305-
## **14. Key Design Decisions**
336+
## **15. Key Design Decisions**
306337

307338
### **Decision 1 — No Implementation Rubric**
308339
You are not evaluating their coding workflow.
@@ -315,7 +346,7 @@ If they miss a key constraint: let them implement, let it fail, then analyze why
315346

316347
---
317348

318-
## **15. Philosophy Alignment**
349+
## **16. Philosophy Alignment**
319350

320351
The workshop is valuable because:
321352
- It compresses ambiguity into a controlled learning loop.
@@ -330,7 +361,7 @@ It is not valuable because:
330361

331362
---
332363

333-
## **16. Open Design Question (Still Unresolved)**
364+
## **17. Open Design Question (Still Unresolved)**
334365

335366
How to formalize evaluation in scalable/self-paced form.
336367

@@ -342,11 +373,11 @@ Not solved yet — intentionally deferred until after first live run.
342373

343374
---
344375

345-
## **17. Immediate Next Planning Steps**
376+
## **18. Immediate Next Planning Steps**
346377

347378
Before implementation, define:
348379
1. The stakeholder sheet for each exercise
349380
2. The participant role sheet
350381
3. The explicit evaluation reflection questions
351382
4. The hidden constraints for each exercise
352-
5. Exercise 2–4 content (currently only Exercise 1 is implemented)
383+
5. Exercise 2–5 content (currently only Exercise 1 is implemented)

instructor/notes.md

Lines changed: 42 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -39,15 +39,19 @@ Each exercise targets a different judgment dimension. Avoid repeated stakeholder
3939
6. Gap analysis
4040
7. Extracted heuristics
4141

42-
### Proposed Exercise Arc (Four Judgment Muscles)
42+
### Proposed Exercise Arc (Five Judgment Muscles)
4343

4444
1. **Exercise 1 — Ambiguous Product: Build the MVP**
4545
- Problem definition: convert vague goals into concrete system definition.
4646
2. **Exercise 2 — Protect the User Experience**
4747
- Protecting UX invariants: identify what must not degrade when a system evolves.
48-
3. **Exercise 3 — Conflicting Constraints**
48+
3. **Exercise 3 — Feature Framing and Product Thinking**
49+
- Feature judgment: decide whether a feature is worth building, clarify the underlying problem, and raise the bar for what should ship before implementation begins.
50+
- Reference: [@thdxr on delaying gratification in product development](https://x.com/thdxr/status/2031377117007454421)
51+
- Summary: LLMs make it too easy to ship features into existence, which lowers the bar for product thinking, encourages hacky iteration, and pulls teams away from refactoring and cleanup. This exercise should train learners to slow down, define why a feature matters, and reject work that is not clearly worth its cost.
52+
4. **Exercise 4 — Conflicting Constraints**
4953
- Articulating tradeoffs: make competing constraints legible and justify decisions.
50-
4. **Exercise 4 — System Migration Risk**
54+
5. **Exercise 5 — System Migration Risk**
5155
- Risk modeling & system continuity: manage large change while preserving user trust.
5256

5357
## What to Build First (Implementation Priority)
@@ -87,7 +91,7 @@ Each exercise targets a different judgment dimension. Avoid repeated stakeholder
8791

8892
1. **Intro (15 min)**
8993
- Set expectations: judging reasoning quality, not coding speed.
90-
2. **Exercise cycle x 4 (35-45 min each)**
94+
2. **Exercise cycle x 5 (35-45 min each)**
9195
- Framing + questions + build + evaluation.
9296
3. **Debrief after each cycle (10-15 min)**
9397
- Capture decision patterns and failure modes.
@@ -113,13 +117,47 @@ Each exercise targets a different judgment dimension. Avoid repeated stakeholder
113117
- Diff between problem and solution is focused and teachable.
114118
- Instructor notes include timing, prompts, and debrief cues.
115119

120+
## Exercise 3 Detailed Plan (Feature Framing and Product Thinking)
121+
122+
### Purpose
123+
124+
Teach learners that good engineering judgment starts before tradeoffs and implementation. They should be able to slow down, inspect whether a request is actually worth shipping, and improve the feature definition before any code is written.
125+
126+
### Scenario Shape
127+
128+
- The MVP exists and stakeholders want "just one more feature."
129+
- The request sounds plausible, but the motivation, user value, and success criteria are underdefined.
130+
- Learners must determine whether the feature should be shipped now, reframed, narrowed, deferred, or rejected.
131+
132+
### Prompting Themes
133+
134+
- What user problem is this feature actually solving?
135+
- Why now?
136+
- What evidence do we have that this matters?
137+
- What simpler alternative could solve the same problem?
138+
- What cleanup or refactoring should happen before adding more surface area?
139+
- What would make this feature not worth shipping?
140+
141+
### Required Learner Artifacts
142+
143+
- A written feature framing brief.
144+
- A list of assumptions and open questions.
145+
- A recommendation: ship, narrow, defer, or reject.
146+
- A minimal success definition if the feature proceeds.
147+
- A short note on what existing system quality must be improved first, if any.
148+
149+
### Key Takeaway
150+
151+
Senior engineers do not treat every plausible feature request as implementation work. They raise the quality bar by clarifying the problem, testing whether the work is worth doing, and protecting the codebase from avoidable feature sprawl.
152+
116153
## Next Actions
117154

118155
1. Author Exercise 1 stakeholder sheet.
119156
2. Draft Exercise 1 role sheet.
120157
3. Write Exercise 1 problem and solution `README.mdx` files.
121158
4. Build Exercise 1 problem app and minimal solution app.
122159
5. Run one dry-run and revise rubric before adding Exercise 2.
160+
6. Design Exercise 3 around feature framing before implementation.
123161

124162
## Consistent Vocabulary
125163

0 commit comments

Comments
 (0)