Coding The End of a Human Profession

In today's rapidly evolving tech landscape, AI and automation are reshaping the very fabric of software development. It's a period of significant transformation, driven by breakthrough technologies that promise to redefine our approach to problem-solving and creativity in programming.

Among these innovations, NIMs, or Neuromorphic Instruction Set Architectures, stand out. Drawing inspiration from the human brain, NIMs aim to revolutionize computing by making it more efficient, mirroring the complex processes of our own neural networks.

This leap towards a more brain-like approach to computing is intriguing, to say the least, and it signals a shift in how tasks, particularly in programming, are approached and executed.

With these advancements, there's a clear future role for programmers.

On one hand, these technologies offer the potential to automate mundane tasks, streamline development processes, and enhance the capabilities of programmers.

On the other, there's a palpable concern about the long-term implications for programming jobs and the role of human creativity in a field increasingly dominated by intelligent machines.

This brings us to a pivotal moment in the discussion: It's clear AI and automation are introducing significant changes, and it's becoming more and more clear AI will replace human coders. The human role will shift or transition to a more complex role, creative and involve interdisciplinary tasks. So, let's get into it and I'll explain more.

The Automation of Routine Coding Tasks

The automation of routine coding tasks is a significant trend in software development, powered by advancements in AI and machine learning. This move towards automation targets repetitive and time-consuming tasks such as debugging, code generation, and testing.

By handling these tasks, AI frees up programmers to concentrate on more complex and creative aspects of software development. The automation not only streamlines the development process but also challenges programmers to elevate their roles beyond the basics of coding.

Programmers as System Architects and Problem Solvers

As the landscape of software development evolves, the role of programmers is increasingly shifting towards that of system architects and problem solvers. This transformation underscores the growing importance of high-level problem-solving skills in programming, moving beyond mere code writing to a more strategic and analytical approach to technology development.

Programmers are now more involved in designing the overarching systems within which applications operate. This involves defining algorithms and making architectural decisions that not only meet current functional requirements but are also scalable, efficient, and future-proof.

I say, "The incorporation of AI technologies into systems adds another layer of complexity and opportunity, allowing programmers to leverage AI for enhanced performance, predictive analytics, and automation of routine tasks."

For example, in developing a new application, programmers might use AI to optimize data flow within the system, enhancing efficiency and reducing latency.

Or, when faced with a complex problem like predicting user behavior, they might design algorithms that learn from data over time, improving the application's responsiveness and personalization.

This shift towards system architecture and problem-solving requires a deep understanding of both the technical and business aspects of development projects.

Programmers must not only grasp the intricacies of the technologies they use but also understand how those technologies can be applied to solve real-world problems in innovative ways.

This evolution in their role highlights the increasing value of creativity, foresight, and a holistic approach to technology development in the modern era.

The Interdisciplinary Nature of Modern Programming

Based on all my years of experience I am seeing that modern programming is rapidly becoming an interdisciplinary field, requiring programmers to collaborate closely with experts from a variety of domains. This shift acknowledges that creating impactful software solutions extends beyond technical know-how, demanding a deep understanding of user needs, business objectives, and ethical considerations.

This interdisciplinary nature means programmers frequently work alongside professionals in fields such as design, marketing, healthcare, and finance, to name just a few.

This collaboration ensures that software is not only technically sound but also aligns with user expectations and solves real-world problems effectively. For instance, when developing a health-tracking app, programmers might collaborate with medical professionals to ensure accuracy and relevance of the health metrics the app tracks and with user experience (UX) designers to make the app intuitive for people with various health conditions.

Understanding user needs is fundamental in this process, as it ensures that the software delivers value to its end-users, enhancing their experience and satisfaction. Business goals are equally crucial, as they guide the development process to align with the company's objectives, whether that's increasing efficiency, driving sales, or entering new markets.

It's no longer just about writing code; it's about being a part of a multidisciplinary team that together navigates the complex landscape of modern software development, ensuring that technological innovations serve humanity ethically and effectively.

The experienced coders who know the interstices of specific systems and their Product counterpart will be highly valued.

In my opinion, entry level or junior coders will be down-valued or their numbers will not be needed as once before. They will need to quickly transition into that of system architects and problem solvers.

Continuous Learning and Adaptation

The rapid pace of technological advancement necessitates continuous learning and adaptation for programmers. To remain relevant and effective in their roles, they must constantly update their knowledge and skills, especially as new programming languages, tools, and best practices emerge.

I believe AI will create new programing languages and ways of doing things (no code needed) to create systems once coded in C++ (substitute your favorite programming language here). As a programmer, you will not be able to learn this language or even be proficient in coding in this new so called "language".

Strategies for staying current include participating in online courses, attending workshops and conferences, engaging in community learning through forums and coding communities, and contributing to open-source projects.

Regularly reading industry publications and following thought leaders in the field can also provide insights into emerging trends and technologies. This commitment to lifelong learning is crucial for navigating the ever-evolving landscape of software development.


In conclusion, the role of programmers will under go a profound transformation, evolving from coding specialists to multi-faceted technology professionals. This shift is largely driven by the advent of AI and automation, which are redefining what it means to develop software.

Programmers are now expected to be system architects, problem solvers, and interdisciplinary collaborators, with a deep understanding of user needs, business goals, and ethical considerations.

As programmers adapt to these changes, their role becomes more crucial than ever, bridging the gap between complex technological capabilities and real-world applications.

Investors love this strategy, as management and investors discuss efficiencies. It's about becoming leaner. Its all about being more efficient. A mantra I used over 10 years ago, "Do more with less", still applies in Tech today.

Human coders are no longer needed for company growth. However experienced system architects, problem solvers and highly experienced collaborators are!

Future company growth will come in building advanced AI. Is your company just using AI or building AI? If you are not building our own AI you will soon be left in the dust.

"Don't fear the future, invent it." - Alan Kay