What is a developer’s job?

The software industry is quite young, about 30 to 40 years old. Yet massive companies emerged quickly: billion dollar businesses bringing huge social changes. What does it mean to be a developer today, and how did that job evolve these last few years? I think we need to picture this as a global shift within the evolution of productivity.

Let's start from the beginning.

Tool creation is deeply linked to human progress: to improve our quality of life, manage population growth and create new endeavors. With time, tools are less and less focused on survival.

The evolution of tools is strongly linked to “technology”: better product quality, more variety and quantity. This progress is not linear. It's accelerating. Ray Kurzweil wrote about this in The Age of Spiritual Machines, where he described the “law of accelerating returns”: each step up makes the next step closer (For instance, X-rays paved the ways for many medical breakthroughs).

Industrialization was an important step on production of tools. It brought :

  • cost-efficiency
  • standard quality
  • repeatable processes

All these to produce items in industrial quantity. So some items became something we called commodity.

Commodity is a significant concept. A product becomes a commodity when its quality becomes predictable, repeatable, and it fulfills a common need. Let's take pens, paper or clippers as example. Nobody care about their brand. We need them to be cheap and predictable. Cost efficiency is essential. Imagine the cost of a clipper handcrafted by a blacksmith. That would be a luxury product. And the ROI of this product would be irrelevant: nobody would use it. So our quality of life would be affected (what’s life without clippers? HELL).

In the 19th century, industrialization took over manufacturing. Machinery started replacing most of the human work force. This evolution was driven by the engine replacing the human and animal muscle. During the last decades, computers have been revolutionizing work by replacing humans for intellectual tasks. At first, people delegated simple and repetitive tasks: computation, accounting, price comparison, long-term memory, etc. As the technology moved forward, we started using it for more complex stuff, mapping increasingly convoluted workflows, networking communications.

Now it’s time to delegate more complicated tasks like image recognition, translation or have systems play Go. This is it: as engines industrialized muscle, computers industrialize brains. We are commoditizing of intellectual services.

So now let’s talk about developers.

A software developer’s day to day job is writing code. Modeling specific processes in software, creating tools to industrialize intellectual services, improving value creation and processes to leverage money. With a nice ROI. This is why developer-managed companies became so successful: Microsoft, Apple, Google, Uber, Facebook, etc. They industrialized intellectual services, disrupted markets where brainpower was only human powered, non-scalable and unfocused. This is why Marc Andreessen said that « software is eating the world ».

The industrial revolution of intellectual services is here, and developers like you and me are at the heart of it.

This professional evolution leads to a new way of producing software: more fluent, able to adapt the “brain power tool” faster, in a competitive market. Quickly adapting software makes for adapting businesses. It brings a huge advantage over the competition. The job of a developer must focus on short and continuous delivery, to compete in that market. This leads to a specialization of developers in various combinations of skills and tasks.

Some will go for low level systems. Others, on higher abstraction levels, will manage data or create data pipelining related to core business. That's why “developer” is more of a skill among others specialties, like banking, insurance or food, or people knowing how to model the process in a business domain, optimize and adapt it in a short time.

This is why we need to push forward efficient software factories, from dev to QA to hosting and production. Greatly reducing human and process costs to ship new software will give a decisive competitive edge.

This is why continuous delivery is now necessary.

Because it is driving competition between companies. Because it is reducing cost and time to deliver new software. Because it's providing the finest brain power at exactly the right time, and more important, ahead of others in the market.

The major change in company organization in the last few years is a pivot point. IT services evolved from being a cost center to being a company’s core, with software running the largest part of the business. It is becoming the biggest part of a company’s valuation. As developers, our role is to maintain this core and to make it evolve. We need to bring organisations to the next level, understand market and business logic, and deliver updates to all industrialized intellectual services.

Blog

À lire également

Deploy Brinjel on Clever Cloud

Brinjel is an open-source field management software designed for market gardeners, helping them plan seasons, track harvests, and optimize agricultural production. Created by and for market gardeners, it emphasizes an intuitive interface and features tailored to real-world needs.
Company

Simplify the management of Clever Cloud services via Kubernetes with our new operator

For the past two years, we've been enabling our customers to combine the ease of deployment of Clever Cloud with an existing Kubernetes infrastructure through an operator.
Engineering

Keycloak as a Service: identity management without the complexity

Ensuring identification and access management (IAM) in an application is a challenge that is as strategic as it is complex. But beyond the initial configuration, it is the maintenance, updates and supervision of the solution that most mobilise your teams. What if you could concentrate on your applications... while a managed solution took care of the rest?
Company