I am not a software engineer. As I have mentioned several times in this Substack, I come from a data background. I started as an analyst and gradually progressed further into engineering to achieve what I wanted and needed in my career. However, I have large and unknown gaps in my software engineering knowledge.
This progression into engineering has been gradual over many years, picking up different skills learned the hard way and from many colleagues who have been kind enough to share their knowledge.
Even though copilots and ChatGPT have been around for some time now, there has been a profound change for me in the last few months. The ease of building software has increased dramatically with the use of AI-oriented tooling, including IDEs like Cursor and Windsurf. There is a new Chinese entry here, just as there is in the model training space. There is also now a VS Code extension that claims to make the original VS Code just as capable as Cursor or Windsurf; I haven’t tried it out yet to validate this, but given how capable I have become with Windsurf… I don’t see the need to change things up at this time.
The cost drops like a stone with this increased ease of creating software. The cost is so low that it’s worth trying something you wouldn’t have dreamt of before. If you can read code and can conceptualise what you’re trying to achieve, you can probably build it. If you can QA the output and all possible outcomes of your new little invention, then you can certainly build the tool.
You may have seen my recent SQLMesh series, in which I used Windsurf heavily to scaffold and build the project, make software using the dlt framework to parse the Bluesky API using multiprocessing, and finally extend SQLMesh with a new CLI command that uses an LLM to generate a Cube SL.
Even though I haven’t written about it, I haven’t stopped there; I’ve kept building things at my whim. Things that would have taken a month1 to build and were prohibitively expensive to build are now two-hour evening pondering builds with my trusty Cascade sidekick.
I recently built my first Obsidian community plugin, which uses an LLM to automatically tag my documents from a pre-defined list of tags, using a local Ollama LLM. Building it was easier than getting the PR process for contributing right by a long way!
I believe that, apart from some high-performance technologies, like databases, etc., which are very complex to build, people will begin to build their own tailor-made software for their purposes. Yes, this will start with people like me who can already code, but it will gradually trickle down to everyone. Custom software for all!
Jevon’s Paradox will hold here, too: Making something 100 times easier might mean that it happens 10000 times more often.
DuckCon #6
When I heard that DuckCon 6 was going to be in Amsterdam, I knew I needed to go. It was honestly one of the best conferences I have ever attended. There was one talk track, which meant everyone who attended got to hear every talk. There were cool demos and deeply technical talks that are so lacking at some larger conferences that need to cater to audiences that are just getting to know their technology. DuckCon is for the zealots.
You should catch up on some of the talks; they were recorded and are available here.

A month for me, because I’d basically have to learn or re-learn to code in that language to build the thing I wanted, plus learn any needed frameworks... For a skilled software engineer, maybe it would have taken the same time as me using the AI IDE, but the point is that I didn’t need to find a skilled software engineer to build the thing… I could do it myself.