Software development has become easier than ever--so easy, in fact, that new development tools and trends are making programmers less valuable relative to other types of IT professionals.
That’s a bold statement, I know. Let me explain my reasoning, and how I think developers should respond.
The Decreasingly Important Software Developer
In a sense, software development has been getting easier and easier as computing technology has evolved.
When modern computers appeared in the mid-twentieth century, the only tools developers had to work with were assembly language and machine code. Writing software this way was tedious and required an immense level of skill.
The first high-level languages, such as Fortran, entered into use in the mid-1950s. They made programming considerably easier than it had been using assembly language, but most developers would agree that Fortran and the like are no pieces of cake. Using it or other early high-level languages requires special skills.
The gradual trend toward easier-to-use programming languages and methods continued as time progressed. Newer high-level languages like C offered simpler syntax and easy portability in the 1960s. By the 1970s, object-oriented programming greatly simplified application architectures. In the 1980s and 1990s, the standardization of many hardware platforms and software protocols reduced the amount of specialized knowledge that developers had to have in order to write code for a specific type of computer or operating system.
Tools That Make Development Easy
Fast forward to today, and a new generation of tools and practices have software development easier still.
One example is low-code development platforms, which allow programmers to implement applications with minimal coding. Meanwhile, their cousins, no-code programming tools, make it possible to write an application with no coding skills at all.
There are differences between these two types of tools. No-code platforms are designed to empower people without technical backgrounds to write simple applications, whereas low-code tools tend to be designed to help competent developers produce applications faster. Still, the end result of both types of tools is that software development is faster and easier, and skilled developers are less important to the process.
Open source development has also changed the way applications are created today. By embracing open source code, an organization can borrow heavily from others when writing its own applications. It could even potentially launch an open source project and convince third-party programmers to write most of the code it needs. Thus, as a software development strategy, open source saves developers time and makes in-house developers less significant for meeting an organization’s programming needs.
The Future of Developer Careers
What all of the above suggests--to me, at least--is that the work developers do today is easier than ever before. As a result, developers are under greater pressure to prove their value.
To be clear, I don’t think we’re on the cusp of a world where most companies stop hiring developers at all and instead expect administrative assistants to write applications using no-code platforms. I don’t want to overstate the issue. Developers still have plenty of roles to play in modifying and customizing the software that companies rely on to do business, and they won’t disappear anytime soon.
Still, compared to the past, having an army of seasoned developers on staff to build your organization’s software is less critical today than it ever has been.
So, what can developers do to protect their careers? I don’t think raging against the machine--in other words, attacking low-code tools, open source or other types of innovations--is the answer. Instead, today’s developers should consider strategies that can help them remain relevant and valuable to the companies that would employ them.
Those strategies might include:
- Embrace DevOps, which extends the role of developers beyond coding to include software deployment and maintenance. Old-school developers might think of application deployment and maintenance as a job for someone else--that’s why this work was traditionally performed by parts of the IT organization that were distinct from the development department--but the reality is that today’s highly complex applications and environments require the code-level insights of developers in order to be deployed and managed effectively.
- Focus on application optimization, not just implementation. It may be easier than ever to write an application, but that doesn’t mean it’s easy to write an application that is efficient and high-performing. Low-code tools, for example, speed development but rarely lead to optimized code. By focusing on improving codebases through practices like refactoring or function optimization, developers can add value even within organizations that can churn out a lot of basic code quickly with few developers.
- Add security skills. Like application optimization, security is another feature that is easy to overlook when you produce applications very quickly. Although developers haven’t always made software security a key focus, doing so is another good way of staying relevant--especially given the weight of IT security threats today.
The world of software development is changing, and the roles that developers play need to change, too. It’s the only way for developers to remain essential in a world where new tools and strategies make software development easier than ever before.