The forces driving the new code-agnostic developer generation
Code-agnostic development is the future of cloud-native applications. Sure, there are plenty of benefits to knowing a coding language inside and out, but the field is evolving beyond the requirements for deep language expertise. As low-code and no-code platforms abstract complexity, developers can focus on higher-level concepts. The ability to jump from language to language will make them more efficient and adaptable.
Software industries evolve by abstracting complexity of lower-level tasks. If done correctly, this leads to better user productivity and outcomes. This movement in development is fueling the new approach to languages, allowing development teams to operate successfully with coding knowledge a mile wide and an inch deep. The trend of multi-lingual developers will propel the industry into the future. Let's take a look at how these experts developed.
What does code agnostic mean?
In simple terms -- code agnostic means the developer can effectively and efficiently work in any language. When I started my career, developers typically coded in one language and understood all its nuances. Loyalty to said language was almost religious in nature, and attempting to get developers to shift languages was always a battle. Times have changed for the better. Developers are now typically fluent in several languages, and tools continue to emerge that provide aids for coding (even though any coder worth their salt still swears by their favorite CLI). In addition, the process of releasing code has evolved radically. There are now tools that make continuously deploying code 'push button' easy with high reliability. There's no need to focus on minutia to achieve reliable scalability -- these processes take care of it for you as a developer. Development teams can now safely and efficiently release software updates through continuous deployment without becoming deployment experts. Because they no longer need to work in the weeds, developers can focus on higher-value coding elements, which is their passion.
Why is the new generation of developers fluent in so many languages? Games like Minecraft lay the foundation for lifelong enthusiasm by teaching kids to code at a younger age. When you are a child, you learn things at a higher level. These kids weren't initially exposed to language nuances and deployment processes -- they learned to write creative code and had fun doing it. Because they started simple, developers could learn the basics of various languages. These professionals thrive in an environment where they can complete the tasks that brought them joy as children. They have no interest in hardware or middleware, and because of growth in abstraction, they don't need to.
The benefits of being code agnostic
As low-code and no-code become more widespread, knowing many languages provides flexibility. When developers join a team, they usually inherit someone else's code and language decisions, and the more marketable professionals are the ones who can adapt quickly to the project's conventions. Code agnosticism enables problem-solving because developers can view the situation from a high level and compare languages to determine the best option for the situation.
There are tradeoffs to multi-language proficiency. Occasionally there will be some strange edge case in your software that would benefit from deeper knowledge, but for the most part, you can accomplish most of today's business tasks in any programming language.
How to become code agnostic
Mastery comes from starting with the basics. Learn the high-level concepts of coding -- those will transfer to each language. You can treat your first language as your specialty, but don't stop there. Continue learning other languages -- practice in new environments. And like most other fields, we can all benefit from a mentor. Seek a professional who can help guide and develop your coding foundation.
If you're leading a development team, don't allow them to pigeonhole themselves into one language, software or coding preference. Offer training and development opportunities and encourage innovation and risk-taking.
The industry is accelerating abstraction to remove complexity and drive productivity. By removing lower-level decision points like server size and deployment pathways, developers can do the creative coding work that excited them as children. They have time to learn new languages and reap the benefits of this knowledge to improve their team's process and product.
Jim Douglas is the chief executive officer of Armory.io, the continuous deployment (CD) company empowering development teams to easily, reliably, safely and continuously deploy software at any scale. Douglas is a transformational B2B software executive with substantial global experience scaling companies from start up to Mid-Cap. He was previously president & chief executive officer of Wind River, president & chief executive officer of CodeGear, president and chief executive officer of ReShape Inc., and held various executive leadership roles at Cadence.