I missed discovering the world through programming.
Setting out to build something without direction, without a clear-cut path, without agile planning, estimating, or clearing up requirements with three levels of stakeholders.
I missed opening the IDE and writing code without knowing what would come out of it.
How should this function behave?
What data structure will I need here?
I set out to work on a game the other night. I didn’t have a spec, just an abstract idea about a turn-based RPG in my mind and I wanted to see how it could work.
I wasn’t even writing actual code, just types and interfaces.
I don’t know how it will work so I’m just testing out different APIs - object-oriented, functional, something in between. I’m discovering the things I’ll need as I write the code.
I know that’s not how the real world works, I’ve been stuck in it for quite some time.
Most programming work has to be done before you open VS code or you’re set to fail. That’s why I take joy in doing the glue work that most engineers hate.
I like talking to teams to understand how their systems work.
I like figuring out where data lives.
I like setting up permissions between AWS resources.
It’s a way to discover how a company works and this is fascinating. Once you get a task to bullet points in a requirements list, it’s just work. It’s just ticking off boxes even if there’s a challenge behind the ticking.
I expect AI to take away the joy of coding but it compensates with the speed of building.
It helps me come up with APIs faster and try out different solutions quicker. Because I have an intuitive feeling about what I want to create but I need iterations to discover it in my mind.
I don’t know how much an LLM increases productivity in a corporate setting, there are consultants that will try to measure this in a year or two.
But when I’m experimenting with my own chaotic personal ideas, this productive idea-throwing sidekick is exactly what I need.