Jump to content

Search Platform/Roles and Responsibilities

From Wikitech

Roles are not boundaries, don’t feel restricted by your role.

Project Tech Lead

A team member is assigned to each project as a tech lead. The tech lead is the focal point for a project. The tech lead is not expected to decide everything themselves, but to be the facilitator that allows the team to keep its coherence. Having the Tech Lead rotate per project allows sharing this responsibility and give everyone their chance to improve their skills.

  • Work with engineering manager to define project plan and roadmap
  • Primary point of contact to understand the state of the project, and the technical and organizational constraints
  • Primary point of contact for communication with other teams, manage incoming and outgoing dependencies
  • Responsible for breaking work into manageable pieces that can be shared across the team
  • Identify risks and mitigations early
  • Primary contact to solidify the technical constraints of the project (software and system architecture / gardening)

Software Engineer

  • Contribute to discussion around software practices, architecture and delivery
  • Ensure code quality through testing, design patterns and attention to code quality
  • Ensure that value is delivered early, in an iterative process
  • Support the tech lead by providing input, ideas, suggestions, and participating in discussions related to current projects
  • Provide visibility on the work being done by using the appropriate communication channels (phab, etherpad, ...)
  • Work with the engineering manager to propose new features and direction for the team
  • Work collaboratively with team members to complete defined work
  • Identify challenges, blocks and ensure that the team is aware of those
  • Take a proactive role in team rituals

Computational Linguist

  • Contribute to discussion around language support
  • Ensure quality of language support through careful quantitative and qualitative analysis
  • Ensure that value is delivered early, in an iterative process
  • Provide visibility on the work being done by using the appropriate communication channels (phab, etherpad, ...)
  • Work with the engineering manager to propose new features and direction for the team
  • Work collaboratively with team members to complete defined work
  • Identify challenges, blocks and ensure that the team is aware of those
  • Take a proactive role in team rituals

Engineering Manager

The engineering manager's primary responsibility is supporting the team to deliver quality solutions that satisfy our users' needs. In the absence of a product manager, the engineering manager has some responsibility to advocate for our users and provide a long term product vision.

  • Address impediments that block the team progress
  • Facilitate team rituals, build effective internal processes for the team
  • Ensure that the team is aligned and has a common understanding of goals and priorities
  • Provide visibility on work of the team to our communities and higher management
  • Tie breaker in case decisions are stuck at the team level
  • Provide an escalation path in case of conflicts with other teams