One of the things that makes me happiest is seeing folks I've taught grow into colleagues who surpass me. Yifan has been doing that for ages. She's crazy wonderful, and an awesome teacher in her own right. (Coming across that tutorial made me break into a beaming grin.)

"Oh! Other people have thought about this too, but andragogy.

Based on this charted progression through the "becoming a software engineer" process, I'd gauge myself at a 2, though I've seen and done elements of things all the way up to 4 and 5. It's a useful way of thinking about what I need to improve on, and made me think about similar roadmaps to mastery in other disciplines - leveled books for little kids learning how to read, 100/200/300-level courses in universities, the ILR scale for language learning, "assistant/associate/whatever-comes-next" professor titles, junior/senior engineers.

They're convenient mental constructs. Nothing more and nothing less. I used to hate them, to dismiss them as artificial constructs that got in the way, want to run away from them, take them down. Now I want to learn how to build them.

I want to learn how to build them because that'll teach me how to change and dismantle them. Then I can teach that to others, and design the things I make so that the knowledge of how to hack them is embedded within the design of the thing itself, be it a product or a system or a culture or a society or... whatever else I could imagine making.