I’ve recently gone from Director to IC, and I’ve taken the opportunity to get deep in agentic engineering. Even before making the change, I’ve been digging in deep on how to get the most out of agents. There’s a lot of things that really don’t work well, producing slop. There are some techniques that work kind of okay, but need a lot of handholding.
If you haven’t read “The Phoenix Project” yet, this is your sign from the universe telling you that it’s time. Go on, this post will still be here when you get back.
If you’ve been programming for more than a couple of years, you’ve probably heard of functional programming. You might even have picked up a functional language and played around with it.
Before I say anything else, it should be noted that this solution requires a little bit of background knowledge to set up and use. At the very least you’ll need to be comfortable on the command line in linux/osx, especially with installing packages, git, ssh, and a little gpg. Don’t worry if you don’t know all of that – a little familiarity should be enough.
In 2000, Joel Spolsky published a piece on what he believed were the key factors that separated high-performing teams from the rest, in a post titled The Joel Test: 12 Steps to Better Code. It contains many insights that are still useful to this day; however, the world, software, and the teams that make it have moved on in the nearly 22 years since that post.
Many years ago, I took a test. It was the first step of our “Learning to Learn” class. After answering a series of multiple choice question, the form issued forth a proclomation:
So, I built a crappy site generator. It’s pretty bad, which is the result of some very targeted design decisions: I didn’t want to spend a huge amount of effort building it. This is for fun, not work. You’re not going to find any unit tests or any significant refactoring effort. I want to generate a fast site that I can host for free (sans domain costs). I want it to be easy to author new posts in…