The Evolving Role of the Modern Developer
For 30 years, we’ve bolstered developer stereotypes: a monoculture of introverted, technical wizards, who want little involvement with the business and are perceived to be merely “coders of algorithms” who will get the job done as long as there’s enough caffeine and snacks. In the end, they’re here to write code based on requirements, hand it off for testing, then take on the next feature.
These assumptions, and the role of the developer, are evolving rapidly. As companies are increasingly defined by the experience they deliver to the customer, the deep involvement of the developer within the business is imperative.
The role of today’s successful, modern developer is changing well beyond simply writing great code. It is emerging into a well-rounded, resourceful, high EQ (emotional intelligence) contributor to all aspects of the business and the broader developer community. Here are the key characteristics of a developer in the digital era.
Engages in the Community
Developers are gaining more awareness, involvement, and engagement within the open source community. An entire community of developers creates and shares code with people all over the world. No matter what kind of application you’ve been involved with in the 2010s, there’s a near-100 percent chance it has included some open source components.
As applications are far more complicated than they were just a few years ago, long gone are the days when you can write everything yourself — you have to stand on the shoulders of open source developers to piece your features together. Resourcefulness and integrating disparate systems are becoming more valuable to an engineering organization than pure algorithm abilities.
As such, we’ll see more developers contribute back to these projects, as it actively helps their prospects when looking for a new role or when shoring up their skills. The modern developer will contribute to open source projects and understand the importance of resourcefulness and real-world experience over pure algorithm coding. By engaging with this community, they will learn new languages and cloud platforms — in turn, they’ll realize that an open source project out there needs their contributions to make their project better.
Modern developers will have an understanding of the open source projects that their company is using, engage in open dialog with the community that produces that code, and become a regular contributor to the discussion.
Understands the Customer
Do your customers want to use your software, or do they want to accomplish a task? Do they want to fill out input fields and radio buttons, or do they just want to book a flight?
Today’s software is getting better, but it’s because of developers who partner with product to understand and empathize with users. Developers who don’t understand this will find themselves increasingly left behind. The modern developer will stop writing code in a vacuum and seek a detailed understanding of what the customer really wants to accomplish with their brand. To do this, the developer will play an active role in communicating with the customer success team — perhaps even participate in Customer Advisory Board meetings — to get a better understanding of their needs and what keeps them up at night.
Cultivates Relationships Across the Business
Developers will begin to collaborate with others within the organization. Modern developers will view product managers, quality assurance teams, operations and even the executive level as peers. These new inputs will drive developers to better decisions about the software they’re building. It will be important for developers to break down not only the silos between developer/QA/product, but also the silos that separate the engineering department from the rest of the functions that advocate for customers’ experience.
The modern developer will understand the wider organization outside of engineering: they’ll study the company’s financials and how revenue flows through the business, and they’ll attend conferences that focus on the business, as opposed to specific developer-centric events.
Takes Ownership of Quality
The idea that “developers own the code, and QA owns the quality” is a legacy mindset. Testing is no longer the sole purview of the QA department, and developers are emerging as a key player in ensuring flawless applications are delivered to market quickly. This trend is growing, as many chief technology officers (CTOs) have had uneven success at outsourcing — they’re now doing away with QA departments altogether. Whether this results in a “whole team” approach to quality, or explicitly demanding that developers write tests in addition to the product code, the result is that fewer people are explicitly focused on testing.
One positive outcome of this trend is that testing is now everyone’s responsibility. Modern developers will share ownership of quality, with a willingness to collaborate with QA teams to ensure that testing and development function as one.
Being a successful developer in the modern world is much more about pushing code through a multi-layered process than it is about coding the perfect algorithm from scratch. As a software developer, I’ve shipped over a hundred releases, and I can only remember a handful of times I’ve had to understand a complex quick-sort algorithm, let alone create one from scratch.
There will always be room for developers who write code in isolation, but as an industry, that role is shrinking rapidly. You may not have the option to stay in it for much longer.