How an architect can build an exceptional software development team

I’ve had the pleasure of hiring and growing an awesome team of developers at MYOB Australia. In this post, I share my ideas for how  an architect can build an exceptional development team.

Hire craftsmen not programmers

Craftsmen take pride in their code down to the very last detail. They watch over the code and fix up the broken windows as they come across them.When you get the opportunity to hire new people don’t waste it with mediocrity. Dig deep in the interviews, understand how the candidate problem solves and if possible watch them code. If you have any doubts then keep on looking.

Hire great communicators

Great communication makes a team succeed . Make sure you hire candidates that prefer open honest conversations over lengthy email trails. You want developers that are comfortable at the whiteboard and can explain their ideas clearly. Encourage everyone on the team to have a voice and to respect each others opinions.As the architect your role it communicate the designs to everyone over and over again .

No big upfront architecture and design

Big upfront architectural fails – end of story. As the architect you need to set the vision and technical direction for the team but you must allow the designs to evolve and fall out naturally as your guys code out the features. Empower the entire team to make architectural decisions and guide them along the path.

Create a culture of continuous learning

Lunch time brown bag sessions are a fun and social way for your team to learn. Encourage everyone to present a session, don’t stick to the same presenters. We’re in the middle of a “20/20 brown bag series” at MYOB – 20 brown bag sessions in 20 weeks covering a wide range of topics, not just programming.

Try an internal social networking tool

Yammer is a great tool for helping like minded people connect and share ideas. Use some gentle persuasion to get everyone yammering – once people get it you can step back and watch the ideas flow.

Organise a coding competition

A coding competition is another fun way to get your team to think outside the square. We are pretty much an all Microsoft shop so I threw down the gauntlet and organised a challenge where the guys had to learn a whole new bunch of open source tools – Neo4J, Node.js and Heroku.

Be approachable – all the time

No matter how busy your day is, if you are at your desk and someone approaches you for help make time for them.

hope this helps

Aidan