Plato Elevate Winter Summit has been announced (Dec 7th-8th)

🔥

Back to resources

How to Build an Effective Development Team From Scratch

Building A Team

28 July, 2020

Pascal Rodriguez
Pascal Rodriguez

Director of Product Engineering at ZF Group

Pascal Rodriguez, Director of Product Engineering at ZF group, shares how he was inspired by an idea of a dream team when he was tasked to build an effective development team.

Problem

Building an effective development team is hard work that takes time and effort. Managers would often blend different approaches based on their past experiences and values most important to them as leaders.

I was granted an opportunity to build and scale two development teams of only one or two engineers to 10+ engineers. When building the team I was committed to incorporate best practices I knew about and most important values in their very foundations of the team.

Actions taken

I pictured a dream team I wanted to be in and based on my experience I picked the engineering practices and values that I wanted that team to have. That included:

  • Changing code should be safe (unit tests covering your back, quick feedback);
  • Finding the past context though a clean and linear commit history should be easy and accessible;
  • Owning the knowledge all the way to the deployment of the code to production and assuring the possibility of an easy rollback
  • We would agree on a set of frameworks and tools for each purpose;
  • Ensuring good separation of concerns using design patterns such as the onion architecture;
  • Sharing knowledge in a respectful way is of a paramount importance;
  • Good enough documentation to get what is found in a git repository is in place.

Then I had to ensure that the team would fully own these guidelines.

  • I would encourage discussion and solicit feedback by creating a safe space to express proposals, suggestions and comments at every team meeting.
  • We would be very diligent about updating these guidelines, allowing for the new ideas and concepts to be developed and if accepted, documented and available.
  • I would make sure to safeguard consensus during our decision-making process and get approval from the team -- that would create a rapport within the team and increase engagement.

The next thing I did was to automate the verification and allow people to ramp up to use/apply the standard. For example, I used some static code analysis tool that is commenting on pull requests to ensure we find non-compliant changes.

 

Also, I precisely defined a code review code of conduct to make sure that we conform to the highest standards. To ensure that we would be collaborative and respectful, I made sure to emphasize that code reviews are about the code and not people thus removing any ad hominem disagreement.

Finally, I provided the administrative rights for the team contributors to push their code into production.

Lessons learned

  • Having well-defined guidelines simplifies the onboarding of new contributors; they get quickly involved in the process of their own improvement.
  • The team arrived with their own way of writing/designing microservice and APIs and since most of our projects are similar in design and can be taken over by any individual contributor in no time.
  • Using a ”bot” improves the productivity of code reviews as we don’t have to spend time on futile details and can entirely focus on the important content.
  • All rules don’t apply to every subteam in the engineering organization. Therefore, it’s important to specify or change some of the rules to fit their specific needs.
  • Imposing standards can lead to misunderstandings, such as why some of the rules are there. Empathy and open communication are key in explaining the positive impact standards will bring long-term

Discover Plato

Scale your coaching effort for your engineering and product teams
Develop yourself to become a stronger engineering / product leader


Related stories

Delegate successfully as a first time manager of Product Managers

24 November

Andrew Tsui, a Product Leader, works to build great teams that are independent, demonstrate mastery of their domain, and fully commit to their purpose.

Scaling Team
Building A Team
Delegate
Coaching / Training / Mentorship
Psychological Safety
Cross-Functional Collaboration
New Manager
Andrew Tsui

Andrew Tsui

Director of Product at Startup

Managing New Team Members

6 October

Harsha Shekar, Engineering Manager at Atlassian Corporation Plc, explains how he brought up and eased new members into his team, while navigating through multiple challenges.

Building A Team
Collaboration
Motivation
Harsha Shekar

Harsha Shekar

Engineering Manager at Atlassian

Building an Organization From the Ground Up

19 September

Arpan Dalal, Sr. Director Engineering at RepairPal, speaks of his effort to build an organization from the ground up in a brand new domain of the mom-and-pop gardening space.

Product
Building A Team
Impact
Arpan Dalal

Arpan Dalal

Sr. Director Engineering at RepairPal

Scaling Teams to Make Better Decentralised Decisions via Documents and Tenets

6 September

Kirsten Zverina, Head of Product at Abethos Ventures, shares some decision-making mechanisms like FAQs and tenets, that can help reduce the pain of scaling teams.

Product Team
Scaling Team
Building A Team
Team Processes
Kirsten Zverina

Kirsten Zverina

Head of Product at Abethos ventures

Getting Ready for a Cold Start

25 August

Alex Oleinikov, Software Engineering Manager at People.ai, shares how he started a team from scratch and what he had to put in place before the first hires began to arrive.

Mission / Vision / Charter
Building A Team
Alex Oleinikov

Alex Oleinikov

Software Engineering Manager at People.ai

You're a great engineer.
Become a great engineering leader.

Plato (platohq.com) is the world's biggest mentorship platform for engineering managers & product managers. We've curated a community of mentors who are the tech industry's best engineering & product leaders from companies like Facebook, Lyft, Slack, Airbnb, Gusto, and more.