Bill Jordan
May 27, 2016 · 13 min read

About Me

I’ve been working in software development for twenty-eight years. My current position is Senior Development Director at a software consulting company in Austin, Texas, a position I’ve held for just over six years.

Be Wary of High Performers

Undoubtedly you’ve identified some of the developers on your team as high performers. These are the developers that tend to get work done quickly. Managers often choose and prefer these developers for projects in order to increase the odds of meeting aggressive — and frequently artificial — deadlines.

Encourage Continual Product Improvement

Despite your best efforts technical debt will accrue: features are grafted onto the application with ugly results, high priority bugs are patched in a quick and dirty fashion, management has unrealistic deadlines, requirements change — we’ve all been there.

Encourage Code Ownership

It’s no surprise that management likes to reduce risk by treating developers as interchangeable widgets. It usually takes the form of all developers being expected to be familiar with all areas of the code. That minimizes the pain when any individual developer leaves the team or the company.

Recognize Leaders

You will undoubtedly recognize that some of your developers are more likely than others to be involved in whiteboard discussions, more likely than others to have team members at their work area asking for help or advice, and more likely than others to be invited to design meetings even when they won’t be the developer working on that project.

Watch Out for Misleading Metrics

Do you keep a count of the number of work items completed per employee? Is that count easily available for all software developers to view? Even worse: does upper management have access to that count? Stop doing that right away.

Limit Interruptions

Some employees aren’t aware of the impact they have on other team members and interrupt them frequently with one quick question or worse. Encourage your team to prefer communication in roughly the following order so that interruptions are minimized: e-mail, chat room (if your team isn’t using a chat room yet, they should be), instant message, phone call/dropping by in person.

Prefer Private Workspaces

We’ve all seen pictures of open office floor plans in which software developers are crammed in and a majority of them are wearing headphones in a vain attempt to achieve some kind of concentration.

Encourage Experimentation

We’ve all heard of Google’s famous 20% time which made it possible for such breakthroughs as Gmail to germinate and turn into the cornerstone of Google’s highly successful online applications business.

Let Employees Leave

If an employee approaches you and asks to leave the group for another group graciously allow them to do so. This doesn’t mean you have to let them leave in the middle of crunch time but as a general rule if they want to leave the group something isn’t working out for them and you should let them transfer even if they haven’t been in the group very long — say, less than one year.

Never Turn Down Small Requests

Does your employee want a bigger monitor? Buy them one. Do they want a certain keyboard? Buy them one. Do they want to work from home every other Wednesday to accommodate a personal requirement? Let them. Do they want a Mac instead of a PC? Give it to them.

Abolish Yearly and Bi-Yearly Performance Reviews

Your employees should never wait six to twelve months to discover what you feel they’ve excelled at and what they need to work on. Communication between managers and employees should be like a river that never stops flowing. Too many companies are still stuck in the past with their harmful and counterproductive periodic performance reviews. Some performance reviews even require peer ratings which is a recipe for employees to secretly engage in ensuring each other good reviews — or employees that don’t like each other blasting each other. In either case the results are less than useful and typically actively harmful.

You’re Not Better than Your Employees

Software development is a job. Software development management is a job. Just because your employees report to you doesn’t imply you’re somehow smarter or better. A lot of software developers — dare I say most software developers — just plain love being software developers. Don’t you confuse and don’t let your software developers confuse management as career progression — it’s just a different job even if it generally pays a bit more.

Don’t Discount Younger or Older Developers

Younger employees really do have more energy which improves productivity. Older employees really do have more experience and wisdom which improves productivity. Build a team with diversity in age and watch them blossom into something more than the sum of their parts.

Don’t have Stupid Dress Codes

As a manager it’s likely you don’t have a whole lot of say here but if you do, allow your employees to dress casually. You certainly don’t want them going to work with torn up jeans or in their pajamas, but a nice pair of jeans and any decent shirt with a collar should do just fine.

Summary

This article is a very long-winded way to help you learn how to care for your software development employees with best results. If you properly care for your employees they will take care of you, leading to better product outcomes and higher career satisfaction for both you and them.

Welcome to a place where words matter. On Medium, smart voices and original ideas take center stage - with no ads in sight. Watch
Follow all the topics you care about, and we’ll deliver the best stories for you to your homepage and inbox. Explore
Get unlimited access to the best stories on Medium — and support writers while you’re at it. Just $5/month. Upgrade