What motivates a software developer?

Nicolae Andronic
6 min readNov 19, 2018

I’ve just finished reading ”Drive” by Daniel H. Pink. Focusing on the business world, this book talks about the types of motivation and how they have evolved over time.

In short, using a software versioning system: first, we have Motivation 1.0, which is the motivation that animates our basic needs, what we need to survive: food, shelter, sex. Then, we have Motivation 2.0 which is based on punishments and rewards (or “carrots & sticks”) and is the principle that most companies in the world still apply. Motivation 3.0, the latest version, is the motivation that comes from the inside and is based on the satisfaction gained from the work itself. It’s what motivates most of today’s employees, but it’s not (yet) well understood by employers.

Motivation in software development

Although the principles described in Daniel Pink’s book are general and can be applied in almost any field (except for repetitive and mechanical work), it would be interesting to analyze how they can be applied specifically in IT and what Motivation 3.0 looks like for IT people, especially for software developers.

First of all, we have to start from the premise that programming is a creative job. The result of the developer’s work is not “number of code lines / hour”, so all that is involved in treating programming as monotonous, repetitive work should disappear. Straight away, his means that some concepts such as “face-time” (physical presence for 8 hours in the office) and “billable hours” (paying developers per hour of work) should disappear — and it will eventually disappear — naturally.

Also, various studies have shown that in creative jobs the increase in material rewards does not help creativity, but on the contrary, it diminishes it considerably in the long run. In the short run, yes, the punishments and rewards system helps. If it’s Friday, and the company has a deadline on Monday, a bonus on salary can motivate employees to work hard over that weekend. But, just that. In the long run, the same bonus does not help anymore, but on the contrary. Employees will not be as “hardworking”, knowing that if they get to the same deadlock, the company will have to motivate them again with a fat bonus. Productivity will drop dramatically.

In IT, Motivation 3.0 also has some elements of Motivation 2.0, but they are related to ensuring the minimum level of satisfaction that allows the employee to focus on the work itself. The most important element: salary. In IT, we have to admit, salary is no longer a survival criterion. Wages are high, and a software developer, who is paid very well, will not become more productive if his salary increases by 10%. So the employer just needs to make sure the salary is in the market average.

Other important elements of Motivation 2.0 for developers are colleagues, management and the work environment. All this is about ensuring a safe, non-aggressive climate that will support them while focusing on their own work.

By analyzing a little bit the IT market and what employers are doing, we see that there is a big difference between what IT companies have to offer and what actually motivates IT people. All the benefits offered besides the salary are nice and are part of Motivation 2.0, but that’s all. True motivation comes from the work itself.

What are the motivational elements in software development?

Now that we have established that the transition from Motivation 2.0 to Motivation 3.0 — that intrinsic motivation that comes from the inside, without being influenced by external factors — is quite clear in the programming world, let’s see what are the elements forming it. The three elements are Autonomy, Mastery, and Purpose.

Autonomy — It translates into the desire to have the freedom to make your own decisions about what and how you work.

Because it’s a creative job, and creativity hardly follows a plan, developers are all the more efficient as they are given the greatest freedom of creation. Some employers have understood this and take full advantage of it. An example is Google, which lets (it’s this still true?) 20% of the working time to employees in order to develop their own product for the company. An interesting note: this is how Gmail, Google News and AdSense came to life.

If product-related creativity is more difficult to accept by companies, because most businesses have certain products they MUST develop, autonomy in this case turns into the freedom to work as you wish. This turns into concepts like “work from home” and “flexible hours”. That’s why I hear more and more IT people saying: “Let me work from home. I promise to give you the best quality in return for your confidence.” Developers want to be recognized as responsible adults who can be trusted.

Developers also want to be free to make their own technical decisions. Although a certain language or framework is usually imposed by the employer on business reasoning, certain technical decisions should be left to the developers. In addition to the sense of freedom that making their own technical decisions brings, the creativity of developers can sometimes lead to solutions that are extremely useful to business.

Mastery — Desire to try to become better and better in a field that matters to you.

An important feature of programming is the continuing need for learning and development. Fortunately, this necessity is in synergy with the desire of developers to grow and become experts in a particular area of the industry. Whether it’s a programming language, a framework or a methodology, all developers want to become experts.

But the way to mastery is sometimes extremely long, and the competition is extremely high. That’s why most developers want to work on new technologies. They will not say this (or will not even realize it), but on new technologies the competition is smaller, and the way to mastery is shorter. And sometimes the really good software developers are creating their own path and obviously they become experts in that area. How many developers do you know working on creating their own framework, or their own library?

Also, in order to achieve mastery, the developers most often need mentors. A Lead Team or very skilled colleague, master of his field, to help him become better.

Purpose The desire to feel that you are working on something meaningful and helpful.

The last element of motivation, but equally important, is the purpose of work. How does the developer’s work help? What is the end result? How does it make the world better?

Developers want to create for a purpose. To create something that matters. That’s why most developers become extremely disappointed when their project is canceled and their work doesn’t reach public eyes. Personally, I have been in this situation several times — it is extremely disappointing. This is the explanation for the Open Source world. That’s why some developers work, sometimes even without pay, for projects that please them and give them a purpose. The same developer who works in a company’s office for 8 hours being well paid, goes home and works, sometimes until late at night, on a project without absolutely no financial motivation, but which solves his need to create for a purpose.

Employers should explain to developers on what their work will be used for. By whom and who will help. Facing with the end-user can sometimes be the best motivator for a software developer.

Conclusion

Over the past few years, I have seen many people in various fields going into IT, especially programming, mainly for the material rewards. But, besides a good salary, what motivates them? Will they be motivated to find the momentum in themselves to become experts in the IT field at some point? What motivates you?

Did you like the article? Do you want to support us? Take a look at this list of jobs in Bucharest, Romania and apply:

--

--