@shaykec/bridge 0.4.24 → 0.4.26

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (320) hide show
  1. package/journeys/ai-engineer.yaml +34 -0
  2. package/journeys/backend-developer.yaml +36 -0
  3. package/journeys/business-analyst.yaml +37 -0
  4. package/journeys/devops-engineer.yaml +37 -0
  5. package/journeys/engineering-manager.yaml +44 -0
  6. package/journeys/frontend-developer.yaml +41 -0
  7. package/journeys/fullstack-developer.yaml +49 -0
  8. package/journeys/mobile-developer.yaml +42 -0
  9. package/journeys/product-manager.yaml +35 -0
  10. package/journeys/qa-engineer.yaml +37 -0
  11. package/journeys/ux-designer.yaml +43 -0
  12. package/modules/README.md +52 -0
  13. package/modules/accessibility-fundamentals/content.md +126 -0
  14. package/modules/accessibility-fundamentals/exercises.md +88 -0
  15. package/modules/accessibility-fundamentals/module.yaml +43 -0
  16. package/modules/accessibility-fundamentals/quick-ref.md +71 -0
  17. package/modules/accessibility-fundamentals/quiz.md +100 -0
  18. package/modules/accessibility-fundamentals/resources.md +29 -0
  19. package/modules/accessibility-fundamentals/walkthrough.md +80 -0
  20. package/modules/adr-writing/content.md +121 -0
  21. package/modules/adr-writing/exercises.md +81 -0
  22. package/modules/adr-writing/module.yaml +41 -0
  23. package/modules/adr-writing/quick-ref.md +57 -0
  24. package/modules/adr-writing/quiz.md +73 -0
  25. package/modules/adr-writing/resources.md +29 -0
  26. package/modules/adr-writing/walkthrough.md +64 -0
  27. package/modules/ai-agents/content.md +120 -0
  28. package/modules/ai-agents/exercises.md +82 -0
  29. package/modules/ai-agents/module.yaml +42 -0
  30. package/modules/ai-agents/quick-ref.md +60 -0
  31. package/modules/ai-agents/quiz.md +103 -0
  32. package/modules/ai-agents/resources.md +30 -0
  33. package/modules/ai-agents/walkthrough.md +85 -0
  34. package/modules/ai-assisted-research/content.md +136 -0
  35. package/modules/ai-assisted-research/exercises.md +80 -0
  36. package/modules/ai-assisted-research/module.yaml +42 -0
  37. package/modules/ai-assisted-research/quick-ref.md +67 -0
  38. package/modules/ai-assisted-research/quiz.md +73 -0
  39. package/modules/ai-assisted-research/resources.md +33 -0
  40. package/modules/ai-assisted-research/walkthrough.md +85 -0
  41. package/modules/ai-pair-programming/content.md +105 -0
  42. package/modules/ai-pair-programming/exercises.md +98 -0
  43. package/modules/ai-pair-programming/module.yaml +39 -0
  44. package/modules/ai-pair-programming/quick-ref.md +58 -0
  45. package/modules/ai-pair-programming/quiz.md +73 -0
  46. package/modules/ai-pair-programming/resources.md +34 -0
  47. package/modules/ai-pair-programming/walkthrough.md +117 -0
  48. package/modules/ai-test-generation/content.md +125 -0
  49. package/modules/ai-test-generation/exercises.md +98 -0
  50. package/modules/ai-test-generation/module.yaml +39 -0
  51. package/modules/ai-test-generation/quick-ref.md +65 -0
  52. package/modules/ai-test-generation/quiz.md +74 -0
  53. package/modules/ai-test-generation/resources.md +41 -0
  54. package/modules/ai-test-generation/walkthrough.md +100 -0
  55. package/modules/api-design/content.md +189 -0
  56. package/modules/api-design/exercises.md +84 -0
  57. package/modules/api-design/game.yaml +113 -0
  58. package/modules/api-design/module.yaml +45 -0
  59. package/modules/api-design/quick-ref.md +73 -0
  60. package/modules/api-design/quiz.md +100 -0
  61. package/modules/api-design/resources.md +55 -0
  62. package/modules/api-design/walkthrough.md +88 -0
  63. package/modules/clean-code/content.md +136 -0
  64. package/modules/clean-code/exercises.md +137 -0
  65. package/modules/clean-code/game.yaml +172 -0
  66. package/modules/clean-code/module.yaml +44 -0
  67. package/modules/clean-code/quick-ref.md +44 -0
  68. package/modules/clean-code/quiz.md +105 -0
  69. package/modules/clean-code/resources.md +40 -0
  70. package/modules/clean-code/walkthrough.md +78 -0
  71. package/modules/clean-code/workshop.yaml +149 -0
  72. package/modules/code-review/content.md +130 -0
  73. package/modules/code-review/exercises.md +95 -0
  74. package/modules/code-review/game.yaml +83 -0
  75. package/modules/code-review/module.yaml +42 -0
  76. package/modules/code-review/quick-ref.md +77 -0
  77. package/modules/code-review/quiz.md +105 -0
  78. package/modules/code-review/resources.md +40 -0
  79. package/modules/code-review/walkthrough.md +106 -0
  80. package/modules/daily-workflow/content.md +81 -0
  81. package/modules/daily-workflow/exercises.md +50 -0
  82. package/modules/daily-workflow/module.yaml +33 -0
  83. package/modules/daily-workflow/quick-ref.md +37 -0
  84. package/modules/daily-workflow/quiz.md +65 -0
  85. package/modules/daily-workflow/resources.md +38 -0
  86. package/modules/daily-workflow/walkthrough.md +83 -0
  87. package/modules/debugging-systematically/content.md +139 -0
  88. package/modules/debugging-systematically/exercises.md +91 -0
  89. package/modules/debugging-systematically/module.yaml +46 -0
  90. package/modules/debugging-systematically/quick-ref.md +59 -0
  91. package/modules/debugging-systematically/quiz.md +105 -0
  92. package/modules/debugging-systematically/resources.md +42 -0
  93. package/modules/debugging-systematically/walkthrough.md +84 -0
  94. package/modules/debugging-systematically/workshop.yaml +127 -0
  95. package/modules/demo-test/content.md +68 -0
  96. package/modules/demo-test/exercises.md +28 -0
  97. package/modules/demo-test/game.yaml +171 -0
  98. package/modules/demo-test/module.yaml +41 -0
  99. package/modules/demo-test/quick-ref.md +54 -0
  100. package/modules/demo-test/quiz.md +74 -0
  101. package/modules/demo-test/resources.md +21 -0
  102. package/modules/demo-test/walkthrough.md +122 -0
  103. package/modules/demo-test/workshop.yaml +31 -0
  104. package/modules/design-critique/content.md +93 -0
  105. package/modules/design-critique/exercises.md +71 -0
  106. package/modules/design-critique/module.yaml +41 -0
  107. package/modules/design-critique/quick-ref.md +63 -0
  108. package/modules/design-critique/quiz.md +73 -0
  109. package/modules/design-critique/resources.md +27 -0
  110. package/modules/design-critique/walkthrough.md +68 -0
  111. package/modules/design-patterns/content.md +335 -0
  112. package/modules/design-patterns/exercises.md +82 -0
  113. package/modules/design-patterns/game.yaml +55 -0
  114. package/modules/design-patterns/module.yaml +45 -0
  115. package/modules/design-patterns/quick-ref.md +44 -0
  116. package/modules/design-patterns/quiz.md +101 -0
  117. package/modules/design-patterns/resources.md +40 -0
  118. package/modules/design-patterns/walkthrough.md +64 -0
  119. package/modules/exploratory-testing/content.md +133 -0
  120. package/modules/exploratory-testing/exercises.md +88 -0
  121. package/modules/exploratory-testing/module.yaml +41 -0
  122. package/modules/exploratory-testing/quick-ref.md +68 -0
  123. package/modules/exploratory-testing/quiz.md +75 -0
  124. package/modules/exploratory-testing/resources.md +39 -0
  125. package/modules/exploratory-testing/walkthrough.md +87 -0
  126. package/modules/git/content.md +128 -0
  127. package/modules/git/exercises.md +53 -0
  128. package/modules/git/game.yaml +190 -0
  129. package/modules/git/module.yaml +44 -0
  130. package/modules/git/quick-ref.md +67 -0
  131. package/modules/git/quiz.md +89 -0
  132. package/modules/git/resources.md +49 -0
  133. package/modules/git/walkthrough.md +92 -0
  134. package/modules/git/workshop.yaml +145 -0
  135. package/modules/hiring-interviews/content.md +130 -0
  136. package/modules/hiring-interviews/exercises.md +88 -0
  137. package/modules/hiring-interviews/module.yaml +41 -0
  138. package/modules/hiring-interviews/quick-ref.md +68 -0
  139. package/modules/hiring-interviews/quiz.md +73 -0
  140. package/modules/hiring-interviews/resources.md +36 -0
  141. package/modules/hiring-interviews/walkthrough.md +75 -0
  142. package/modules/hooks/content.md +97 -0
  143. package/modules/hooks/exercises.md +69 -0
  144. package/modules/hooks/module.yaml +39 -0
  145. package/modules/hooks/quick-ref.md +93 -0
  146. package/modules/hooks/quiz.md +81 -0
  147. package/modules/hooks/resources.md +34 -0
  148. package/modules/hooks/walkthrough.md +105 -0
  149. package/modules/hooks/workshop.yaml +64 -0
  150. package/modules/incident-response/content.md +124 -0
  151. package/modules/incident-response/exercises.md +82 -0
  152. package/modules/incident-response/game.yaml +132 -0
  153. package/modules/incident-response/module.yaml +45 -0
  154. package/modules/incident-response/quick-ref.md +53 -0
  155. package/modules/incident-response/quiz.md +103 -0
  156. package/modules/incident-response/resources.md +40 -0
  157. package/modules/incident-response/walkthrough.md +82 -0
  158. package/modules/llm-fundamentals/content.md +114 -0
  159. package/modules/llm-fundamentals/exercises.md +83 -0
  160. package/modules/llm-fundamentals/module.yaml +42 -0
  161. package/modules/llm-fundamentals/quick-ref.md +64 -0
  162. package/modules/llm-fundamentals/quiz.md +103 -0
  163. package/modules/llm-fundamentals/resources.md +30 -0
  164. package/modules/llm-fundamentals/walkthrough.md +91 -0
  165. package/modules/one-on-ones/content.md +133 -0
  166. package/modules/one-on-ones/exercises.md +81 -0
  167. package/modules/one-on-ones/module.yaml +44 -0
  168. package/modules/one-on-ones/quick-ref.md +67 -0
  169. package/modules/one-on-ones/quiz.md +73 -0
  170. package/modules/one-on-ones/resources.md +37 -0
  171. package/modules/one-on-ones/walkthrough.md +69 -0
  172. package/modules/package.json +9 -0
  173. package/modules/prioritization-frameworks/content.md +130 -0
  174. package/modules/prioritization-frameworks/exercises.md +93 -0
  175. package/modules/prioritization-frameworks/module.yaml +41 -0
  176. package/modules/prioritization-frameworks/quick-ref.md +77 -0
  177. package/modules/prioritization-frameworks/quiz.md +73 -0
  178. package/modules/prioritization-frameworks/resources.md +32 -0
  179. package/modules/prioritization-frameworks/walkthrough.md +69 -0
  180. package/modules/prompt-engineering/content.md +123 -0
  181. package/modules/prompt-engineering/exercises.md +82 -0
  182. package/modules/prompt-engineering/game.yaml +101 -0
  183. package/modules/prompt-engineering/module.yaml +45 -0
  184. package/modules/prompt-engineering/quick-ref.md +65 -0
  185. package/modules/prompt-engineering/quiz.md +105 -0
  186. package/modules/prompt-engineering/resources.md +36 -0
  187. package/modules/prompt-engineering/walkthrough.md +81 -0
  188. package/modules/rag-fundamentals/content.md +111 -0
  189. package/modules/rag-fundamentals/exercises.md +80 -0
  190. package/modules/rag-fundamentals/module.yaml +45 -0
  191. package/modules/rag-fundamentals/quick-ref.md +58 -0
  192. package/modules/rag-fundamentals/quiz.md +75 -0
  193. package/modules/rag-fundamentals/resources.md +34 -0
  194. package/modules/rag-fundamentals/walkthrough.md +75 -0
  195. package/modules/react-fundamentals/content.md +140 -0
  196. package/modules/react-fundamentals/exercises.md +81 -0
  197. package/modules/react-fundamentals/game.yaml +145 -0
  198. package/modules/react-fundamentals/module.yaml +45 -0
  199. package/modules/react-fundamentals/quick-ref.md +62 -0
  200. package/modules/react-fundamentals/quiz.md +106 -0
  201. package/modules/react-fundamentals/resources.md +42 -0
  202. package/modules/react-fundamentals/walkthrough.md +89 -0
  203. package/modules/react-fundamentals/workshop.yaml +112 -0
  204. package/modules/react-native-fundamentals/content.md +141 -0
  205. package/modules/react-native-fundamentals/exercises.md +79 -0
  206. package/modules/react-native-fundamentals/module.yaml +42 -0
  207. package/modules/react-native-fundamentals/quick-ref.md +60 -0
  208. package/modules/react-native-fundamentals/quiz.md +61 -0
  209. package/modules/react-native-fundamentals/resources.md +24 -0
  210. package/modules/react-native-fundamentals/walkthrough.md +84 -0
  211. package/modules/registry.yaml +1650 -0
  212. package/modules/risk-management/content.md +162 -0
  213. package/modules/risk-management/exercises.md +86 -0
  214. package/modules/risk-management/module.yaml +41 -0
  215. package/modules/risk-management/quick-ref.md +82 -0
  216. package/modules/risk-management/quiz.md +73 -0
  217. package/modules/risk-management/resources.md +40 -0
  218. package/modules/risk-management/walkthrough.md +67 -0
  219. package/modules/running-effective-standups/content.md +119 -0
  220. package/modules/running-effective-standups/exercises.md +79 -0
  221. package/modules/running-effective-standups/module.yaml +40 -0
  222. package/modules/running-effective-standups/quick-ref.md +61 -0
  223. package/modules/running-effective-standups/quiz.md +73 -0
  224. package/modules/running-effective-standups/resources.md +36 -0
  225. package/modules/running-effective-standups/walkthrough.md +76 -0
  226. package/modules/solid-principles/content.md +154 -0
  227. package/modules/solid-principles/exercises.md +107 -0
  228. package/modules/solid-principles/module.yaml +42 -0
  229. package/modules/solid-principles/quick-ref.md +50 -0
  230. package/modules/solid-principles/quiz.md +102 -0
  231. package/modules/solid-principles/resources.md +39 -0
  232. package/modules/solid-principles/walkthrough.md +84 -0
  233. package/modules/sprint-planning/content.md +142 -0
  234. package/modules/sprint-planning/exercises.md +79 -0
  235. package/modules/sprint-planning/game.yaml +84 -0
  236. package/modules/sprint-planning/module.yaml +44 -0
  237. package/modules/sprint-planning/quick-ref.md +76 -0
  238. package/modules/sprint-planning/quiz.md +102 -0
  239. package/modules/sprint-planning/resources.md +39 -0
  240. package/modules/sprint-planning/walkthrough.md +75 -0
  241. package/modules/sql-fundamentals/content.md +160 -0
  242. package/modules/sql-fundamentals/exercises.md +87 -0
  243. package/modules/sql-fundamentals/game.yaml +105 -0
  244. package/modules/sql-fundamentals/module.yaml +45 -0
  245. package/modules/sql-fundamentals/quick-ref.md +53 -0
  246. package/modules/sql-fundamentals/quiz.md +103 -0
  247. package/modules/sql-fundamentals/resources.md +42 -0
  248. package/modules/sql-fundamentals/walkthrough.md +92 -0
  249. package/modules/sql-fundamentals/workshop.yaml +109 -0
  250. package/modules/stakeholder-communication/content.md +186 -0
  251. package/modules/stakeholder-communication/exercises.md +87 -0
  252. package/modules/stakeholder-communication/module.yaml +38 -0
  253. package/modules/stakeholder-communication/quick-ref.md +89 -0
  254. package/modules/stakeholder-communication/quiz.md +73 -0
  255. package/modules/stakeholder-communication/resources.md +41 -0
  256. package/modules/stakeholder-communication/walkthrough.md +74 -0
  257. package/modules/system-design/content.md +149 -0
  258. package/modules/system-design/exercises.md +83 -0
  259. package/modules/system-design/game.yaml +95 -0
  260. package/modules/system-design/module.yaml +46 -0
  261. package/modules/system-design/quick-ref.md +59 -0
  262. package/modules/system-design/quiz.md +102 -0
  263. package/modules/system-design/resources.md +46 -0
  264. package/modules/system-design/walkthrough.md +90 -0
  265. package/modules/team-topologies/content.md +166 -0
  266. package/modules/team-topologies/exercises.md +85 -0
  267. package/modules/team-topologies/module.yaml +41 -0
  268. package/modules/team-topologies/quick-ref.md +61 -0
  269. package/modules/team-topologies/quiz.md +101 -0
  270. package/modules/team-topologies/resources.md +37 -0
  271. package/modules/team-topologies/walkthrough.md +76 -0
  272. package/modules/technical-debt/content.md +111 -0
  273. package/modules/technical-debt/exercises.md +92 -0
  274. package/modules/technical-debt/module.yaml +39 -0
  275. package/modules/technical-debt/quick-ref.md +60 -0
  276. package/modules/technical-debt/quiz.md +73 -0
  277. package/modules/technical-debt/resources.md +25 -0
  278. package/modules/technical-debt/walkthrough.md +94 -0
  279. package/modules/technical-mentoring/content.md +128 -0
  280. package/modules/technical-mentoring/exercises.md +84 -0
  281. package/modules/technical-mentoring/module.yaml +41 -0
  282. package/modules/technical-mentoring/quick-ref.md +74 -0
  283. package/modules/technical-mentoring/quiz.md +73 -0
  284. package/modules/technical-mentoring/resources.md +33 -0
  285. package/modules/technical-mentoring/walkthrough.md +65 -0
  286. package/modules/test-strategy/content.md +136 -0
  287. package/modules/test-strategy/exercises.md +84 -0
  288. package/modules/test-strategy/game.yaml +99 -0
  289. package/modules/test-strategy/module.yaml +45 -0
  290. package/modules/test-strategy/quick-ref.md +66 -0
  291. package/modules/test-strategy/quiz.md +99 -0
  292. package/modules/test-strategy/resources.md +60 -0
  293. package/modules/test-strategy/walkthrough.md +97 -0
  294. package/modules/test-strategy/workshop.yaml +96 -0
  295. package/modules/typescript-fundamentals/content.md +127 -0
  296. package/modules/typescript-fundamentals/exercises.md +79 -0
  297. package/modules/typescript-fundamentals/game.yaml +111 -0
  298. package/modules/typescript-fundamentals/module.yaml +45 -0
  299. package/modules/typescript-fundamentals/quick-ref.md +55 -0
  300. package/modules/typescript-fundamentals/quiz.md +104 -0
  301. package/modules/typescript-fundamentals/resources.md +42 -0
  302. package/modules/typescript-fundamentals/walkthrough.md +71 -0
  303. package/modules/typescript-fundamentals/workshop.yaml +146 -0
  304. package/modules/user-story-mapping/content.md +123 -0
  305. package/modules/user-story-mapping/exercises.md +87 -0
  306. package/modules/user-story-mapping/module.yaml +41 -0
  307. package/modules/user-story-mapping/quick-ref.md +64 -0
  308. package/modules/user-story-mapping/quiz.md +73 -0
  309. package/modules/user-story-mapping/resources.md +29 -0
  310. package/modules/user-story-mapping/walkthrough.md +86 -0
  311. package/modules/writing-prds/content.md +133 -0
  312. package/modules/writing-prds/exercises.md +93 -0
  313. package/modules/writing-prds/game.yaml +83 -0
  314. package/modules/writing-prds/module.yaml +44 -0
  315. package/modules/writing-prds/quick-ref.md +77 -0
  316. package/modules/writing-prds/quiz.md +103 -0
  317. package/modules/writing-prds/resources.md +30 -0
  318. package/modules/writing-prds/walkthrough.md +87 -0
  319. package/package.json +5 -3
  320. package/src/server.js +17 -7
@@ -0,0 +1,94 @@
1
+ # Technical Debt Walkthrough — Learn by Doing
2
+
3
+ ## Step 1: Recognize the Metaphor
4
+
5
+ Debt has principal and interest. So does tech debt.
6
+
7
+ **Task:** Pick a piece of code in a project you know (or imagine one) that's hard to change. Estimate: (a) how long to fix it properly (principal), and (b) how much extra time each change in that area costs (interest per touch).
8
+
9
+ **Question:** If you touch this code 10 times a year, is the total interest more or less than the principal? When does it become worth paying down?
10
+
11
+ **Checkpoint:** The user can distinguish principal (one-time fix) from interest (recurring cost). They recognize that high-touch code has higher interest.
12
+
13
+ ---
14
+
15
+ ## Step 2: Place Debt in the Quadrant
16
+
17
+ Fowler's quadrant: deliberate vs inadvertent, prudent vs reckless.
18
+
19
+ **Task:** For each scenario, place it in the quadrant and explain why:
20
+ 1. Team ships without tests to hit a deadline, plans to add tests next sprint
21
+ 2. Junior dev writes a 500-line function; doesn't know better
22
+ 3. Team chooses a quick prototype that becomes production; never refactors
23
+
24
+ **Question:** Which scenario is "prudent deliberate"? Which is "reckless deliberate"? Why does the distinction matter for how you talk about it?
25
+
26
+ **Checkpoint:** (1) Prudent-deliberate if they actually add tests. (2) Prudent-inadvertent (didn't know). (3) Reckless-deliberate (knew but never paid). The user can explain the quadrant.
27
+
28
+ ---
29
+
30
+ ## Step 3: Identify Code Smells
31
+
32
+ Smells are signals, not proof — but they point to debt.
33
+
34
+ **Task:** Look at a file in your codebase (or a sample online). List at least 3 potential smells: long functions, duplication, deep nesting, unclear names, etc.
35
+
36
+ **Question:** Why is each a "smell" rather than necessarily bad? What would you need to verify before calling it debt?
37
+
38
+ **Checkpoint:** The user lists concrete smells and understands they're indicators. They recognize that some "smells" might be acceptable in context (e.g., a simple 100-line script).
39
+
40
+ ---
41
+
42
+ ## Step 4: Measure What Matters
43
+
44
+ Different metrics reveal different aspects of debt.
45
+
46
+ **Task:** For a hypothetical module that keeps having bugs: what metrics would you collect to make a case for paying down debt? List at least 3.
47
+
48
+ **Question:** How would you explain "cyclomatic complexity" or "churn" to a non-technical stakeholder? What's the business impact?
49
+
50
+ **Checkpoint:** The user suggests metrics like: bug count by module, complexity, files changed per feature, cycle time. They can translate at least one into business impact (e.g., "slows releases by X%").
51
+
52
+ ---
53
+
54
+ ## Step 5: Prioritize Paydown
55
+
56
+ Not all debt is equal. Prioritize by interest and risk.
57
+
58
+ **Task:** You have three debt items:
59
+ - A: Rarely touched, ugly code (principal: 2 days)
60
+ - B: Touched every sprint, moderate mess (principal: 5 days, interest: 1 day/sprint)
61
+ - C: Security concern in auth module (principal: 3 days)
62
+
63
+ Order them by paydown priority and explain your reasoning.
64
+
65
+ **Question:** When might you fix A before B? When would C always come first?
66
+
67
+ **Checkpoint:** User likely orders C first (risk), then B (high interest), then A (low interest). They can articulate when risk trumps interest.
68
+
69
+ ---
70
+
71
+ ## Step 6: Communicate to a Manager
72
+
73
+ Stakeholders need outcomes, not jargon.
74
+
75
+ **Task:** Write a 2–3 sentence pitch to your manager for paying down debt in module X. Include: what's wrong, what it costs now, what fixing it would unlock, and a simple ask (e.g., "1 sprint").
76
+
77
+ **Question:** What would make a manager say yes? What would make them say "we can't afford it"?
78
+
79
+ **Checkpoint:** The user's pitch uses business language (time, risk, roadmap), not just "code quality." They have a concrete ask.
80
+
81
+ ---
82
+
83
+ ## Step 7: Choose Refactor vs Rewrite
84
+
85
+ Different situations need different strategies.
86
+
87
+ **Task:** For each scenario, choose Refactor or Rewrite and justify in one sentence:
88
+ 1. 50-line function doing 4 things
89
+ 2. Legacy monolith, 10 years old, no tests, wrong architecture
90
+ 3. New feature needs different data model; current one is workable but awkward
91
+
92
+ **Question:** What's the main risk of a full rewrite? When is "strangler fig" better?
93
+
94
+ **Checkpoint:** (1) Refactor — extract functions. (2) Often rewrite or strangler — but strangler is safer. (3) Refactor or incremental migration. User understands rewrite is risky and refactor is usually preferable.
@@ -0,0 +1,128 @@
1
+ # Technical Mentoring — Growing Engineers on Your Team
2
+
3
+ <!-- hint:slides topic="Technical mentoring: mentoring vs coaching vs sponsoring, Dreyfus skill model, Socratic questioning, and SBI feedback" slides="5" -->
4
+
5
+ ## Mentoring vs Coaching vs Sponsoring
6
+
7
+ These three roles overlap but serve different purposes:
8
+
9
+ | Role | Focus | Example |
10
+ |------|-------|---------|
11
+ | **Mentoring** | Sharing experience, advice, and guidance | "Here's how I approached this; what would work for you?" |
12
+ | **Coaching** | Asking questions to unlock mentee's own thinking | "What have you tried? What's blocking you?" |
13
+ | **Sponsoring** | Actively advocating for visibility and opportunity | "I'm putting you up for the architecture review lead." |
14
+
15
+ Effective mentors blend all three: they share experience when it helps, ask questions to stretch thinking, and sponsor when the mentee is ready.
16
+
17
+ ```mermaid
18
+ flowchart LR
19
+ subgraph Roles["Mentor's Toolkit"]
20
+ M[Mentoring: Share]
21
+ C[Coaching: Ask]
22
+ S[Sponsoring: Advocate]
23
+ end
24
+ M --> R[Mentee Growth]
25
+ C --> R
26
+ S --> R
27
+ ```
28
+
29
+ ## The Dreyfus Skill Model
30
+
31
+ The Dreyfus model describes how people move from novice to expert. Your mentoring style should match the stage:
32
+
33
+ | Stage | Characteristics | How to Support |
34
+ |-------|-----------------|----------------|
35
+ | **Novice** | Wants rules; overwhelmed by context | Clear instructions, checklists, safe practice |
36
+ | **Advanced Beginner** | Starts seeing context; still rule-focused | Guided decisions, explain *why* rules exist |
37
+ | **Competent** | Can prioritize; handles routine well | Give stretch assignments; debrief afterward |
38
+ | **Proficient** | Intuition kicks in; wants principles | Challenge with ambiguity; share mental models |
39
+ | **Expert** | Intuitive; invents new approaches | Get out of the way; sponsor for bigger scope |
40
+
41
+ **Example:** A novice might need "Always validate input at the API boundary." A proficient engineer benefits from "Where does validation belong in this architecture, and why?"
42
+
43
+ ## Socratic Questioning
44
+
45
+ Instead of giving answers, ask questions that lead the mentee to the insight. This builds ownership and deeper learning.
46
+
47
+ **Instead of:** "Use a hash map here for O(1) lookups."
48
+ **Try:** "What's the complexity of repeated lookups in a list? Is there a data structure that would improve that?"
49
+
50
+ **Socratic patterns:**
51
+ - "What would happen if...?"
52
+ - "What have you already tried?"
53
+ - "What's the constraint you're working around?"
54
+ - "How would you explain this to someone who hasn't seen it?"
55
+
56
+ ## Pairing and Stretch Assignments
57
+
58
+ **Pairing** builds skills through real-time collaboration. Rotate who drives; the mentor observes and questions. Good for: debugging, design decisions, unfamiliar codebases.
59
+
60
+ **Stretch assignments** push the mentee slightly beyond comfort. They should:
61
+ - Have clear success criteria
62
+ - Include support (you're available but not hovering)
63
+ - Be scoped so failure is recoverable
64
+
65
+ **Example:** A competent backend engineer gets a stretch assignment: "Own the design for the new notification service. I'll review your proposal and pair on the trickiest part."
66
+
67
+ ## SBI Feedback
68
+
69
+ **Situation, Behavior, Impact** keeps feedback specific and non-accusatory:
70
+
71
+ | Part | Example |
72
+ |------|---------|
73
+ | **Situation** | "In yesterday's design review..." |
74
+ | **Behavior** | "...you proposed a solution before hearing others' ideas." |
75
+ | **Impact** | "The team felt their input wasn't valued, so they disengaged." |
76
+
77
+ Follow with: "What would you do differently?" or "What support do you need?" This makes it actionable.
78
+
79
+ ```mermaid
80
+ flowchart LR
81
+ S[Situation: When/Where] --> B[Behavior: What happened]
82
+ B --> I[Impact: Effect on others/outcome]
83
+ I --> A[Ask: What next?]
84
+ ```
85
+
86
+ ## Psychological Safety
87
+
88
+ Mentees need to feel safe to ask "dumb" questions, admit mistakes, and try things that might fail.
89
+
90
+ **Practices:**
91
+ - **Admit your own gaps** — "I don't know; let's figure it out."
92
+ - **Normalize mistakes** — "I've made that error; here's what I learned."
93
+ - **Separate person from code** — "This design has a flaw" not "You're wrong."
94
+ - **Create low-stakes experiments** — Pair first, then solo with review.
95
+
96
+ **Red flag:** If a mentee never asks questions or admits uncertainty, they may not feel safe. Check in: "What would make it easier to bring up when you're stuck?"
97
+
98
+ ## When to Answer vs When to Question
99
+
100
+ | Context | Prefer | Why |
101
+ |---------|--------|-----|
102
+ | Urgent production issue | Answer | Speed matters; learning can follow |
103
+ | Design decision | Questions | Ownership and deeper understanding |
104
+ | First-time concept | Answer + explain | Build foundation before questioning |
105
+ | Recurring pattern | Questions | They likely know; need to retrieve it |
106
+ | Mentee is stuck and frustrated | Answer or pair | Reduce overload first |
107
+
108
+ ## Mentoring Plan Template
109
+
110
+ A simple one-page plan keeps mentoring intentional:
111
+
112
+ 1. **Stage** — Where are they (Dreyfus)? What evidence?
113
+ 2. **Goals** — 2–3 learning goals for the next quarter
114
+ 3. **Stretch assignment** — One project or ownership area
115
+ 4. **Feedback cadence** — How often? What format?
116
+ 5. **Revisit** — When will you adjust? (e.g., mid-quarter check-in)
117
+
118
+ ---
119
+
120
+ ## Key Takeaways
121
+
122
+ 1. **Mentoring ≠ coaching ≠ sponsoring** — Use all three as needed.
123
+ 2. **Match style to stage** — Novices need rules; experts need space.
124
+ 3. **Socratic questions** build ownership; direct answers build speed.
125
+ 4. **SBI feedback** is specific, non-accusatory, and actionable.
126
+ 5. **Psychological safety** enables risk-taking and growth.
127
+ 6. **Stretch assignments** with clear criteria and support drive learning.
128
+ 7. **Document your plan** — A one-page plan keeps mentoring intentional.
@@ -0,0 +1,84 @@
1
+ # Technical Mentoring Exercises
2
+
3
+ ## Exercise 1: Map a Mentee to Dreyfus
4
+
5
+ **Task:** Think of someone you mentor (or a hypothetical junior engineer). Using the Dreyfus model, place them at a stage. List 2–3 observable behaviors that support your assessment. Then write one change you'd make to your mentoring style based on that stage.
6
+
7
+ **Validation:**
8
+ - [ ] Stage is identified with reasoning
9
+ - [ ] Behaviors are concrete and observable
10
+ - [ ] Style adjustment is specific (e.g., "more questions, fewer answers")
11
+ - [ ] You could explain your choice to a peer
12
+
13
+ **Hints:**
14
+ 1. Novices ask "what do I do?"; experts ask "what matters here?"
15
+ 2. Look for: reliance on rules vs intuition, handling of ambiguity, need for context
16
+ 3. Stage isn't fixed—someone can be novice in one area, competent in another
17
+
18
+ ---
19
+
20
+ ## Exercise 2: Turn Answers Into Socratic Questions
21
+
22
+ **Task:** Pick a common technical question you get (e.g., "How do I debug this?", "Which library should I use?"). Write the answer you'd usually give. Then rewrite it as 3–4 Socratic questions that lead the mentee to the same conclusion.
23
+
24
+ **Validation:**
25
+ - [ ] Original answer is clear and correct
26
+ - [ ] Questions build logically (each sets up the next)
27
+ - [ ] Questions don't give away the answer
28
+ - [ ] You can articulate when you'd use questions vs direct answer
29
+
30
+ **Hints:**
31
+ 1. Start with "What have you tried?" or "What do you already know?"
32
+ 2. Use "What would happen if...?" for exploration
33
+ 3. If the mentee is blocked or stressed, direct answer may be better
34
+
35
+ ---
36
+
37
+ ## Exercise 3: Design a Stretch Assignment
38
+
39
+ **Task:** For a mentee you know (or a hypothetical competent engineer), design a stretch assignment. Include: what they'll do, why it's a stretch, what support you'll provide, and how you'll know they succeeded.
40
+
41
+ **Validation:**
42
+ - [ ] Scope is clear and achievable in 2–4 weeks
43
+ - [ ] Stretch is justified (what's new or harder for them?)
44
+ - [ ] Support is explicit (availability, check-ins, review)
45
+ - [ ] Success criteria are measurable or observable
46
+
47
+ **Hints:**
48
+ 1. Stretch = slightly beyond comfort zone, not drowning
49
+ 2. "Own the design" or "lead a small project" are good stretch types
50
+ 3. Define "done" so both of you agree when it's complete
51
+
52
+ ---
53
+
54
+ ## Exercise 4: Write SBI Feedback
55
+
56
+ **Task:** Recall a situation where you gave (or wished you'd given) technical or behavioral feedback. Write it using SBI: Situation, Behavior, Impact. Add one follow-up question: "What would you do differently?" or "What support do you need?"
57
+
58
+ **Validation:**
59
+ - [ ] Situation is specific (when, where)
60
+ - [ ] Behavior is observable (what they did, not intent)
61
+ - [ ] Impact is clear (effect on outcome or others)
62
+ - [ ] Follow-up invites action, not defensiveness
63
+
64
+ **Hints:**
65
+ 1. Avoid "you always" or "you never"—stick to one instance
66
+ 2. Impact can be positive too: "That helped the team move faster"
67
+ 3. End with a question, not a prescription
68
+
69
+ ---
70
+
71
+ ## Exercise 5: Create a One-Page Mentoring Plan
72
+
73
+ **Task:** Create a one-page mentoring plan for a mentee (real or hypothetical). Include: their Dreyfus stage, 2–3 learning goals for the next quarter, one stretch assignment, how you'll use questions vs answers, and how you'll track progress.
74
+
75
+ **Validation:**
76
+ - [ ] Plan fits on one page
77
+ - [ ] Stage, goals, and stretch are aligned
78
+ - [ ] Questions vs answers approach is explicit
79
+ - [ ] Progress tracking has a cadence (e.g., biweekly check-in)
80
+
81
+ **Hints:**
82
+ 1. Goals should be learning outcomes, not project deliverables
83
+ 2. "Track progress" can be simple: debrief after stretch, 1:1 check-ins
84
+ 3. Revisit the plan mid-quarter—plans should evolve
@@ -0,0 +1,41 @@
1
+ slug: technical-mentoring
2
+ title: "Technical Mentoring — Growing Engineers on Your Team"
3
+ version: 1.0.0
4
+ description: "Mentor effectively: Dreyfus model, Socratic method, pairing, feedback (SBI), and creating psychological safety."
5
+ category: leadership
6
+ tags: [mentoring, coaching, leadership, career-growth, team-development, feedback]
7
+ difficulty: intermediate
8
+
9
+ xp:
10
+ read: 15
11
+ walkthrough: 40
12
+ exercise: 25
13
+ quiz: 20
14
+ quiz-perfect-bonus: 10
15
+
16
+ time:
17
+ quick: 5
18
+ read: 20
19
+ guided: 50
20
+
21
+ prerequisites: []
22
+ related: [one-on-ones, code-review, technical-debt]
23
+
24
+ triggers:
25
+ - "How do I mentor junior developers?"
26
+ - "How do I help my team grow technically?"
27
+ - "What's the difference between mentoring and coaching?"
28
+ - "How do I give technical feedback without micromanaging?"
29
+
30
+ visuals:
31
+ diagrams: [diagram-mermaid, diagram-flow]
32
+ quiz-types: [quiz-matching, quiz-timed-choice]
33
+ slides: true
34
+
35
+ sources:
36
+ - label: "The Manager's Path by Camille Fournier"
37
+ type: book
38
+ url: "https://www.oreilly.com/library/view/the-managers-path/9781491973882/"
39
+ - label: "An Elegant Puzzle by Will Larson"
40
+ type: book
41
+ url: "https://lethain.com/elegant-puzzle/"
@@ -0,0 +1,74 @@
1
+ # Technical Mentoring — Quick Reference
2
+
3
+ ## Mentoring vs Coaching vs Sponsoring
4
+
5
+ | Role | Focus | Example |
6
+ |------|-------|---------|
7
+ | **Mentoring** | Share experience and advice | "Here's how I approached this." |
8
+ | **Coaching** | Ask questions to unlock thinking | "What have you tried? What's blocking you?" |
9
+ | **Sponsoring** | Advocate for visibility/opportunity | "I'm putting you up for the lead role." |
10
+
11
+ Use all three as the situation demands.
12
+
13
+ ## Dreyfus Stages — Style Guide
14
+
15
+ | Stage | They need | You do |
16
+ |-------|-----------|--------|
17
+ | **Novice** | Rules, checklists | Clear instructions, safe practice |
18
+ | **Advanced Beginner** | Context for rules | Explain why; guided decisions |
19
+ | **Competent** | Stretch, debrief | Assign ownership; review afterward |
20
+ | **Proficient** | Principles, ambiguity | Challenge; share mental models |
21
+ | **Expert** | Space, sponsorship | Get out of the way; advocate |
22
+
23
+ ## Socratic Question Patterns
24
+
25
+ | Pattern | Example |
26
+ |---------|---------|
27
+ | "What would happen if...?" | "What if we didn't validate at the API?" |
28
+ | "What have you tried?" | Opens reflection; avoids re-explaining |
29
+ | "What's the constraint?" | Surfaces assumptions |
30
+ | "How would you explain this?" | Tests understanding |
31
+
32
+ ## SBI Feedback Template
33
+
34
+ ```
35
+ Situation: [When and where—specific]
36
+ Behavior: [What they did—observable, not intent]
37
+ Impact: [Effect on outcome or others]
38
+ Ask: [What would you do differently? / What support do you need?]
39
+ ```
40
+
41
+ ## When to Answer vs Question
42
+
43
+ | Context | Prefer | Why |
44
+ |---------|--------|-----|
45
+ | Urgent / production issue | Answer | Speed first |
46
+ | Design decision | Questions | Ownership, deeper learning |
47
+ | First-time concept | Answer + explain | Build foundation |
48
+ | Recurring pattern | Questions | They likely know |
49
+ | Mentee stuck/frustrated | Answer or pair | Reduce overload |
50
+
51
+ ## Stretch Assignment Checklist
52
+
53
+ - [ ] Clear scope (2–4 weeks)
54
+ - [ ] Slightly beyond comfort (recoverable if it fails)
55
+ - [ ] Success criteria defined
56
+ - [ ] Support explicit (availability, check-ins)
57
+ - [ ] Debrief scheduled
58
+
59
+ ## Psychological Safety Practices
60
+
61
+ | Do | Avoid |
62
+ |----|-------|
63
+ | Admit "I don't know" | Acting like you have all answers |
64
+ | Normalize mistakes | Punishing or hiding errors |
65
+ | Separate person from code | "You're wrong" |
66
+ | Create low-stakes experiments | High-stakes first attempts |
67
+
68
+ ## One-Page Mentoring Plan
69
+
70
+ 1. **Stage** — Dreyfus level + evidence
71
+ 2. **Goals** — 2–3 learning outcomes this quarter
72
+ 3. **Stretch** — One assignment with criteria
73
+ 4. **Cadence** — How often you'll check in
74
+ 5. **Revisit** — When to adjust (e.g., mid-quarter)
@@ -0,0 +1,73 @@
1
+ # Technical Mentoring Quiz
2
+
3
+ ## Question 1
4
+
5
+ What is the main difference between mentoring and coaching?
6
+
7
+ A) Mentoring is for juniors; coaching is for seniors
8
+ B) Mentoring shares experience and advice; coaching asks questions to unlock the mentee's own thinking
9
+ C) Mentoring happens in 1:1s; coaching happens in meetings
10
+ D) There is no difference—they are the same
11
+
12
+ <!-- ANSWER: B -->
13
+ <!-- EXPLANATION: Mentoring involves sharing knowledge and experience. Coaching focuses on asking questions so the mentee arrives at their own insights. Both are valuable; effective mentors use each when appropriate. -->
14
+
15
+ ## Question 2
16
+
17
+ According to the Dreyfus model, how should you support a *novice* engineer?
18
+
19
+ A) Give them ambiguous problems to build intuition
20
+ B) Provide clear rules, checklists, and safe practice
21
+ C) Get out of the way and sponsor them for bigger projects
22
+ D) Challenge them with stretch assignments
23
+
24
+ <!-- ANSWER: B -->
25
+ <!-- EXPLANATION: Novices are overwhelmed by context and want rules to follow. Clear instructions and checklists reduce cognitive load. Ambiguity, sponsorship, and stretch assignments are better for competent or expert stages. -->
26
+
27
+ ## Question 3
28
+
29
+ What does SBI stand for in feedback?
30
+
31
+ A) Specific, Brief, Impactful
32
+ B) Situation, Behavior, Impact
33
+ C) Start, Build, Improve
34
+ D) Support, Behavior, Improvement
35
+
36
+ <!-- ANSWER: B -->
37
+ <!-- EXPLANATION: SBI is Situation (when/where), Behavior (what happened—observable), Impact (effect on outcome or others). It keeps feedback specific and non-accusatory. -->
38
+
39
+ ## Question 4
40
+
41
+ When is it better to give a direct answer instead of Socratic questions?
42
+
43
+ A) Always—mentees prefer answers
44
+ B) When the mentee is stuck, stressed, or the situation is urgent
45
+ C) Never—questions always lead to better learning
46
+ D) Only when the mentee explicitly asks for the answer
47
+
48
+ <!-- ANSWER: B -->
49
+ <!-- EXPLANATION: Socratic questions work best when the mentee has bandwidth to think. When they're stuck, frustrated, or there's a production fire, a direct answer reduces overload. You can debrief and explore afterward. -->
50
+
51
+ ## Question 5
52
+
53
+ What is "sponsoring" in the context of mentoring?
54
+
55
+ A) Paying for a mentee's conference ticket
56
+ B) Actively advocating for their visibility and opportunity
57
+ C) Assigning them stretch projects
58
+ D) Giving them SBI feedback
59
+
60
+ <!-- ANSWER: B -->
61
+ <!-- EXPLANATION: Sponsoring means using your influence to advocate for the mentee—putting them forward for projects, visibility, or promotions. It goes beyond advice and stretch assignments; it's active championing. -->
62
+
63
+ ## Question 6
64
+
65
+ Which practice best supports psychological safety for a mentee?
66
+
67
+ A) Only give feedback when they ask for it
68
+ B) Admit your own gaps and normalize mistakes
69
+ C) Avoid assigning challenging work
70
+ D) Review their code before every commit
71
+
72
+ <!-- ANSWER: B -->
73
+ <!-- EXPLANATION: Admitting "I don't know" and normalizing mistakes shows that learning and uncertainty are expected. This makes it safe for mentees to ask questions and take risks. Avoiding challenge or over-reviewing can undermine growth. -->
@@ -0,0 +1,33 @@
1
+ # Technical Mentoring — Resources
2
+
3
+ ## Books
4
+
5
+ - **The Manager's Path** by Camille Fournier — O'Reilly. Covers mentoring, 1:1s, and growing engineers. [Amazon](https://www.amazon.com/Managers-Path-Leaders-Navigating-Growth/dp/1491973897)
6
+ - **An Elegant Puzzle** by Will Larson — Stripe Press. Systems of teams, leveling, and technical leadership. [Amazon](https://www.amazon.com/Elegant-Puzzle-Systems-Engineering-Management/dp/1732265186)
7
+ - **Radical Candor** by Kim Scott — Giving and receiving feedback; caring personally while challenging directly. [Amazon](https://www.amazon.com/Radical-Candor-Revised-Kickass-Without/dp/1250235375)
8
+
9
+ ## Articles
10
+
11
+ - [The Dreyfus Model of Skill Acquisition](https://www.infoq.com/articles/dreyfus-model-skill-acquisition/) — InfoQ. Overview of the five stages and implications.
12
+ - [Socratic Method in Software Development](https://www.thoughtworks.com/insights/blog/socratic-method-software-development) — Thoughtworks. Applying Socratic questioning to technical mentoring.
13
+ - [The Art of Giving and Receiving Advice](https://hbr.org/2015/01/the-art-of-giving-and-receiving-advice) — Harvard Business Review. Why advice fails and how to improve it.
14
+ - [How to Give Feedback That Actually Works](https://www.atlassian.com/blog/inside-atlassian/giving-feedback) — Atlassian. Practical feedback techniques including SBI.
15
+ - [Psychological Safety at Work](https://hbr.org/2023/11/what-is-psychological-safety) — Harvard Business Review. What it is and why it matters for teams.
16
+
17
+ ## Videos
18
+
19
+ - [Radical Candor: The Surprising Secret to Being a Good Boss](https://www.youtube.com/watch?v=4yODalLJy2M) — Kim Scott (Google Talks). Feedback framework.
20
+ - [The Skill of Giving Feedback](https://www.youtube.com/watch?v=FGjTbcTgH_s) — Farnam Street. Clear, actionable feedback.
21
+ - [Socratic Method in Practice](https://www.youtube.com/watch?v=PaqbOPk5aGw) — Teaching Channel. Classroom application; principles apply to mentoring.
22
+
23
+ ## Tools & Frameworks
24
+
25
+ - [SBI Feedback Model](https://www.ccl.org/articles/leading-effectively-articles/constructive-feedback-the-situation-behavior-impact-model/) — Center for Creative Leadership. Official SBI reference.
26
+ - [Dreyfus Model — Wikipedia](https://en.wikipedia.org/wiki/Dreyfus_model_of_skill_acquisition) — Academic background and stages.
27
+ - [Manager Tools — Mentoring Series](https://www.manager-tools.com/) — Podcasts on mentoring and 1:1s (subscription).
28
+
29
+ ## Further Reading
30
+
31
+ - [The Coaching Habit](https://www.amazon.com/Coaching-Habit-Say-Less-Ask-More/dp/0978440749) by Michael Bungay Stanier — Seven questions to coach effectively.
32
+ - [Thanks for the Feedback](https://www.amazon.com/Thanks-Feedback-Science-Receiving-Well/dp/0143127136) by Douglas Stone & Sheila Heen — Receiving feedback; useful for mentees and mentors.
33
+ - [The Five Dysfunctions of a Team](https://www.amazon.com/Five-Dysfunctions-Team-Leadership-Fable/dp/0787960756) by Patrick Lencioni — Trust and psychological safety in teams.
@@ -0,0 +1,65 @@
1
+ # Technical Mentoring Walkthrough — Learn by Doing
2
+
3
+ ## Step 1: Map Your Mentee's Stage
4
+
5
+ **Task:** Think of someone you mentor (or would mentor). Using the Dreyfus model, place them at a stage. List 2–3 behaviors that support your assessment. Then write one change you'd make to your mentoring style based on that stage.
6
+
7
+ **Question:** How might you be over- or under-supporting? What would "just right" look like?
8
+
9
+ **Checkpoint:** You've identified a stage and one concrete style adjustment.
10
+
11
+ ---
12
+
13
+ ## Step 2: Turn One "Answer" Into Questions
14
+
15
+ **Task:** Pick a common technical question you get (e.g., "How do I debug this?", "Which library should I use?"). Write the answer you'd usually give. Then rewrite it as 3–4 Socratic questions that lead the mentee to the same conclusion.
16
+
17
+ **Question:** When would you use the questions vs when would you give the direct answer?
18
+
19
+ **Checkpoint:** You have both the answer and the question sequence; you can articulate when to use each.
20
+
21
+ ---
22
+
23
+ ## Step 3: Design a Stretch Assignment
24
+
25
+ **Task:** For a mentee you know (or a hypothetical junior engineer), design a stretch assignment. Include: what they'll do, why it's a stretch (what's new or harder), what support you'll provide, and how you'll know they succeeded.
26
+
27
+ **Question:** How do you prevent it from being too easy or so hard they give up?
28
+
29
+ **Checkpoint:** Assignment has clear scope, support, and success criteria.
30
+
31
+ ---
32
+
33
+ ## Step 4: Practice SBI Feedback
34
+
35
+ <!-- hint:card type="concept" title="SBI: Situation (when/where), Behavior (what you observed), Impact (effect on team or outcome)" -->
36
+
37
+ **Task:** Recall a situation where you gave (or wished you'd given) technical feedback. Write it using SBI: Situation, Behavior, Impact. Then add one "What would you do differently?" or "What support do you need?" follow-up.
38
+
39
+ **Question:** How does SBI change the tone compared to "You did X wrong"?
40
+
41
+ **Checkpoint:** Feedback is specific, non-accusatory, and actionable.
42
+
43
+ ---
44
+
45
+ ## Step 5: Create a Mentoring Plan
46
+
47
+ <!-- hint:list style="cards" -->
48
+
49
+ **Task:** Create a one-page mentoring plan for a mentee. Include: their Dreyfus stage, 2–3 learning goals for the next quarter, one stretch assignment, how you'll use questions vs answers, and how you'll track progress.
50
+
51
+ **Question:** How will you revisit and adjust this plan? What signals would trigger a change?
52
+
53
+ **Checkpoint:** Plan is concrete and covers stage, goals, assignments, and tracking.
54
+
55
+ ---
56
+
57
+ ## Step 6: Consider Your Senior Engineers
58
+
59
+ <!-- hint:celebrate -->
60
+
61
+ **Task:** List 2–3 senior engineers on your team. For each, identify one way you could mentor or develop them (stretch project, sponsorship, teaching opportunity). Write a sentence on why it matters.
62
+
63
+ **Question:** Why do we often neglect mentoring senior engineers? What's the cost?
64
+
65
+ **Checkpoint:** Each senior has at least one development opportunity; you've articulated the value.