Team Roles
Squads are arranged according to project needs. As a consequence, team members are not assigned to work with the same people or in the same role all the time. On the contrary, team members often have to rotate between squads and switch roles.
In addition to a squad role, a team member can have an organizational function that encompasses several squads, namely the roles of Engineering Lead, Lead Product Manager, Lead UX/UI Designer, or a whole chapter, namely the roles of Technical Lead and Chapter Lead.
To work efficiently in a squad and in the organization, it is essential to have a clear set of responsibilities for each role.
Squad Roles
Developer
- Write clean and maintainable code
- Write proper documentation for their code
- Write clean and maintainable tests for their code
- Being analytical about the task at hand. Tasks that do not make sense or need more clarifications must be flagged and brought up to the Team Lead and / or Product Manager.
- Understand the whole design of the application being developed
- Participate meaningfully in technical decisions
- Perform research to solve issues
- Participate meaningfully in code reviews
Learn more in the Developer handbook
Team Lead
Team leads have to combine the same responsibilities as developers but also an additional set of responsibilities:
- Assign user stories to developers
- Participate in the definition of user stories
- Finalize and decide on technical implementation
- Lead code reviews efforts
- Merge pull requests
- Manage prioritization and planning choices of user stories in accordance with the schedule of deliverables defined by the Product Manager
- Assist the Product Manager with communication with external stakeholders which require technical knowledge
- Plan and delegate the role of Release Manager to a team member
Learn more in the Team Lead handbook
Engineering Lead
Engineering Leads are senior engineering team members overseeing several projects who have both development and people management responsibilities:
- Oversee and guide Team Leads in the technical decisions and delivery for their assigned projects
- Perform regular one-on-ones and performance reviews with their assigned developers
- Participate in the recruitment process
- Instigate curiosity and continuous learning in the area they are expert in
- Facilitate and ensure that developers follow the company engineering processes
- Provide insights and reports to the CTO about the projects and developers performance
Learn more in the Engineering Lead handbook
Product Manager
Responsibilities of Product Managers (PM) boil down to product vision, planning and QC i.e. having a clear view of what the product should be, planning how it will be built and making sure that what has been built reflects the original vision and requirements.
- Define and ensure schedule of deliverables
- Define milestones and epics
- Define user stories
- Define acceptance criteria for user stories
- Perform quality controls of the work delivered by developers. QC is performed on the staging / beta environment once the code has been approved by Team Leads and deployed
- Manage communication with external stakeholders including not only the Client but also all other third parties
Learn more in the Technical Product Manager handbook
Project Manager
Project Managers ensure that the projects make steady progress and that the team has all the tools, materials, and access necessary to do the job well and efficiently.
- Participate in the definition of schedule and deliverables
- Create high-level, realistic product development estimations
- Create detailed and comprehensive plans to lead complex projects to term
- Drive stakeholders toward an Agile workflow
- Anticipate technical, communication, planning, and execution risks
- Proactively identify issues and propose remediation ideas, plans, and compromises
- Ensure that there are no issues, blockers, or bottlenecks
UX/UI Designer
- Deliver UX and UI according to the task’s requirements
- Keep organized and neat the source files for the UX/UI. All source files must be shared and accessible by the whole team
- Perform market, competitor and user research to find inspiration and solve issues
- Being analytical about the task at hand. Tasks that do not make sense or need more clarifications must be flagged and brought up to the Team Lead and / or Product Manager.
- Understand the whole purpose of the application being developed
- Participate meaningfully in design review sessions
Organizational Roles
Technical Lead
Technical Leads are senior engineering individual contributors combining the same responsibilities as developers, albeit with increased expectations, and a set of specific additional responsibilities:
- Contribute prolifically to the project they are members of
- Guide teams on the best practices and outcomes for technical problems
- Lead efforts and initiatives to constantly promote, trial, and adopt new tools and practices
- Create learning and training resources
- Lead efforts and initiatives for knowledge sharing
- Lead outreach initiatives, e.g., meetups, conferences, open-source software, etc.
Learn more in the Technical Lead handbook
Lead Product Manager
Lead Product Managers are the first level of Product Managers who directly manage others. They keep the same core duties as Product Managers with a few additional areas of responsibility.
- Manage products
- Manage people
- Nurture their direct reports
- Manage escalations
- Participate in the recruitment process
- Support the business team with product discovery and assessment
- Evangelize the product processes
Learn more in the Lead Product Manager handbook
Lead UX/UI Designer
Lead UX/UI Designers work on two fronts: individual contributor (IC) and people leadership. Lead UX/UI Designers contribute to recruitment, chapter initiatives, and development of the design team’s strengths.
- Design product experiences and interfaces
- Set and monitor creative directions
- Support the company’s marketing efforts
- Lead people
- Nurture their direct reports
- Participate in the recruitment process
- Evangelize the design processes
Learn more in the Lead UX/UI Designer handbook
Chapter Lead
Chapter Leads are selected by their peers for six months per the standard rotation schedule. They play a significant role in serving and bringing together engineering team members with the same skill/domain knowledge. They have the following responsibilities:
- Lead retrospectives
- Lead conventions initiatives
- Manage the Chapter’s budget
- Coordinate the succession process