Hello, fellow developers! I would love to share a personal story that I think you’d find very interesting!
Long story short, my son has just finished his first year at Virginia Tech. His major was computer science. Needless to say, he knows basic programming concepts, a little about the cloud, and general purpose AI knowledge.
He wanted to spend his summer learning through a project. So, I gave him a project that combines AI for ads. The objective was to create an ad placement system that uses demographic data from individuals identified by a camera to target relevant ads.
We wanted to place it in a vending machine to display a highly targeted ad based on the demographics of the person currently buying from it!
I thought it would take him the whole summer to finish the project. To my surprise, it took him only two weeks to finish the entire project!
The system would use a local AI model running or Raspberry Pi to recognize faces and demographics. It downloads the ads inventory from our cloud repository and displays the ads based on preset rules.
The system also has a dashboard to report audience demographics, impressions, etc. I spent only a few minutes guiding him from time to time.
You probably guessed it. He used ChatGPT as an AI assistant to organize and write code.
When AI Accelerates the Impossible
Now, a 19-year-old college student could build such a relatively complex system in less than two weeks!
What would the future of programming and software engineering look like?
Programming is changing forever, for sure.
But what will it look like? More importantly, what do developers, especially those early in their careers, need to learn, or sometimes unlearn, to fit and compete in this new world of AI-powered software development?
The Shifting Landscape: Abstraction and Democratization in Coding
Let’s be clear. Software developers will remain in high demand in the foreseeable future. Even in the AI era, there still are no signs of job elimination or reduction in their numbers.
In a signal of confidence, Stack Overflow’s recent survey of 65k coders. The survey revealed that ~62% of respondents currently use AI tools in their development processes. 68% do not even see AI as an existential threat to their jobs!

However, two significant changes will occur: first, more abstraction, and second, more democratization.
I’ve been in the developer tooling and solution space for nearly two decades. Each generation of developer tools typically offers higher levels of abstraction. The end goal is to allow developers to accomplish more in less time and with reduced cognitive effort.
I remember the first time I experienced the auto-complete feature in Microsoft Visual Studio two decades ago.
I still remember how fast we could write code, at least 2 to 4 times faster than before!
Also, the emergence of libraries and tools to abstract networks, storage, multi-threading, etc., has significantly boosted productivity. AI is yet another abstraction layer on top of what we have.
AI Coding Tools: The New Frontier of Developer Productivity
AI coding has transcended from a distant aspiration to a tangible reality.
In recent years, there has been a surge in the development of artificial intelligence (AI)-driven coding tools, encompassing co-pilots, agents, and foundation models.
A market map below illustrates the landscape of these tools. In fact, according to the State of the Cloud 2024 report by Bessemer Venture Partners highlighted how $3.9 billion VC dollars have been funneled into this area just in 2023.

But what is the difference between this and all the previous generations of developer tools abstracting software development?
Well, it boils down to two main points:
- It eliminates the need to write code most of the time. It became so abstract to the extent that you don’t need to write code to create a program. I never coded in Python, and when I tried to write one last year with the help of ChatGPT, I could write an end-to-end system in Python in less than a week. Andrej Karpathy has provocatively claimed that “the hottest new programming language is English,” as programming is starting to look more like conversational prompting than traditional coding in this age of AI.
- The universal programming knowledge is embedded in any code assistance tool. Most previous tools were domain–or technology-specific. Suppose you think of the new Large Language Model (LLM) models as a compression of all human knowledge in coding and programming. In that case, this will make it easier for you to appreciate it than other abstracted hard-coded automation tools. You have infinite possibilities within your hands as a developer.
Bridging the Gap: Classical Programming in an AI-Driven World
As I mentioned earlier, software developers will continue to be in high demand. But would the definition of software developer be the same, given such radical changes?
This brings us to the democratization!
A developer will be anyone who understands basic architectural concepts and can talk to an LLM model. Coding assistants empower users to create applications beyond the limitations of no-code and low-code tools.
They offer full access to programming languages and frameworks for more robust development.
If you are a software developer using “conventional” automation tools or a college student still studying “old computer science methods”, what should you do? Here’s the answer:
Stay Calm and Keep Coding
While the landscape changes quickly, don’t expect your job to change radically in the next few months! In September 2024 (the time of this article), millions of organizations are still reluctant to use AI.
Classical programming is not likely to become obsolete in the foreseeable future, in my opinion.
The perceived reliability of AI developer tools is not yet considered at the level required for enterprise-grade applications.
Moreover, enterprise requirements for AI-generated code transcend quality concerns and encompass a range of considerations, including privacy, security, compliance, scalability, and copyright.
It doesn’t mean that you stay put! You will become a dinosaur very quickly (even fresh graduates).
Keep Reading to Learn How to Prepare Yourself for Such a Tectonic Shift
Learn How to Connect and Build on Abstract Concepts
Back to my son’s story.
His basic distributed software architecture knowledge helped him finish his project very quickly. He only needed to ask ChatGPT the right questions and fix the issues he encountered.
You must be good at this abstraction level to understand architectural tradeoffs and connect them with the future business plans impacting your choices.
New AI-powered Coding Assistance Models Are Created Every Few Weeks
You must decide which programming language or framework to use in your application. The decision to use one model versus the other will be necessary very quickly.
So, you must understand how these new tools work and which works best for the job!

Don’t Ignore the Fundamentals
In my early career, great developers understood how computers worked and how these impacted their design and implementation decisions. You still need to understand the fundamentals to judge the quality of the models you are using, and you could improve them.
You’re not Building Systems Anymore. You’re Building Solutions to Real-World Problems!
Those mental cycles that generative AI is giving you back should go into thinking deeper about building the right solutions that people want.
For example, if you are a UI engineer, you must know and implement the best UX practices from the get-go. This will be the human touch that AI won’t be able to provide as creatively as you can any time soon.
The Human Edge: Creativity and Judgment in the Age of AI
Software development is a multifaceted endeavor. It involves both scientific and artistic elements. This complex process encompasses judgment-based decisions. It spans creativity, design, systems, and delivery.
This results in an outcome that often transcends the individual components.
In the ever-evolving landscape of developer tooling, paradigms shift, and the potential impact on job security is undeniable.
Despite these changes, developers have remained remarkably resilient, with heightened demand for their expertise. Instead of rendering human developers obsolete, AI can act as a catalyst to enhance their impact.
So, Confidently and Strategically Embrace Artificial Intelligence.
Discover more from AI For Developers
Subscribe to get the latest posts sent to your email.