Will AI Replace Embedded Software Developers?

Or, can software developers just leverage AI tools to accelerate development and keep their projects on track?

Jacob Beningo

May 6, 2024

5 Min Read
Kenstocker/iStock/Getty Images Plus via Getty Images

At a Glance

  • Most AI-generated code is promising but it still needs some TLC.
  • Will the future entail use of large generative models or smaller specialized models?
  • Developers who avoid AI may find themselves replaced by those who leverage it.

If you’ve paid attention to the news lately, it’s hard to miss the doom and gloom about how AI is coming for your job. There are reports of companies laying off employees and replacing them with “AI.”

Does the promise that one day AI will be able to do everything for us mean that pretty much “all of us” will be out of a job? How realistic is it that your job will be replaced by AI? Should you be concerned that your embedded software job will be included? 

The Current State of AI for Embedded

The advances in generative AI over the last few years have been extraordinary. When you look at what’s being done with deep fakes, automated marketing, virtual assistants, and so on, it’s nearly miraculous. What AI can do for you is truly amazing; however, a lot of what we are being told is exaggerated or corner cases that took weeks to get right. 

We’re told that AI is going to replace software developers. Have you looked at the code that any of these AI tools produce? 

I’ll give you a hint, it’s not great. It’s good for a machine that knocked it out in ten seconds, but it’s by no means production intent. Most of the code I’ve seen it generate is promising but requires quite a bit of TLC to get it into a production state. That can require hand coding adjustments or fighting with the AI to generate what you want. More and more I find that the AI models are lazy and try to just provide a template or a short cut. (Perhaps this is done on purpose? Or maybe AI models will also have to be motivated in the future to provide full results?) 

Related:Abstracting Your Hardware With an AI-Generated HAL

When you look at what is required from a quality standpoint to create a mobile app, a website, etc., it’s very different from a mission or safety critical product. Today’s AIs are not trained on high-quality code bases. They are trained on open-source software that can dramatically vary in quality. While many in the open-source community argue that open-source code is high quality, I haven’t found an open-source project that meets my quality requirements yet. 

But Jacob, what about in the future when AIs are more sophisticated? Well, right now there are laws that don’t allow you to copyright what generative AI produces. It’s been trained on other original sources and often generates something that is derivative. So, while you could in theory replace an embedded developer, the company won’t be able to exclusively own their intellectual property! 

That means we could use AI to generate code, but it can only be for algorithms or parts of our system that we don’t care about protecting. For example, AI can be used to generate Docker images, help you debug your existing code, or even generate code for common things like low pass filters. These uses can help you to accelerate your development and increase your efficiency. So, what does that mean? If you want to copyright and patent your software, you’re going to need a human to write it!

Related:3 More Commonly Overlooked Techniques for Developing Reliable Firmware

The Future State of AI for Embedded

The future of AI is a great black box. There is no telling where the technology will go. I think there are a few obvious considerations though before you get concerned about AI replacing you. 

First, embedded systems require a wide range of expertise to be successful. You must understand the hardware, programming languages, customers, graphical user interface design, requirements management, and much more. So many disciplines come together that I think it will be unlikely there will be an AI that can do it all for a company. I’ve found that trying to use AI to debug something directly is a waste of time unless it’s trivial. AI can help guide debugging but it requires a human who can think to actually do it. 

Second, right now we are in the honeymoon phase for AI. Investors and big businesses are funding our use of AI at a major loss. How long do you think that will last? At some point, they will identify the applications that can make money and focus on those. Do you think that a company is going to replace a $100,000 developer with a $20 per month subscription?

Related:What Does Good Code Look Like?

Definitely not!  Any tool that will be able to replace a developer is going to charge a similar, but slightly lower rate. Any wise company is going to charge for the value of their tool. Replacing a developer would hold a $100,000 value price tag. At the same time, there will be employees needed who know how to work with the AI and ensure that what it’s doing is correct. 

Finally, AI tools aren’t innovative. They aren’t going to take two differing and unrelated concepts and tie them together to create an innovation. That’s something, at least for the foreseeable future, that requires a human mind. If you look at the way the best developers write code, you won’t find a single AI that writes code the way they do. The AI tool can generate a statistically probable output based on the data it was trained on.

I believe that while AI will become far more powerful, most teams won’t be using large generative models. The future will be a toolset of smaller specialized models that are very good at doing very specific work. Developers will leverage these tools to accelerate development and keep their projects on track. 

The Bottom Line

AI will not directly replace embedded software developers. The skills required to completely design and build a product from scratch won’t be replaced by AI anytime soon. What might happen though is developers who understand AI will leverage it to do their job faster and more efficiently. That may lead to a decrease in demand for embedded software developers. Right now, there is so much demand, that the increase in efficiency will likely just balance the scales. 

The ability to use AI and understand how to apply it to develop more robust systems faster is what will be needed in the future. If you don’t stay current with AI technologies as they evolve, you might very well believe or find that AI has replaced your job. The truth will be that another developer who knows how to leverage AI will have replaced you. 

About the Author

Jacob Beningo

Jacob Beningo is an embedded software consultant who currently works with clients in more than a dozen countries to dramatically transform their businesses by improving product quality, cost and time to market. He has published more than 300 articles on embedded software development techniques, has published several books, is a sought-after speaker and technical trainer and holds three degrees which include a Masters of Engineering from the University of Michigan.

Sign up for the Design News Daily newsletter.

You May Also Like