Team Roles

Hero image for Team Roles

Teams are arranged according to project needs. As a consequence, developers are not assigned to work with the same team members or in the same position all the time. On the contrary, team members often have to rotate between teams and switch roles.

To work efficiently as a team, it’s essential to have a clear set of responsibilities for each role.

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

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

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

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

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