Nine things developers need more than money
A considerable number of Internet project managers and no less than developers communicate with Habré: designers, programmers. I know from my own experience that there are often moments of misunderstanding by some others. To somehow help both achieve mutual understanding, I offer a summary of Rob Walling's article :
Money is a strong motivation, but it is sometimes not the final and decisive factor in the struggle for good employees.
1. Start to succeed
This is sad truth, but many software development projects fail. Each developer has in stock stories and counter-examples of poor project management.
Realistic deadlines are the foundation of project success. Developers want to make software that not only works, but that is not ashamed to show, and which they can then be proud of. This principle often diverges from the goals set by management, who wants to get just working software.
In general, the first thing that suffers with a lack of time is quality and reliability. The most evil that you can bring to the developer is to get him to make bullshit. What pride in their labor can be discussed later?
The work needs to be done not only quickly, but also efficiently. One developer I talked to said: “Quality is as important as budget and functionality.”
2. Great leadership
Good project management is important both for the project itself and for people who will be motivated by excellent management. This means being able to listen to an independent point of view, knowing what it costs to develop a quality product, being able to make decisions quickly and being able to take responsibility for the whole team.
3. Learning something new
Research on people's behavior shows that we feel more comfortable when we learn new things. Two researchers from Columbia University concluded that workers are willing to decline an average of a 20% increase if the work becomes more diverse or requires more extensive knowledge of the subject. In fact, we choose a lower salary in favor of a fun, interesting job for us, which also allows us to expand and deepen our knowledge.
Every developer I know loves to play with new technologies. Everyone should have the opportunity to satisfy the need for learning new things. Let your employees learn, and they will be happy at work even in a windowless basement where stale food is served through a small window. And they will not mention the promotion.
4. Creativity and solving real problems
Developers love it when they are challenged. Without a fight, they are bored: they start checking their mail, visiting Digg and Slashdot, reading blogs and watching which friends are online just to chat about their uncle, about the IDisposable interface or a piece of toast shaped like St. Mary's.
How many times have I seen developers who solve technical problems before dawn even when they were not asked about it, and no one even stuttered about overtime. The best developers just live problem-solving. Most of these people will not leave the matter until the problem is resolved, and even more they will be delayed by the fact that the task will require a non-standard approach.
5. Voting rights
Developers are those who are the first to know about a broken system or process. Once I heard: “I want someone to listen to my problems and take them seriously. I worked in several places where the amount of memory, the number of hard disks and the processor clock speed were simply not interesting for the company management. Each time I had to delete temporary files because there was not enough disk space. You know, working with outdated equipment is simply annoying. ”
When the developer says, someone should listen to him. When several developers talk about the same thing, someone is required to listen to them and act quickly.
6. Acknowledgment for hard work.
Developers love difficult tasks and work that impresses themselves and their friends.
7. Creating something important
We are not doctors in Bosnia or even food carriers in Sudan, but nevertheless, many people feel that they would like to do something useful for the world, something social and technological at the same time. The system engineer who created the logistics system, which will reduce the mileage of the path traveled by the machines for daily distribution of the press, will have more joy than the programmer who wrote the program, which will be launched by force 15 times in a year.
Copy-paste of pieces of code with label changes is actually not as interesting a job as it might seem.
8. Software development should not be accompanied by excessive bureaucracy
I have been working on a contract for three years since 2001. During this time, I wrote a ton of web applications. I easily wrote code when I knew exactly what and how to do it. Together with one developer, we wrote tons of software for a couple. And, here, at my next job, software production could be compared to dragging a weight. The creation of each new page required the convening of six people to approve the changes. Development lasted 5 times longer. This is pretty annoying. The ability to make decisions without a meeting of a group of people makes it very, very easy.
9. A small number of restrictions
No one likes terrible code, bugs in the interface, or a poorly designed data model. Too many restrictions reduce the creative component, make it necessary to collect meetings for making decisions on changes, and in general, discourages all the desire to give all the best to work on the project.
Money is a strong motivation, but it is sometimes not the final and decisive factor in the struggle for good employees.
1. Start to succeed
This is sad truth, but many software development projects fail. Each developer has in stock stories and counter-examples of poor project management.
Realistic deadlines are the foundation of project success. Developers want to make software that not only works, but that is not ashamed to show, and which they can then be proud of. This principle often diverges from the goals set by management, who wants to get just working software.
In general, the first thing that suffers with a lack of time is quality and reliability. The most evil that you can bring to the developer is to get him to make bullshit. What pride in their labor can be discussed later?
The work needs to be done not only quickly, but also efficiently. One developer I talked to said: “Quality is as important as budget and functionality.”
2. Great leadership
Good project management is important both for the project itself and for people who will be motivated by excellent management. This means being able to listen to an independent point of view, knowing what it costs to develop a quality product, being able to make decisions quickly and being able to take responsibility for the whole team.
3. Learning something new
Research on people's behavior shows that we feel more comfortable when we learn new things. Two researchers from Columbia University concluded that workers are willing to decline an average of a 20% increase if the work becomes more diverse or requires more extensive knowledge of the subject. In fact, we choose a lower salary in favor of a fun, interesting job for us, which also allows us to expand and deepen our knowledge.
Every developer I know loves to play with new technologies. Everyone should have the opportunity to satisfy the need for learning new things. Let your employees learn, and they will be happy at work even in a windowless basement where stale food is served through a small window. And they will not mention the promotion.
4. Creativity and solving real problems
Developers love it when they are challenged. Without a fight, they are bored: they start checking their mail, visiting Digg and Slashdot, reading blogs and watching which friends are online just to chat about their uncle, about the IDisposable interface or a piece of toast shaped like St. Mary's.
How many times have I seen developers who solve technical problems before dawn even when they were not asked about it, and no one even stuttered about overtime. The best developers just live problem-solving. Most of these people will not leave the matter until the problem is resolved, and even more they will be delayed by the fact that the task will require a non-standard approach.
5. Voting rights
Developers are those who are the first to know about a broken system or process. Once I heard: “I want someone to listen to my problems and take them seriously. I worked in several places where the amount of memory, the number of hard disks and the processor clock speed were simply not interesting for the company management. Each time I had to delete temporary files because there was not enough disk space. You know, working with outdated equipment is simply annoying. ”
When the developer says, someone should listen to him. When several developers talk about the same thing, someone is required to listen to them and act quickly.
6. Acknowledgment for hard work.
Developers love difficult tasks and work that impresses themselves and their friends.
7. Creating something important
We are not doctors in Bosnia or even food carriers in Sudan, but nevertheless, many people feel that they would like to do something useful for the world, something social and technological at the same time. The system engineer who created the logistics system, which will reduce the mileage of the path traveled by the machines for daily distribution of the press, will have more joy than the programmer who wrote the program, which will be launched by force 15 times in a year.
Copy-paste of pieces of code with label changes is actually not as interesting a job as it might seem.
8. Software development should not be accompanied by excessive bureaucracy
I have been working on a contract for three years since 2001. During this time, I wrote a ton of web applications. I easily wrote code when I knew exactly what and how to do it. Together with one developer, we wrote tons of software for a couple. And, here, at my next job, software production could be compared to dragging a weight. The creation of each new page required the convening of six people to approve the changes. Development lasted 5 times longer. This is pretty annoying. The ability to make decisions without a meeting of a group of people makes it very, very easy.
9. A small number of restrictions
No one likes terrible code, bugs in the interface, or a poorly designed data model. Too many restrictions reduce the creative component, make it necessary to collect meetings for making decisions on changes, and in general, discourages all the desire to give all the best to work on the project.