The Days of the Software Developer are Dead. Now is the Time for Engineers.
Hardware and Software Engineers Merge into Pure Engineers
I have worked with many software developers over the years, and I still work with them today, particularly communicating with them and reading their posts online. I am always quite shocked by the fact that I have always considered software development to be engineering. Coming from the Latin “ingenium,” these are people who should use their ingenuity.
However, so many software developers are turning their back on AI or not recognizing how quickly it is progressing. This is going to be very damaging for them. Conversely, if they look at this properly, this is the most amazing time they will ever have as an engineer.
You can use AI now to write pretty much any code, but you can also use it for things like SCAD. You can have AI create CAD designs that you can:
- 3D print
- Put into another kind of CAD machine and manufacture
Engineering has never really been about writing code. It’s never been about filing a piece of metal, hacksawing a rod, or planing a piece of wood. That’s all just busy work.
The engineer is the one who sees the creation, understands the goal, and figures out the pieces needed to achieve that objective. They pull those pieces together in unique ways that have never been done before to produce an engineering output. Ultimately, the engineer is the individual who takes the theory from physics and mathematics and produces something of economic value.
While researchers, physicists, and mathematicians are vital in the chain, the engineer is at the tip of the spear. It has always been that way, and it’s no different with software engineering. It’s all about:
- Identifying the components needed to produce the final product
- Defining the vision
- Determining what we’re trying to do and why we’re building it
If something doesn’t exist, we must put things together in a manner that hasn’t been done before to create a great piece of engineering. A lot of software hasn’t truly been engineering; it’s been a fancy user experience, different colors on a webpage, or functionality designed to out-market existing incumbents. To me, that’s not really engineering. Engineering is creating something unique and valuable that people put weight in—and that is a hard thing to do properly.
This is exactly what AI is bringing to software. It’s telling people that they can no longer be “code monkeys.” You’re not going to make money doing that anymore, just as the human computer or the human calculator became irrelevant. It was never about the act of computing or adding numbers on an abacus; it was always about the end result and what we were trying to achieve.
Software is going through that exact same transition now. Not every person working in software will be an engineer—many of them won’t. The people who want to work nine-to-five and worry all day about the name of a variable, whether to use exceptions, passing error codes, or choosing between async, green threads, or CPU threads, will find those issues are no longer relevant.
The days of software conferences where someone writes “int a = 1; int b = 2;” in C++, prints the sum, and asks the audience for the answer are over. We no longer need long discussions about memory management, resolution, or strict memory ordering where people argue whether one and one will really produce two. Those days are over, and thank God they’re over.
So the days of the software developer are finished. Now is the time for engineers.