In addition to a good salary, there are many ways companies try to attract and retain good people.
Those benefits tend to say a lot about the organisation culture, which explains why companies bragging about their ping-pong tables have become a running joke in the industry.
Here are some tips in case your company intends to treat developers like actual adults, as in Chris Argyris’ Theory of Adult Personality:
Give the best tools for the job, no questions asked
Just provide the best hardware (laptop, chairs, cameras, etc.) and software the team considers appropriate without making a big deal out of it.
If the team can’t agree on what those are, work with them first to define a shortlist, publish it internally, and invite them to refer to that.
It’s surprising how many companies still forget that tools are cheap compared to people’s salary and (hopefully) the value they can create if only they’re allowed to be effective.
Remove general friction
Many levels of approval to get hardware or access to internal systems? Detailed justification to take a day off or a more extended holiday? No access to install other software in their work laptops?
Be mindful of adding any friction like that. Unless people are onboard with the trade-off a restriction represents, it’ll just be another source of complaint and comparison when looking for another job.
In many cases, a Trust But Verify approach would be more suitable for reducing issues while still keeping people productive.
Allow and encourage to continuously improve things
Like any other person in the organisation, developers are well placed to identify their work issues. Not giving them space and autonomy to fix them is missing valuable opportunities to make the whole organisation better.
That shouldn’t be limited to improvements to the code. Better tools, processes, and working practices should also be up for grabs for those who see areas to improve.
Allow and encourage to work with the broader organisation
It’s still common for organisations to treat software development as an isolated function that turns requirements from team A into software that team B will run and C will maintain.
Adult developers want to understand the “why”, help defining the “what”, and direct the “how”. That means collaborating with all the people impacted by their work.
At a minimum, the information flow needs to be available so they can make well-informed decisions. And in return, developers should be able to share constraints and implications of those directions in a way others can understand.
High-performance organisations require cross-discipline/team collaboration, and great developers are well aware that their best output will come from working with other people.
Support career development
Most adult developers don’t enjoy the Personal Development Plans (PDPs) their employers force them to define and follow. That becomes even worse when those become tied to career progression and salary reviews.
On the other hand, developers appreciate having good coaches or mentors they can refer to when they need support.
For more senior developers, this support often means providing a light-touch approach of giving them space to grow on their own but still giving feedback when asked or needed.
An appropriate allowance for learning (books, courses, going to conferences, etc.) is also welcome by developers at any level.
Hopefully, if those ideas sound like common sense, it probably means your company is already on the right track.
On the other hand, if those sound too hard or even impossible in your context, your organisation may be past the stage where treating developers like an adult is possible.