Nine things developers need more than money

1. Start to Succeed
It's a sad truth, but many software development projects fail. Every developer has stories and counter-examples of poor project management.

Realistic deadlines are the basis for project success. Developers want to make software that not only works, but that they are not ashamed to show, and which they can then be proud of. This principle is often at odds with the goals set by management, who want software that just works.

In general, the first thing that suffers when there is a lack of time is quality and reliability. The greatest harm you can bring to a developer is to force him to do bullshit. What kind of pride in one’s work can we talk about later?

The work must be done not only quickly, but also efficiently. One developer I spoke with said, “Quality is as important as budget and functionality.”

2. Excellent leadership

Good project management is important both for the project itself and for the people who will be motivated by excellent management. This means being able to listen to an independent point of view, knowing what it takes to develop a quality product, being able to make decisions quickly and being able to take responsibility for the entire team.

3. Learning something new

Research into human behavior shows that we feel more comfortable when we learn new things. Two researchers from Columbia University found that workers would be willing to give up an average of 20% raises if the job became more varied or required greater subject matter knowledge. In fact, we choose a lower salary in favor of fun, interesting work 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 satiate the need to learn 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 won't mention a promotion.

4. Creativity and Real Problem Solving

Developers love to be challenged. Without a fight, they get bored: they start checking email, visiting Digg and Slashdot, reading blogs and seeing who they know is online just to chat about their uncle, the IDisposable interface, or a piece of toast shaped like St. Mary's.

How many times have I seen developers who solved technical problems until dawn even when they were not asked to do so, and no one even mentioned overtime. The best developers simply live to solve problems. Most of these people will not leave the task until the problem is fixed, and they will be even more delayed by the fact that the task will require a non-standard approach.

5. Voting rights

Developers are the first people to know when a system or process is broken. I once heard: “I want someone to listen to my problems and take them seriously. I worked in several places where the amount of memory, number of hard drives and processor clock speed were simply not of interest to 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 just annoying.”

When a developer talks, someone has to listen. When multiple developers are talking about the same thing, someone has to listen and act quickly.

6. Recognition for hard work

Developers love challenging tasks and work that impresses themselves and their friends.

7. Creating something important

We are not doctors in Bosnia or even food bearers 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. A system engineer who created a logistics system that will reduce the mileage traveled by machines for the daily delivery of press will have more joy than a programmer who wrote a program that will be launched at most 15 times in a whole year.

Copy-pasting 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 worked under contract for three years from 2001. During this time I wrote a lot of web applications. I wrote code easily when I knew exactly what to do and how to do it. Together with one developer, we wrote tons of software. Well, at my next job, software production could be compared to carrying weights. The creation of each new page required a meeting of six people to approve the changes. Development took 5 times longer. It's quite annoying. The ability to make decisions without a group of people sitting together makes the job very, very easy.
9. Few restrictions

Nobody likes terrible code, bugs in the interface and a poorly designed data model. Too many restrictions reduce the creative component, force meetings to make decisions on changes and, in general, discourage all the desire to work on the project.
Made on