You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
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.
Copy file name to clipboardExpand all lines: instructor/00-engineering-judgement.md
+46-15Lines changed: 46 additions & 15 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -44,14 +44,15 @@ Each exercise follows the same loop. The exercises should **not** feel like repe
44
44
45
45
---
46
46
47
-
## **4. Exercise Progression: Four Judgment Muscles**
47
+
## **4. Exercise Progression: Five Judgment Muscles**
48
48
49
49
| Exercise | Skill | Purpose |
50
50
|----------|-------|---------|
51
51
| 1 | Problem definition | Convert vague goals into concrete system definition |
52
52
| 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 |
55
56
56
57
The workshop should feel like **layers of engineering judgment**, not repeated planning exercises.
57
58
@@ -113,7 +114,36 @@ Implementation occurs after these protections are defined.
113
114
114
115
---
115
116
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**
117
147
118
148
**Purpose:** Train engineers to articulate and justify tradeoffs.
119
149
@@ -137,7 +167,7 @@ Implementation occurs after these protections are defined.
137
167
138
168
---
139
169
140
-
## **8. Exercise 4 — System Migration Risk**
170
+
## **9. Exercise 5 — System Migration Risk**
141
171
142
172
**Purpose:** Teach engineers to manage large system change while preserving user trust.
143
173
@@ -178,7 +208,7 @@ Participants must propose:
178
208
179
209
---
180
210
181
-
## **9. Consistent Vocabulary**
211
+
## **10. Consistent Vocabulary**
182
212
183
213
Use throughout the workshop:
184
214
@@ -199,12 +229,13 @@ The workshop trains thinking, not implementation.
199
229
200
230
---
201
231
202
-
## **10. Design Goals: Participant Capabilities**
232
+
## **11. Design Goals: Participant Capabilities**
203
233
204
234
Participants should leave with the ability to:
205
235
206
236
- Define problems clearly
207
237
- Identify hidden constraints
238
+
- Decide whether a proposed feature is worth building
208
239
- Articulate tradeoffs before implementation
209
240
- Detect silent UX degradation
210
241
- Model system risk
@@ -214,7 +245,7 @@ This capability should remain valuable even as implementation becomes increasing
214
245
215
246
---
216
247
217
-
## **11. Structural Model of Each Exercise (Detail)**
248
+
## **12. Structural Model of Each Exercise (Detail)**
218
249
219
250
### **A. Problem Phase**
220
251
@@ -268,7 +299,7 @@ Failure is allowed — but must be explained through reasoning.
268
299
269
300
---
270
301
271
-
## **12. Stakeholder Design Model**
302
+
## **13. Stakeholder Design Model**
272
303
273
304
Create a **Stakeholder Sheet** containing:
274
305
- Business goals
@@ -284,7 +315,7 @@ Create a **Stakeholder Sheet** containing:
284
315
285
316
---
286
317
287
-
## **13. Dungeon Master Analogy (Refined)**
318
+
## **14. Dungeon Master Analogy (Refined)**
288
319
289
320
Useful metaphor:
290
321
- You have hidden system knowledge.
@@ -302,7 +333,7 @@ You reveal information when:
302
333
303
334
---
304
335
305
-
## **14. Key Design Decisions**
336
+
## **15. Key Design Decisions**
306
337
307
338
### **Decision 1 — No Implementation Rubric**
308
339
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
315
346
316
347
---
317
348
318
-
## **15. Philosophy Alignment**
349
+
## **16. Philosophy Alignment**
319
350
320
351
The workshop is valuable because:
321
352
- It compresses ambiguity into a controlled learning loop.
@@ -330,7 +361,7 @@ It is not valuable because:
330
361
331
362
---
332
363
333
-
## **16. Open Design Question (Still Unresolved)**
364
+
## **17. Open Design Question (Still Unresolved)**
334
365
335
366
How to formalize evaluation in scalable/self-paced form.
336
367
@@ -342,11 +373,11 @@ Not solved yet — intentionally deferred until after first live run.
342
373
343
374
---
344
375
345
-
## **17. Immediate Next Planning Steps**
376
+
## **18. Immediate Next Planning Steps**
346
377
347
378
Before implementation, define:
348
379
1. The stakeholder sheet for each exercise
349
380
2. The participant role sheet
350
381
3. The explicit evaluation reflection questions
351
382
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)
Copy file name to clipboardExpand all lines: instructor/notes.md
+42-4Lines changed: 42 additions & 4 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -39,15 +39,19 @@ Each exercise targets a different judgment dimension. Avoid repeated stakeholder
39
39
6. Gap analysis
40
40
7. Extracted heuristics
41
41
42
-
### Proposed Exercise Arc (Four Judgment Muscles)
42
+
### Proposed Exercise Arc (Five Judgment Muscles)
43
43
44
44
1.**Exercise 1 — Ambiguous Product: Build the MVP**
45
45
- Problem definition: convert vague goals into concrete system definition.
46
46
2.**Exercise 2 — Protect the User Experience**
47
47
- 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**
49
53
- Articulating tradeoffs: make competing constraints legible and justify decisions.
50
-
4.**Exercise 4 — System Migration Risk**
54
+
5.**Exercise 5 — System Migration Risk**
51
55
- Risk modeling & system continuity: manage large change while preserving user trust.
52
56
53
57
## What to Build First (Implementation Priority)
@@ -87,7 +91,7 @@ Each exercise targets a different judgment dimension. Avoid repeated stakeholder
87
91
88
92
1.**Intro (15 min)**
89
93
- 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)**
91
95
- Framing + questions + build + evaluation.
92
96
3.**Debrief after each cycle (10-15 min)**
93
97
- Capture decision patterns and failure modes.
@@ -113,13 +117,47 @@ Each exercise targets a different judgment dimension. Avoid repeated stakeholder
113
117
- Diff between problem and solution is focused and teachable.
114
118
- Instructor notes include timing, prompts, and debrief cues.
115
119
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
+
116
153
## Next Actions
117
154
118
155
1. Author Exercise 1 stakeholder sheet.
119
156
2. Draft Exercise 1 role sheet.
120
157
3. Write Exercise 1 problem and solution `README.mdx` files.
121
158
4. Build Exercise 1 problem app and minimal solution app.
122
159
5. Run one dry-run and revise rubric before adding Exercise 2.
160
+
6. Design Exercise 3 around feature framing before implementation.
0 commit comments