High powered abstractions
If you’ve flown a model rocket, most likely the first one was something with a pre-fabricated fin can, that you built in a few minutes and flew right away. Mine was an Estes Alpha III my brother gave me as a gift.
The kit got you flying rockets, and if you were excited by launching that first rocket, you’d be willing to fill in the gaps in knowledge that kit abstracted away such as stability, center of gravity, aerodynamic drag, and recovery systems. I got a copy of G. Harry Stine’s Handbook of Model Rocketry (still have it, thank you) and started reading, filling in the gaps in my knowledge, designing, and flying my own rockets.
Julia Evans describes the same process around learning programming. You may have started writing HTML by hand and viewing it in a browser, or wrote a simple app and deployed it using Heroku or Glitch, and from there you learned about HTTP, threads, queues, and caches.
But getting a result right away, whether it’s
Hello World or the rocket you built a few minutes ago landing safely under an orange and white parachute, is a foundation to build from.
Even the path through the levels of High Powered Model Rocketry certifications works through a similar plan.
The level one certification, which I completed in Summer of 2021, let me ignore fine details. I had to demonstrate the basic skills I had from building rockets, applied to bigger motors, using epoxy instead of wood glue, through the wall fins, and flying and recovering a rocket in view of an examiner.
For level two, not only do I have to build and successfully launch and recover a rocket, I have to demonstrate knowledge of aerodynamics and safety in an exam. I have to demonstrate I know why I’m using a technique, not just that I can fiberglass a fin or use a dual deployment altimeter.
Level three is, in many ways, a thesis project. You’re building a rocket with redundant systems. You submit the design to a committee for review and approval. Here the role of abstractions is project management: the recovery system is a block, but you know the details of everything in it, as you do with the motor, the the airframe, and the tracking and telemetry.
A level one rocket is
Hello World, a level three rocket is a web application running at scale.
I’m flying some more ‘H’ and ‘I’ motors before starting on my level two rocket. It’s not just about leveling up, but enjoying what I can do with my knowledge now.