How To Run A Company That Engineers Actually Want To Work For

man jumping computer apple 2

Photo: Cordey via Flickr

If you run a tech company, your engineers are the lifeblood of your organisation.So shouldn’t you try to make them as happy as possible?

Doing so takes more than just a fridge stocked with soda, beanbag chairs, and a foosball table.

Good programmers thrive in a specific type of corporate culture — one that values innovation, creative input from all levels, and fun.

Make sure yours are happy!

Click here to check out our tips for creating an engineer-friendly workplace →

Forget hierarchy -- an egalitarian environment wil get you the best results

Offer skilled co-workers and the latest tools

Hiring similarly motivated teammates is extremely important.

'Nothing is more demoralizing than being surrounded by mediocre people,' says Pinckney. It tells a programmer that their employer doesn't really understand or value the work they're doing.

Offering the best technical tools is crucial as well. 'If you're forced to work with pick axes and shovels (Java, .NET), you quickly become disillusioned when the other team is operating jack hammers and trucks (Ruby, Python).' as Hansson aptly puts it.

Comfort is crucial

The stereotype of the tech company as a fun place packed with free soda, beanbag chairs, and game rooms arose for a reason. You don't have to do all that, but engineers definitely thrive in a comfortable, informal work environment.

Most engineers have certain personality traits, and one is the tendency to value 'substance over style,' Pinckney tells us. They're likely to feel that, as long as they're doing great work, it shouldn't matter what they're wearing or whether or not they're having fun in the office.

The workplace should be a 'home away from home,' a place where your programmers can get their work done and enjoy themselves.

Mix it up

According to Pinckney, another characteristic shared by most good programmers is constant curiosity. They 'love having new puzzles to solve.'

Which is why doing the same type of project over and over or working on one thing for a very long period of time is likely to bore your programmers.

The best way to motivate your engineering team is making sure each one works on a variety of projects and, of course, allowing them to propose their own solutions to problems.

Challenge them

Programmers are motivated by making useful things and seeing results

Engineers really value working on something that is actually useful, interesting, and going to go public.

'It's awful working in a vacuum,' says Pinckney. 'You want to make something that you can brag about, that you can point to and say 'I made that.''

'Great programmers want to ship useful software that makes customers happy,' explains Hansson. 'Everything else is a distant second.'

Don't impose perfunctory, non-negotiable deadlines

The worst thing a company can do is have people outside of the engineering team schedule timelines or demand near-impossible deadlines.

You can't manage engineers by saying 'Here's a deadline we've decided on, now do it or you're fired,' Pinckney says.

The people who can best understand the demands of a project are the developers... so why wouldn't you let them help create the schedule? ' Because they're the ones who decided on it, they're committing to it,' Pinckney says. 'And if they're good programmers, they'll be aggressive, so be sure to add in some extra time as a safety!'

Only plan a few weeks ahead, and don't micro-manage

Hansson advises managers to only plan for a few weeks in advance. 'Trying to design a big system upfront is a fool's game that requires programmers to be fortune tellers... and forcing them to be is going to make them discontent,' he says.

And don't micro-manage or check in too frequently. 'Most work places are horribly broken environments for programmers. Too many useless meetings, too many taps on the shoulder of 'Is it done yet?', and too many silly policies and procedures. Get out of the way and work will get done.'

Encourage better communication

Engineers can be rather introverted, which makes peer-to-peer communication more difficult. 'They won't always think to just go and talk to someone about something -- instead, they'll probably internalize everything more,' Pinckney says.

You can help by implementing standards that promote communication and collaboration. organise regular (perhaps even daily) check-ins to discuss project status, problems, and new ideas; in smaller companies, you don't have to be so formal, but you should still encourage frequent discussion between co-workers.

Overall, flexibility is key

Most importantly, understand that you should be flexible.

Imposing rigid deadlines, restricting creativity, and not understanding the needs of your engineers are the worst things you could do if you wanted to have happy, productive developers.

Welcome input, encourage innovation, allow for the freedom to set priorities and timelines, and let your employees have fun and be comfortable. You'll reap the benefits of acquiring and keeping the best development team you can find.

Business Insider Emails & Alerts

Site highlights each day to your inbox.

Follow Business Insider Australia on Facebook, Twitter, LinkedIn, and Instagram.