Engineering Project Roles

These are the engineering roles and responsibilities on a project team. This is how we role.

Very important note: these are roles, not individuals. This means that:

  • One individual could perform one role on one project and another role on another project (e.g. a TL on project A could also be a themer on project B).
  • Multiple roles on a project could be shared by the same person (e.g. the TL could also be the LE or LT) - this is actually the norm for many small and medium projects.
  • These roles are mostly for our internal communication purposes, so that we know who is responsible for what (even if that means that the same person is responsible of everything on a small project!). On bigger projects the importance of these roles becomes even more important, and is something that would be more client facing.

Tech Lead

See Tech Lead (TL) Role Description.

Lead Themer

  • Responsible for all theme code, ensuring that:
    • The theming code is organized, well maintained and documented.
    • People working on it know how it is organized, and where to add/edit things.
    • Responsible for "low level" support for people working on theming tickets.
    • Responsible for "low level" organization and assignment of theming tickets (especially on bigger projects).
  • Generally does a significant amount of the theme code themselves (or all of it, on smaller projects).

Lead Engineer

  • Responsible for all custom code, patches and modules, ensuring that:
    • The custom code is organized, well maintained and documented.
    • People working on it know how it is organized, and where to add/edit things.
    • Patches for modules are being created and contributed as per our best practices.
    • Modules are organized as per our best practices and clean, patched and custom modules are correctly delineated.
  • Responsible for "low level" support for people working on module coding tickets.
  • Responsible for "low level" organization and assignment of module coding tickets (especially on bigger projects).
  • Basic module install and upgrades.
  • Generally does a significant amount of the custom code and module work themselves (or all of it, on smaller projects).