About the happiness of developers and where to find it

Original author: Dragos Barosan
  • Transfer
“Success is getting what you want. Happiness is to want what you get. ” William Patrick Kinsella

In recent years, companies have developed a trend: managers are trying to take care of the happiness of developers. Today we will look at this topic and try to find the answer to the following questions:

  • Why does the company care about the happiness of the developer?
  • What really makes him happy?

Disclaimer Keep in mind that this is not the ultimate truth. I’ll just share some ideas from people in the industry, interspersed with my own. Probably all this is more related to Western society. In other countries and cultures, there may be quite the opposite perception of happiness.

If someone wants to express some ideas or challenge these, I suggest to do it in the comments. After a little “disclaimer” let's see what we have here.

Why is the happiness of the developer?

The question may immediately arise: why am I talking about the happiness of the developers, and not of all the employees in general? There are two main reasons.

Firstly, this is my profession, so I know most about this particular niche.

Secondly, the reality is that, in general, companies do not care much about the happiness of employees (of course, there are exceptions), unless they can directly relate it to the increase in profits.

Why are developers today in a privileged position? The reason is the shortage of qualified personnel in the labor market, although in the future the situation may change as more and more people go to IT.

The current status quo means that developers have much more opportunity to move between companies if they are not happy with their current work. The situation quickly turns into a large staff turnover for a company that does not try to prevent it.

High turnover rates

It would seem that with a large turnover you can simply replace one worker with another? Not everything is so simple: this process requires certain costs, both real (i.e., direct) and indirect. I list some of them, but if I missed something, please let me know in the comments.

Image source

Direct costs:

  • Recruiter fees: external agents typically take from 15% to 30% of employee salaries in the first year.
  • Advertising vacancies at different sites: job sites, Linkedin or other social networks.
  • In some cases, separate training for a new employee.
  • Travel expenses if a candidate is found abroad.

Indirect costs:

  • The loss of productivity due to the fact that the team has one developer less.
  • Loss of time for interviews with candidates, because they are conducted by other developers and managers instead of useful work.
  • Even after hiring a good candidate, there will be some loss of productivity as long as the novice gets used to the project, processes and tools. If the old employee worked for a long time, then the knowledge gap is wider, and it will take even more time.
  • High turnover affects the morale of the others, which can lead to an additional decrease in productivity.
  • A high-turnover job vacancy can become notorious in the labor market, which will make it even harder to find a replacement, raising both direct and indirect costs.

What can companies do?

Figures and data

Some companies do not take the problem seriously, because indirect costs will not appear in the balance sheets on the table of top management, although these hidden costs may well outweigh the direct costs, but they are more difficult to identify in specific figures. Thus, the first step is to make a rough estimate of the total cost of replacing an employee. With concrete numbers it will be easier to convince the guide to take action.

Interview with dismissal

Secondly, the interview at the departure: a conversation with an employee who decided to quit. You can ask him about the reasons for leaving.

This should be carefully planned, because it is easy to get false data here. For example, someone wants to maintain good relations with the company and therefore will not make all the complaints. Another leaves because of a bad relationship with the manager, and if this manager is present at the interview ... then you understand.

“The interview at the dismissal was so pleasant. Do you still have open vacancies? ” Image source

Interviews not only show the reasons for employee dissatisfaction, but also help to reveal false positives when the mass leaving of the staff has nothing to do with job satisfaction, but is caused simply by coincidence. Different employees may have different personal reasons: moving to their home country, to the office closer to home, starting their own business, switching to freelancing, etc. It happens that everything coincidentally coincides at the same time for several people.


Of course, it is important to keep a pulse on what the employees feel, constantly collecting data of this kind. This is done in different ways: in one-on-one conversations, through online surveys or in general meetings, where everyone can say what is sore.

What brings happiness to the developer?

Dependence of happiness and the time elapsed since the last opening of the collection of configuration files for the Xorg X server. Image source


Immediately on the obvious. Usually, when companies take initiatives to increase the happiness of developers, they mean “without an increase in salary.” Some do it because they have no money. Others because they want to reduce costs and increase profits, but someone does not consider an increase in salaries as an effective employee retention strategy.

There are several points to note here. First, some people will always strive to increase their wages as much as possible and generally do not care about anything else. Others, which, I think, the majority, as soon as they reach a certain level for their lifestyle, will care not so much about salary increase, but about other factors that I will list later. Of course, this “satisfactory level” of salary varies greatly from person to person, so several assumptions can be made here. Usually at the beginning of a career, people have not reached a sufficient level and will be looking for a significant wage increase.

It is known that the best way to significantly increase salaries is to move to another company, since within a company a salary increase is usually 2-3 times less than when changing jobs. This is a somewhat strange situation, given the high cost of replacing an employee, which we discussed earlier. Taking into account the previous two facts, we can conclude: an insufficient salary increase is one of the reasons that contributes to a higher staff turnover among young developers.

Of course, there are companies that simply cannot pay as much money as some of the large corporations. For them, the main way out is to compensate for the difference in some other ways. Startups as an incentive give a decent share in the company, other firms give more days off, a shorter working day, or full flexibility in terms of working hours.

Another aspect. Even if the employee is satisfied with the current salary level, but he constantly hears from friends and sees on the Internet that in other companies they pay more for his work, he will think about the transition. So companies should behave cautiously: at least correspond to the average wage by industry or in their own country.

And the last. A wage increase is like an instant "happiness pill." It's great, but the feeling quickly passes. If the increase occurs only once a year, then the satisfaction of such an increase will most likely disappear long before the next increase. As a result, many are in favor of a multiple small pay increase during the year. This also coincides with the policy of continuous performance reports instead of the classic annual report.

I think you can say more here, so let me know in the comments what you think.


In the end, most other aspects can be reduced to management. But here we are talking about managers as people and their behavior.

For the developer here are two aspects:

  • his immediate supervisor is the one to whom he directly obeys;
  • top management - those who control the company and its finances.

- The old project is a crappy code, I have to rewrite it from scratch.
- Does one programmer ever say good things about his predecessor?
“I hope this idiot who you find in my place will say it.”

Immediate supervisor

This relationship is very important, because for the developer his immediate superior is the main intermediary between him and the company.

Therefore, when it comes to loyalty, the developer most of the time will be loyal to his manager, not the company. Managers, unable to develop a sense of loyalty to themselves, will face staff turnover in their department.

The employee wants to feel that the company appreciates, trusts and cares about him, and the task of the manager is to convince the employee of this. Frequent conversations in private, struggle with top management in defense of the interests of their children, advice to programmers on their career growth, creation of a calm working environment - this is what the manager does.

In many cases, the employee’s desires go against the company’s desires; therefore, being a good manager is a difficult job, you have to look for compromises.

In the book “Drive: What really motivates us,” Daniel Pink is argued that a person’s internal motivation can be strengthened along three axes:

  • Autonomy . Everyone wants to express themselves and have a certain degree of freedom in their actions. Some examples of how to meet this need: 1) official free time for a developer to work on arbitrary projects or to learn something that is not directly related to his daily work; 2) flexible working day; 3) contribution to the design of functions and products, and not just their implementation.
  • Mastery . Developers want to become better and need the help of managers to achieve this growth. One of the proven methods is puzzles: tasks that are not very easy to cause boredom and decrease in motivation, but also not too difficult to increase anxiety and, probably, reduce working capacity. On this axis, the developer also wants to feel that the emphasis is placed not only on the quantity, but also on the quality of the work, as this will allow him to show greater skill.
  • Goal . Everyone needs a purpose for what he does. If people come to work only for the sake of money, it is unlikely that the best professionals will work here, and in order to attract employees, the company will have to raise wages above the market average. The whole company may have a common goal, but managers can create a goal specifically for their employees, which will further motivate and attract them. When the motto is clearly defined, it should be disseminated everywhere (start every meeting with it, hang some poster in the workplace), to always remind everyone of the importance of their work. The goal must be plausible, otherwise unpleasant consequences can happen: everyone will just think that this is some kind of corporate garbage.

- What are you doing?
“I make tools for making tools that tracks the code for deploying tools to build other tools that implements monitoring systems ...
... in 20 minutes ...
... to monitor the installation of tools for ...
- But what is all this for?
- To be honest, without a clue. Probably for porn.
A source

Top management

No matter how hard the immediate supervisor tries, it will not work if the top management sees in the developers not a profit center, but a cost center. Developers will fully feel the consequences of such an attitude: there will be no budget for training, conferences, tools or team events. Most often, this attitude is present in industries outside IT: a simple example is the banking industry, although in our time the situation is beginning to change.

From the point of view of developers, one of the main problems in relations with senior management is the lack of transparency of decisions made and accountability for them. There are numerous cases where tools or technology stacks for different projects in companies are selected without a clear explanation of why. They are simply imposed on developers. And when, in the future, these tools and stacks obviously harm performance, the responsible comrades are either already promoted or transferred to another project. It seems nothing difficult to attract developers to solutions that affect their daily work. But few of the large companies do this transparently and responsibly.


Various benefits and benefits are a great way to inexpensively and effectively provide added value to the company. On the one hand, such things are not taxed, as taxable wage increases, so the employee will receive much more for the same money. That is, the allocation of a budget for participation in conferences, trainings or travel can be profitable for both the employee and the employer. The list of expenses that are not taxable differs in different countries, so check with the tax.

Another thing is that some of the buns scale better than wage growth: the presence of fresh fruit in the office every day or a recreation area is similar to a small salary increase, but it is valid for everyone.

A source

List of sources of happiness for the developer

Since the article was longer than I wanted, I will make a short list of things that can improve the happiness of the developers and which we have not discussed in detail:

  • Events for employees, but not only corporate ones - events for employees are usually more personal and hold the team together better than corporate parties.
  • Minimum bureaucracy - no need to approve every small request by the five committees.
  • Communication and interaction with customers is a great pleasure to hear from customers how they use the product you have created. There is also a motivation to improve the program when you have a specific person instead of the abstract concept of users.
  • Flexible hours - without hard working hours, sometimes allowing work from home.
  • Good tools - the easier it is to use work tools, the happier and more willing the developer will be to start working on the task. If possible, it is better to allow the tools he (or the team) wants to use.
  • An office where you can concentrate while working. That is why many developers oppose open offices.
  • Properly equipped office: two monitors (or one large), a good chair, a good laptop, etc.
  • A good balance between work and personal life - when developers have families, it becomes even more important.
  • The transparency of management is clear communication, why certain decisions are made. As already mentioned, it is even better when developers are given the right to express their opinion.
  • The clear responsibilities of people in the company and clear examples that good decisions and behavior are rewarded, and bad ones are punished.
  • Staff investment.

Also popular now: