Fast fashion has come to software. Fast fashion brought rapid response to specific needs, ability to serve narrow market segments and the prioritization of speed over scalability to a previously staid industry. AI is bringing that to software development. I built a workout timer months back for 20 min body weight workouts while we were at an Airbnb this summer. This morning, I had Claude whip up a web app for a spinner to play Chutes & Ladders with my son. Disposable, bespoke apps for all.
There's a lot written about how everyone is now a software engineer. I've written it as well. There's nuance there. Everyone really can build now. People can speak software into existence. However, there is a lot more than that to software engineering.
Software engineering is a lot more than just getting code to run. Architecture, maintainability, upgradability, scalability, security... AI for the moment is both your friend and enemy. In August I was using ChatGPT to write tests for some code (yes, the robots are checking the robots work), and it proposed completely breaking the design of a class in service of the short term goal of getting tests to run. In its defense, it had done what I'd asked and gotten the tests to run. It takes some understanding of what you're doing to appreciate when what you've asked for and gotten from AI isn't what you actually need.
So while everyone isn't all of a sudden going to be architecting software, everyone can build. It is much easier to build software for a specific case that will be used by a relatively small community. Artisanal software, if you will. Couple weeks ago I wanted to have a visualization in the morning for my kids to see what bus we should catch to get to school in the morning. There are plenty of apps and displays for commuting, but because they are doing so much for such an expanse of people and cases, it didn't make it easy to do the one thing I needed. I wanted to see when the bus would arrive at my stop and when would that bus get to our destination for school. It took less than an hour to get something working and then another day to smooth it out for use. Cursor (the AI powered IDE) even knew how to interact with the MTA (NYC public transportation) APIs.
There will be a range of people now building small scale apps for their own use to smooth out existing rough edges. I'm hopeful that this will bring some additional polish to all the tools I'm forced to use but I'm really not the customer for. For instance, my kids' school chooses software for a range of very important reasons I'm sure, but they leave something to be desired when I consume it. I'm hopeful these companies that know they are selling software to one party (the school) that is also used by others (the parents at the school) will provide APIs and feeds for the enterprising among us to improve our own usage.
Everyone won't all of a sudden be a software engineer but many more people can now build experiences to improve their own lives. I see an explosion of targeted, niche apps and experiences on the horizon. Have you built anything fun recently?