|
|
|
|
|
by _m4
5305 days ago
|
|
I wish I knew how the Googles and Facebooks hire a crowd of junior programmers and have them do these amazing things. I am in the 5th year of leading development teams and have more than 5 years to go until my half-life is over. Yet, I have not figured out how to run a team entirely of junior programmers. Yes, they come with a lot of energy and current knowledge but there is also so much missing that people gain from, well, experience. In the field of software but also in all the adjacent domains that are so crucial for being successful as a team.
I cannot image how I would do without having a few senior people around who can give things a little structure and a little broader understanding of things. Also, most experienced folks, even if not super up-to-date with fancy technology, are a hell of a lot more productive than the shooting-from-the-hip youngster. They don't need to put in 12 hour days. My other problem is that it's so hard to actually find good senior programmers. There are also a lot of people who got stuck more than ten years ago ... |
|
1) Define structure
Set some rules. Coding styles, check-in etiquette
2) Find tools to limit mistakes
Static code analysis, automate build that breaks when #1 fails.
3) Always on alert
Do a lot of code reviews. A lot. Argue and fight over little things (variable naming convention, missing documentations, unclear code).
Now this might not sit well with others so get ready:
4) Become a "drill" sergeant
I find that becoming the "bulldog" sometime works. You've got to become some sort of "drill" sergeant. People may dislike you at first but if the project is successful, they can hate you all the way to the exit door all they like.
That was my experience. I made a concious decision to put the success of the project as the top priority. Even if it means breaking some bridges with other programmers. I hope they learn why I did those things in the future. If they don't, I won't quarrel or regret my action.
5) Be nice on other occasions
I may be the biggest jerk during code-review and check-in commits but when my co-workers stuck, I'll be gladly help them even if it means I have to sit with them and do my overtime. This can gain you some respect after confrontation/intense debate/being a jerk.
I always try to be friendly during office/release party. Give credit to the team, etc.