
The world is changing rapidly in the age of AI, and its impacting all parts of our lives. I would argue no area has been more impacted than software development. Since this is an area I am extremely passionate about and have a fairly deep background in, I wanted to give my overview of where software development in the age of AI stands right now.
I am going to take the view from an ‘enterprise’ software perspective as I think this is the biggest area where there are some misconceptions.
Before I begin, I have to reaffirm that any and all views expressed below are my own.
Does AI Help With Software Development?
Let’s get this out of the way first, I think that any software developer that is not using AI agents to help with their coding currently are well behind the curve. It is absolutely force multiplier and if used correctly can absolutely make you a faster / more efficient developer.
Now what can be argued, is how much should you be relying on the AI and how much of a performance improvement an individual engineer is getting.
AI Training
Since commercially available AI models are trained on publicly accessible data, that means from a software development perspective they are trained on open source software and other publicly available code snippets. Now, don’t get me wrong, there is a lot of high quality open source software that has much better code than I could ever write. But there is also a massive mountain of really REALLY bad code out there as well. From having blatant security errors (eg: using hardcoded or default credentials), wildly unsafe coding practices (eg: non-type safe operations, memory buffer exposures, race conditions), to just bad spaghetti code (eg: code all over the place).
And the models are trained on both sides.
Having used a number of different coding suites, the models for the most part do a good job at deciphering this out. But they are not fool-proof and there are numerous examples of bad code getting shipped because the people developing them either a) didn’t review the code generated by their chosen AI or b) they have no coding experience and don’t understand the code they are pushing to begin with.
Development Hallucinations
AI models by their very nature like the be helpful and give answers to your questions, sometimes to a fault. As I’ve stated previously, AI models don’t really possess ‘intelligence’ they are just extremely good prediction models. One thing that can help you make good predictions is having other data / examples to train the model with. When you ask it to create solutions for areas it has massive amounts of training data for, it can create some incredible things. For example, I wanted to create a financial investment tracker in React. I am not a React developer but pointed it to a public website that I liked the layout of and along with some other required features it was able to produce a fairly complete solution:

I wrote zero code for this but it also took me a bit of time of prompting to get it somewhat working and this is a bare bones MVP solution with no backend (uses local storage and JSON import / export) which is fine because I plan on keeping this as a personal project.
But what happens when there isn’t a lot of public data to train off of and the model wants to try and still answer your question? You get ‘hallucinations’, answers given by the AI agent are either made up entirely or are completely wrong.
This is what I find happens quite a bit with proprietary languages, especially those around ERPs. Things like X++ for Dynamics 365 Finance & Supply Chain and AL for Dynamics 365 Business Central are both examples where I’ve had this happen before.
Some D365FSC X++ Examples:


A D365BC AL Example:

If I didn’t have the background knowledge to be able to troubleshoot this, I wouldn’t have been able to get the AI back on track.
Missing the ‘Magic’
I distinctly remember my first ‘coding experience’ on a TI-89 calculator so it would do my algebra and calculus homework for me. For me, figuring out that I could take an idea of mine and convert it into something a machine could understand and getting it to work was a feeling only those who have done that before can describe. It is a magical feeling watching something you created actually ‘come to life’.
This continued throughout my high school / college days as I learned all sorts of new technologies from low level embedded coding in C, higher level object level programming in Java and .NET, and even microprocessor coding in assembly.
My focus area was always on the security aspect of these languages and one of my favorite courses in college was learning about tactics to be on a ‘red team’ where you would actively try and break into others network deployments and applications.
Each step along the way I ran into things I didn’t understand or problems with my code and while it was endlessly frustrating, when I would finally figure out how to get something to work it brought me back to that first ‘magic’ moment and reminded me why I did this.
If an AI is creating all of the code for me, then I’m no longer a software developer. I’m just a prompt engineer telling a computer program what to go and do. This may be the future, but it just makes me a little sad that the part of software development I love being taken away.
Vibe Coding
A new term that has been popping up recently has been the idea of ‘vibe coding’, where someone just prompts an AI to make something and let’s the AI create the entire system. Sometimes this is being done by those with very little or no software development background, which can lead to ‘undesired results’…
But the newer phenomenon I’m seeing is software developers who no longer open an IDE / code editor and just utilize Claude Code / Codex etc to develop for them. This is baffling to me.. Don’t you miss the actual code creation? Where is the ‘aha’ moment of figuring out a complex coding issue? If you are just talking to an AI agent and never having the ability to solve problems you lose the ‘spark’ that comes with programming, and it starts to take the joy out of it.


My other questions for those that ‘don’t even open their software editors anymore’ are:
- How do you know what is being shipped?
- Who is reviewing your code for all of the bad practices we talked about before (eg: security issues, best practices, etc)
- How do you understand the architecture of your application?
- I get asked on almost every product demo I do for low level architecture about how we are doing a certain thing – I can’t imagine just saying ‘well I’m not 100% sure but our AI designed it so it’s gotta be good.’
- If something breaks (which it will), are you going to trust fixing it to an AI? What happens if it can’t fix it? Do you just tell your customers, ‘sorry the AI can’t fix it and I don’t know what to do now’?
- Who is ‘owning’ the code that is being shipped? If everyone is pointing the finger at someone else and it ends up pointing to an AI – who is in charge of actually solving the issue?
So Where Does That Leave Us?
I’m not going to pretend I know what the future holds in this space but what I can say for certain is that AI will fundamentally change not just software engineering but corporate professional jobs across the board going forward. At this point, my best piece of advise is to try and figure out how to best incorporate it into your daily workflows. Will it always be a positive benefit, no. Will the tools continually change, yes. But having the experience on utilizing AI tools puts you ahead of everyone who doesn’t know how to.
Final Thoughts / Things to Keep in Mind:
Required Upskilling
There’s been an unspoken requirement that software developers have to implement these new AI tools to their current processes with very little advice or oversight into how that actually happens. Some of this lack of structure is because of how fast the AI models are changing and what was best practice 3 / 6 / 12 months ago is no longer applicable. Which makes developing an actual structure within a corporation is difficult, they simply can’t keep up. But this also leaves developers in a constant state of always trying to stay up to date on AI and ensure they are utilizing it the best way possible while also maintaining compliance with current company rules, which itself can be a full-time task.
Maintainability
One thing I’ve read is that there won’t be a need for software developers going forward because AI can create anything you tell it too. While there may be some truth to this for personal projects, I find this hard to believe for enterprise software. While any organization can use AI to create the software they need, a lot of those businesses don’t have the internal IT teams to actually manage it going forward. Organizations didn’t buy software because they couldn’t create the things that the software did, they bought it to solve a problem that they didn’t want to manage. That doesn’t change in the age of AI.
Ownership
At the end of the day, someone has to ‘own’ the software your organization is running or deploying, whether it is written by AI or a software developer. This also doesn’t change in the age of AI.
To put it another way:
Cost
Right now if you look at the money being invested into the entire AI story and compare it to what AI usage currently costs, it seems like a lot of the AI companies are subsidizing the cost to get individuals hooked on using AI before they inevitably have to ramp up the price to justify their stock prices and capex spend. If at any point AI companies have to actually start raising prices, it might become untenable to afford to some companies and eventually a potential scenario of where hiring actual software developers might be cheaper than utilizing AI to write code.
And Finally:
I think this sums up pretty well my feelings so far
