Landing the right developers can make the difference between your company’s success and its demise. But ask any leader in the software industry how to win over developer talent, and they’ll tell you it’s getting harder and harder to differentiate your company based on salary, benefits, and perks.

There’s a reason for that.

Gifted engineers can expect juicy compensation packages anywhere they go, because the competition for the most talented developers is intense. But what matters more to the best developers is a working environment rich in opportunities to expand their skills, forge meaningful relationships with teammates, and have a say in the decisions that matter most to them.

Throughout my career as an engineering lead working everywhere from small startups to global enterprises, I’ve been challenged to recruit and retain some of the most sought-after developers in the industry. Now, after three years at my current company, I’m seeing impressive results based on a mix of these four guiding principles:

1. Give them a seat at the table

Too many companies make the mistake of treating their technical talent as one-dimensional programmers, feeding them assignments and energy drinks, then expecting them to code all night and produce amazing results before the sun comes up.

The best developers I’ve worked with are not only gifted coders but want to have an impact in all aspects of the company: product direction, marketing, human resources, design and even finance. Taking their opinions seriously, giving them a voice within the company and creating opportunities for them to influence leadership is incredibly important in keeping them motivated.

A policy of making product strategy, go-to-market plans, etc. “open by default” goes a long way. Put that information on a company intranet where it can be discovered and discussed by anyone who feels passionately about it. What you’ll get in return is diverse perspective from highly-engaged employees all across the company. Plus, your ideas will be challenged and tested, forcing you to either sharpen your thinking or shift course – both of which will lead to better solutions.

2. Allow them to build a personal brand

Your top developer talent is often seeking recognition within a highly competitive field. If you create avenues for them to serve as ambassadors for your team and company, their identity becomes more tightly coupled with that of your company. They’ll feel like they aren’t wasting their talent toiling away in anonymity, and they’ll repay the company with loyalty. This also has a knock-on effect where other talented people outside your company will be drawn in.

We have a number of people in our engineering teams who practically have side-careers as bloggers and public speakers. It’s mostly done on company time and on the company dime. We’ve sent them to JavaOne, DevOps Days, DockerCon, and lesser-known conferences in far-flung places like India and Estonia. One member of our product team even cofounded the Ladies that UX conferences.

These “extra-curriculars” are driven by passion for a topic and the desire to share with their peers. And, of course, they add a few nice bullets to their resume in the process.

3. Give them opportunities to innovate

You might assume that innovating in the natural course of developing whatever product they develop is enough to scratch a developer’s itch. It’s not.

The most pioneering developers (and curious people in general, really) crave novelty. If you specifically dedicate time for your people to pursue projects that aren’t on your backlog, they’ll be less likely to seek out that novelty at a new company.

By creating opportunities for your developers to step off the software release treadmill and demonstrate creativity, you unlock more of your team’s potential. You hired these people for a reason. Give them opportunities to explore, and they’ll add value in ways you didn’t even know you needed.

4. Make sure everyone feels they belong

It’s no secret the tech industry has a spotty (to put it mildly) track record when it comes to diversity and inclusion. Providing a safe haven from sexual harassment, hate speech, and biases around promotions or salary is simply table stakes. Beyond that, it’s important to consider the unique needs of your team members and support them with flexibility.

For example, parents may need to leave at a certain time to pick up their kids and shouldn’t be penalized for doing so. Veterans need to know that the skills they developed while serving have value and that they’ll be supported in transitioning to civilian life. Those who struggle with mental illness need flexibility, trust, and in many cases, extra privacy.

I don’t think any company – tech, or otherwise – has nailed inclusion yet. But there is a way to turn good intentions into action: Figure out what indicators are meaningful for your team and measure them. Otherwise, you won’t know whether you’re making progress.

Great culture is more than sweet perks

Just as keeping the customers you have is far cheaper than acquiring new ones, retaining talent is far cheaper than backfilling a revolving door of open positions. And when you do seek to fill open positions, never never settle for less than an excellent fit. One of the sweetest perks you can give your people is hiring the best people to work alongside them: people who will expose them to new perspectives and help them grow. Call it a “flywheel”… call it an “upward spiral”… whatever its name, it works.

When the stock options have vested and the Nerf darts have fallen to the ground, what you’re left with is your company’s true essence – your values. If you have to skimp on something, skip the on-tap kombucha. Focus on building a culture where everyone feels challenged, respected, trusted, and innovative.

Mike Melnicki is a life-long developer and currently head of engineering for developer tools at Atlassian, where he leads engineering and helps define and execute the product strategy.