11. Keep connected
If you have a dispersed workgroup and not enough budget to fly the whole team in for a fancy work retreat, you gotta get creative to stay connected and keep remote workers motivated and in the loop.
Nathen Harvey, vice president of community development at Chef, says the company has found ways to bond even though their developers are spread around the country.
“We have offices in Seattle, San Francisco, and London. I work remote from Maryland or am often on the road out at community events,” Harvey says. “We host all-virtual meetings regularly, so everyone dials into a videoconference and has the same experience. We even host virtual happy hours. In maintaining an effective team of engineers, think about what are the things that they enjoy. It doesn’t matter if they are introverted or extroverted, social butterflies or socially awkward, the thing they’ll all love is getting to know one another. Once you know those on your team, it becomes easier to get to know people from other departments.”
12. Bear down
Sometimes heading out for drinks or taking the team sailing isn’t the best route to better teamwork and productivity.
“I've found that good developers are engaged much more when you provide them with professional satisfaction than when you ask them to go outside [the office],” says Nir Cohen, an ops architect at GigaSpaces. “Most of them would actually prefer to stay in and discuss work.”
But if sticking to the office means more meetings, team building or not, you’re doing it wrong.
As John Piekos, VoltDB’s vice president of engineering, points out, it’s important to keep developers challenged -- but not stuck in meetings, even if you’re all standing.
“Engineers like to work on hard problems and are most effective when they are uninterrupted,” Piekos says. “So one of my philosophies is to keep interruptions and especially meetings to a minimum. Each team has their stand-ups and backlog grooming meetings, and we hold iteration review meetings every two weeks. Beyond that I have a weekly staff meeting with my team leads (product owners) and a quarterly 30-minute organizational update meeting. One of my engineers even uses the lack of meetings as a selling point while interviewing our engineering candidates.”
13. Lean on your team when looking for new hires
Attracting -- and retaining -- top talent is possibly the most important part of engineering good products. The time spent fixing problems related to staffing, misunderstandings between groups, and keeping people motivated is better spent developing, communicating effectively, and cleaning up technical debt.
“Make sure that your teams are strong stakeholders in the recruiting process,” says GitHub’s Lambert. “Look for people who match the skills of the team.”
Recruitment is one of the hardest parts of running a good dev team, and it doesn’t necessarily get easier, says Skyla Loomis, director of Cloudant engineering for IBM Analytic Platform Services. But the answer to some recruiting problems may be closer than you think.
“A good place to start is leveraging the network of your existing team,” Loomis says. “A friend or ex-colleague is going to be most effective at influencing a strong candidate, and they're more likely to be a match for your team's culture.”
Bret Waters, CEO of Bay area software consulting company Tivix, says nothing is more important than how you recruit top talent.
“We have every new candidate interview with five to six members of the existing engineering team,” Waters says. “Strong teams participate in recruiting and selecting new team members. Weak teams have new bozos selected for them.”
14. Be open -- and practical -- when hiring
Given the importance of team cohesion, not to mention the sellers’ market when it comes to hiring devs, the recruiting process should find your team and projects a bit more center stage than you might think.
“Shape the recruiting process around the work they are actually going to be doing,” says GitHub’s Lambert. “Give them a chance to evaluate you and the company as much as you are evaluating them, and as part of that, share as much as you can about the inner workings of the company and direct them to resources that can better help them understand the organization -- for example, your engineering blog.”
15. Recruit passively -- and promote from within
Sencha’s senior director of product management, Gautam Agrawal, advises what he calls a passive recruitment strategy that gives you a sense of who’s available before you have a position to fill.
“Just as employees look for opportunities, employers should also create a program where they are networking with candidates that they would like to have to generate a pool of candidates that would help them to pick someone when they actually need them,” Agrawal says.
This network-before-you-need approach should also be coupled with ongoing evaluation and development of your primary talent pool: current staff.
“Evaluate existing employees before putting out new postings in the job boards,” Agrawal says. “It’s important for morale and very efficient to identify existing talent in the company and promoting those individuals.”
16. Be open to ideas
Good ideas can come from anywhere. With a strong, engaged team and a collective understanding of business needs, any technical challenge becomes an opportunity to inspire valuable ideas from your team.
“You'll be amazed at the results,” IBM’s Loomis says. “I had a project several years ago that was focused on delivering query performance. We had steep objectives -- speed-of-thought response times for complex analytic queries over tens of terabytes of data. We had a plan and a list of features we were building to meet that objective, but the individuals working on the project came up with new ideas along the way to do smarter caching and plan better optimization recommendations. We adjusted course to incorporate those innovations and blew our performance targets out of the water.
"There are always business objectives and deadlines to meet, but don't lose sight of what motivates your team. Because without them, you have nothing.”
- Download: The professional programmer's business survival guide
- Download: 29 tips for succeeding as an independent developer
- 7 deadly career mistakes developers make
- The 13 developer skills you need to master now
- The programmer's guide to breaking into management
- 21 hot programming trends -- and 21 going cold
- The road to success: Tech leaders tell all
- 15 signs you're doing agile wrong
- Clouds ahead: What an IT career will look like five years out
- How to thrive in the coming tech gig economy
- The hidden pitfalls of going freelance in IT
- 22 insults no developer wants to hear
- 9 predictions for the future of programming
- 9 bad programming habits we secretly love
- 5 more timeless lessons of programming 'graybeards'