A few months ago, I joined a project with a junior developer. The interesting part of this assignment was that the junior developer would be taking the project lead position, and I would be a worker bee. She had been on the project since the get-go, and I was joining midstream.
This opportunity came up when a fellow senior dev left the company in the midst of leading a project. With a very significant amount of the project already on pace, it made little sense for me to jump in and take the lead–and I was fully on board with that decision. I would have felt uncomfortable taking the lead on a project and platform with which I had very little experience.
All in all, this has been a rewarding experience for both of us. It’s a good reminder that as we continue to recruit candidates fresh out of college, we need to provide opportunities that will prepare them to take on leadership roles.
It’s also been good for me to be a worker bee, while providing guidance as needed and making sure we didn’t get hung up on small challenges that came up along the way. This role was new to me, but the experience has been very enlightening and a blast!
Here are three of the things I’ve tried to do to support and encourage my junior developer/project lead during this process:
1. Provide Space for Ownership and Growth
Upon joining the project, it was clear that I needed to provide space for our project lead, Laura, to grow. I needed to not jump in and take the driver seat, since this was her project. Besides, she definitely had the knowledge of the project’s problem domain and architecture of the system.
We began by sitting down in front of a whiteboard so she could illustrate the workflow of the system. Luckily for me, Laura offered this up first thing, and I was very appreciative. This process also helped her increase her confidence in disseminating her wealth of knowledge about the project, and her overview blew me away. I asked questions about some of the non-happy-path scenarios to ensure that we covered that side of things. This is something I always find helpful in grasping the complexities of a system.
Laura manages the project backlog and handles sprint reviews and planning. On this project, these are activities that we lead remotely without our corporate customer. While I knew the stakeholders on the customer side, I’ve been careful not to step on Laura’s toes, making it clear to our customer that she is in the driver seat.
My hope was to grow her confidence in leading these crucial conversations and planning activities. Doing so would instill the customer’s confidence in her abilities. It would also give her independence so that she could feel a strong sense of ownership and self-confidence.
2. Help Tame Risk and Uncertainty
When I joined this project, I recalled the anxiety I felt taking the lead on projects when I was a junior engineer. There are so many details and challenges along the way, yet dealing with these bumps in the road is crucial to growth.
One thing in particular I’ve learned is to avoid downplaying challenges and risks within the development team. When trying to prove yourself as a project lead, it’s easy to be overly optimistic about estimating stories and tasks.
I therefore made sure to voice my concerns about certain risks, especially with stories that require significant additions, changes to the product infrastructure, or complex interactions. Specifically, I pushed for estimates to have appropriate buffers to account for this non-customer-visible work.
3. Encourage Constantly
Most importantly, I knew I needed to provide frequent encouragement to my colleague. I made sure this feedback was genuine, and I tried to complement key interactions with our customer that Laura handled well.
I also needed to provide some constructive feedback on occasion, making sure it was given in a positive and encouraging way. My goal was to grow her skills and confidence and a developer and leader.
While I try to give kudos and helpful feedback regularly, I made sure to give feedback after meetings with our client. The key here is after these interactions, and not during (though it was also important to have this happen as soon as was conveniently possible).
I also frequently related my comments to my own project experiences–a tactic that’s especially important when providing constructive feedback. This had the benefit of using my experiences to help the common good. I have found that past failures are excellent learning opportunities that, if handled properly, help us grow in very important and effective ways.
This has been a very enjoyable experience for me, and I believe it has been for Laura, as well. We have developed a solid working relationship and have become good friends.
How have you helped level up less experienced co-workers? Has it been as fulfilling for you as it has been for me? I’d love to hear any stories you can share.