On Software Engineering Workflows

The software engineering world is changing. We're not necessarily changing what we're building. We're changing how we build it. Of course LLMs and other models require different programming paradigms and those models are different from what we've seen in the past. But mobile apps, web pages, games, kernels, etc are all still being built, albeit in a different way.

I came across a fascinating post by Harper Reed. I recommend reading it, but for brevity, the TL;DR is that he's using GenAI to ideate, plan, and execute software engineering workflows.

Traditional software engineering takes time. You need to understand the problem, isolate a solution, create your foundation, iterate, etc. GenAI enables developers to take the manual work out of many of these things to enable folks to be creators, rather than manual laborers.

The analogy that comes to mind is building a car in the early 1900s. Think of your job as being a metalworker, building the body of the car. Your time would be spent forging, banging, curving, bending, and polishing a fender. If you could replace that work with a machine, you could enable not only more efficient production lines, but free up your time to focus on more creative endeavors, like improved design.

I think we'll all benefit from this, but there have been decades of software builders who have done things entirely manually. The folks who are already builders will benefit from these new automated workflows, but will need to stradde the old and new. Those developers who will most likely benefit the most will be the folks who haven't yet started building, or are just beginning to love software engineering. They will be able to bake GenAI into their workflows, into their mindset from the beginning of their careers, rather than having to retrofit like the current generation.