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.
Roles by Squad
See the squads organization.
Software Engineer
- 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
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
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
Roles by Organization
See the manager Organization.
QA Engineer
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:
- 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
- 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.
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
- 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
Interested to join the team?
Learn more about our recruitment process and open positions.