· 4 min read 🍺🍺

Turn It Off and Back On Again

Welcome to Impaired Programming. A personal site about tinkering with technology, writing about what I find, and trying not to abandon the project this time.

Welcome to Impaired Programming, my (at the time of this writing) technical blog and a personal project for tinkering with whatever piques my interest. My name is Will, and I am a senior software engineer. For the past five years, I have been working in Ruby on Rails with Hotwire (previously React UI with a Rails backend and Apollo GraphQL), and React Native using both Apollo GraphQL as well as WebViews.

Originally, my plan was to build with Next.js and Tailwind with as minimal human contact with code as possible. In fact, I didn’t even init the project myself - everything was handled through ChatGPT or Claude Code. The goal was to use the project as a way to teach myself to better leverage agentic code assistants and other tools so I could be more effective in using them in my daily engineering routine. It gave me a sandbox that was low stakes, so I could play a little fast and loose with letting the agent take an idea and run with it. A little less “careful planning and close monitoring,” and a bit more “shoot first, ask questions later.” It also gave me an opportunity to write about something. I hoped for a couple moments of brilliance in developing an agent skill or prompt that I could share, but mostly expecting to write about weird hallucinations or what I found pleasantly surprising. It all sounded good on paper. I ended up getting a working install of Next.js and what I think was a decent implementation of Tailwind. After that, I got a little too lost in the weeds trying to get an agent to create my vision without a proper design, a specific styleguide, or any references. I knew what I wanted, but was unprepared. To be fair, it put together something halfway decent, but I definitely was feeling the effects of not having set myself up for success. I fell off the project (shocker!), and it sat dormant for 6 months.

I got the itch again recently. I rolled around the idea of picking up where I left off, removing the design bits and getting SOMETHING live. With all the things that have changed in the past 6 months in the world of coding agents, I decided a clean start made more sense. I opted for Astro and Tailwind since the site itself will be mostly static and I wanted to give Astro a test drive. I put more thought into the purpose of the project, spending more time considering how it should present and what my goals were. Starting with a tighter, more focused perspective instead of broad strokes. Creating a set of guidelines for me to follow as I continued working and giving the project boundaries before the GitHub repository was even spun up has already made it feel a lot more approachable. I have a sense of direction and a specific goal each time I sit down that isn’t just “make the next feature (but actually spend a bunch of time evolving an idea as the code is being written).” That considered, it’s a weird feeling thinking of this project as a v2, being that v1 never made it past early development. Let’s just say that this is 1.0 and the first poke was just research. Sound good?

This site serves a multifunctional role for me. An opportunity to tinker with technology I may not use in my daily professional career. A chance to build something from the ground up making architectural decisions (however small), and learning how they hold up over time. Over the course of my career, I more often have found myself living through those decisions a few years in than starting something greenfield. I have been considering writing a blog for a long time, but I am sure there is a non-zero amount of folks who understand task paralysis. My experience with managing this and other exciting flavors of executive dysfunction may make appearances once in a while in these writings (if you made it this far, this is the point where you say to yourself, “Oh, that makes sense”), and was one of the tongue-in-cheek reasons I chose Impaired Programming as the title. Additionally, it pokes at the idea of using an agent as a collaborator as a potential impairment, and finally it gives a nod to my appreciation of well-brewed beer. My plan this time around is to focus less on committing to the agent doing everything unchecked, and to work with the agent as a collaborator. Ultimately, I hope to land at the same point being able to be hands-off in terms of writing code, and spend more time writing prose instead. Yep - wrote this all myself, and I plan on keeping it that way.

See ya in the next one.

Cheers. 🍺
— WM