One of the recurring things that come to bite me and my team is having a less experienced engineer or new joiner work completely alone on a project for weeks or months. We’ve done this multiple times, and the results were always similarly dire. The engineer ends up building something slightly - or very - different than what we intended to. They took a lot longer to do it - and their morale was down, due to feeling lonely and unproductive this time. They did make mistakes, but did not have anyone give them feedback, to learn from it. Every time we sat down and did a retrospective on what to do different, next time, we agreed on the same thing: have someone to work with from the start.
Now, as a practice, I always make sure non-senior engineers don’t work completely alone, no matter how small the project at hand is. This often means that second engineer is a “part-time advisor” or buddy. This setup has worked far better. Now, the less experienced engineer has someone to bounce ideas off and plan with, someone to consistently review their code, and someone to hold them accountable to their progress. If they are a really productive and autonomous developer than the second engineer doesn’t have much work to do. However, if they are going down the wrong path, the other developer can help them out much earlier. Also, this setup is great for informal mentoring and faster professional growth.
If you find yourself working alone - and don’t have a manager who sets up some kind of pairing - then take steps to fix this. Ask another engineer on your team to be your buddy for the project, doing a quick check-in with you every day, and reviewing your planning and doing code reviews. If they politely decline, talk with your manager, and try to convince them of the productivity benefits for the team. Sure, the more experienced developer will need to spend more time with you, but in return, you will not only get things done quickly but also grow faster. Soon, you’ll be able to help others on the team, in a similar way.
This article was originally posted on The Pragmatic Engineer Blog
About me: I'm an engineer turned engineering manager, working at the intersection of Silicon Valley & European startups and tech companies. Follow me here and on Twitter. I write longer essays on software engineering on my blog, The Pragmatic Engineer. I also send a monthly newsletter with notes on software engineering, tech leadership and interesting things I've been thinking about.