What are the ingredients needed to build a development team that works like a well-oiled engine, that performs like a juggler from the best circus in the city -- managing everything well, timing each movement precisely, and not letting anything fall? Let's assume that the team size is ten people and they intend to develop a next-generation trading platform. Here are the characters that need a casting to prepare for the show.
This guy is the heart of your team. He is young and has lots of fire in his belly, always eager to learn new things. You have to develop the next complex message-oriented architecture? No worries; your star developer can deliver it overnight. In principle he is a strong developer with amazing leadership skills. But remember that he has his downsides too. He may not be a consistent performer, may not be willing to fix trivial UI issues, and often feels annoyed by repetition at the workplace. And the key rule: Do not bother him with the strict deadlines of your customer.
A major part of the team that does the bulk of the work. They ensure that all deliverables meet the deadlines. They start at 9 a.m. and finish at 5 p.m. but are always efficient and responsible. Often, however, they can be partially blocked by a critical technical problem. This is the exact scenario when this team reaches out to the star guy.
He is the veteran in the war. He has seen all the ups and downs, success and failures. He can actually predict what the output of the proposed architecture under a heavy data load will be five years down the line in production. When everybody is clueless what is going wrong in a multi-threaded program or wonders why the indexing is still not producing that performance boost, go ask the grandfather. He has had the answer hidden in his unused armor for long time. He is your "been there, done that" guy. He is the last action hero of your team. But remember not to overuse his capabilities.
He protects the team from all the external factors that can negatively affect output. This can be factors of any type, starting from organizational politics and ranging to unrealistic customer expectations. With the guardian in place, the team feels like it is working in an apolitical environment. Everybody is assured that under the leadership of the guardian, nothing can go wrong.
Major in business:
He is your savior when it comes to actually realizing how the business works. Trading, put call, buy call, cash swap -- you need to convert all these into a data model? This business guy can do it all for you.
Your application is junk and insipid unless you have this guy on the team. He knows the user. He can tell you what color, which search box, and what sorting feature in the grid table can give the UI a much-desired facelift.
New guy on the team:
This is the fresh graduate out of college. He may not know all the tricks of software engineering, but be very careful before you consider him of no use. He may well be your next star developer; plus he keeps the culture of continuous learning alive within the team.