What do developers want from their job?

What do developers want?

Home / Development / What do developers want?

I asked our programmers what makes them get up in the morning and (more or less) happily spend a day doing something most people find uncomprehensible and scary: software development.

100% of them answered: getting paid. I sensed I was talking to logical people who don’t have time for vague questions. So I asked differently:

What does writing code for other people give you personally? What makes you enjoy your job and feel like it helps you achieve your personal goals?

Money is the factor that makes people show up for work and do what needs to be done. But if your work is not satisfying in itself, it takes more and more energy and strong will every day to force yourself to show up. You need intrinsic motivation to drive you. You need to want to do that job, not bear it in order to afford vacation.

So how do you motivate programmers when adding another ping-pong table and another game of paintball are not helping? How do you stop them from looking for satisfaction in another job? What could humans possibly want from something that takes up most of their lives?

Doing work you can be proud of

Michał Kosyk: What motivates me is being able to build systems that make people’s lives easier. When I can do that, I feel appreciated as a service provider. But I also know that my work is not mindless or art-for-art’s-sake, but it actually improves someone’s reality.

Open source

We usually work under an NDA and at the end of a contract don’t even have much to showcase under our own names. It’s a great boost for your ego and reputation to sign your name on quality open source projects. And aside from that, you contribute to the community and help make good software widely available

The culture of excellence

When you hire excellent people, they motivate the rest of the team just by example. The rest of the team doesn’t want to look bad in comparison, so they focus on reaching the level of the best.

Piotr Imbierowicz: I remember at one of my previous jobs I was the only experienced programmer in a team of beginners. My employer decided that investing in talent is not worth the money, so he hired all juniors and hoped things would just work out. In the end, I didn’t even have time for coding because I’d spend all day teaching the others basics.

That was really demotivating. When the appreciation for quality doesn’t come from the top, you get tired of trying to do your best, because that effort is wasted.

Constant improvement

Krzysiek Maicher: I like doing honest work that gives real value to people. I work with cutting-edge technologies on projects that have real impact on the market in a good team that I can learn from and trust them to do a good job. That gives me the feeling of progress. The ability to work remotely, non-fixed working hours, team events, an office with good coffee – I appreciate that, too. Those things definitely help in making work a natural part of my life instead of a painful routine. Still, the most important thing that drives me is the feeling that I’m making progress. I always strived to be in a place that would give me that.

Mentoring

Learning from someone more experienced is the fastest and most valuable way to gain new skills. Instead of making tens of hours of abstract excercises from a book, or learning through trial and error and StackExchange, you can be personally guided through building better software and understand how to make the right decisions.

Growth mindset

Some people would rather waste tens of hours trying to get themselves out of a dead end, than ask their colleagues for help. It’s important to, first of all, create a culture of learning and growth. Especially if you’re a junior, there’s no shame in asking the team for help. Think about it this way: asking for help creates an opportunity for someone else to give help, which is often very satisfying.

Everyone who knows something had to learn it first. It’s important to remember that we are always learning, even the most experienced of us. Making mistakes and analyzing them is an important step of the learning process.

Michał Kajder: I love to see the effects of my work as soon as possible. So I value smooth, clear communication, efficient testing and no redundant acceptance procedures. I also want to constantly improve and do work that has real value for its users. I don’t want to waste my life making something that nobody needs.

Transparency

We’re building a company, not just software. We spend most of our lives working or thinking about work and we want to feel like we have some influence on its direction – or at least know where it’s headed.

When you don’t know what’s happening under the hood of your company, you don’t fully feel you’re an important part of it. Transparency and communication – when they’re there, you probably don’t notice them, but when they’re gone, you start feeling confused and alienated.

Trusting your co-workers starts with transparency in the recruitment process. If my code is going to be reviewed by this person – I need to know at least whether they know what they’re talking about. I need to know they’re not just a junior who just wants to sound smart by pointing out mistakes?

Decentralized team structure

Wojtek Ryrych: When teams are small, with a mostly flat hierarchy, and the management of the project is decentralized, we can work faster and better, and work becomes more engaging. You don’t get real team work until everyone in the team gets to interact and contribute to the project in a significant way. And you pprobably want them to contribute – otherwise, why hire them?

Centralized management doesn’t make much sense in bigger projects – the decision process is too long and analyzing every probem or idea becomes impossible, so you sacrifice the quality of those decisions and start relying on non-merit factors, emotions and just getting it over with.

Treating your co-workers like humans

The simplest things are the easiest to forget. Sure, we respect and appreciate each other’s work, but do we take the time to express it? Sure, we are a team, but what do we do together other than deploy and present the results of our work?

Like every relationship, building a team takes some effort. Not everyone likes parties or paintball or team excursions. But it doesn’t take much: you can start with scheduling 10 minutes every day for a chat by the coffee machine.

Things you don’t notice until they’re gone

Positive motivation can turn out to be useless if you neglect the basics. Like simply letting people just do their own job without unnecessary obstacles. We can go on and on about that. And we will, in the next post.

Marta Bogacz

Marta believes that everything is a footnote to Plato and that the only marketing trick you'll need in the 21st century will be giving up marketing tricks and being a real human. Or a real robot.

More Posts - Twitter

Looking for developers?

That will surprise you with timely delivery and commitment to your success?

 
We use cookies to ensure that we give you the best experience on our website. If you continue without changing your settings, we'll assume that you are happy to receive all cookies from this website.