Tech and Engineering roles
Building software, developing it further and keeping it available involve several responsibilities. When recruiting in Tech, identify the work to be taken on and the technical or management decisions that come with it.
From building software to operating it
This family concerns software engineering: applications, websites, software and associated systems. Development covers technical implementation and the evolution of software. Quality assurance and testing examine how it works. Operations and reliability focus on the service actually delivered once the software is in use.
To organise these responsibilities, distinguish the product to build, its operating constraints and the technical choices. Agree with Product which trade-offs need joint decisions. For an application using data or AI models, also clarify the boundary with the Data team: who provides the data, who integrates the model and who monitors its behaviour in production?
Understanding the different roles
Build and test software
Developers build and develop applications and software. QA specialists prepare and run tests to examine their quality. Describe the scope to cover: an interface, a service, an existing system or several connected components. The programming language used explains only part of the work.
- Developers
- QA & test automation
Operate services and improve their reliability
SRE applies software engineering to reliability and operations, notably through automation and service monitoring. An internal platform brings together shared capabilities for the teams using it. If you are considering a DevOps role, clarify the operational, delivery and automation responsibilities actually expected.
- DevOps
- Sysadmin (systems administrator)
- SRE
- Platform engineer
- Cloud architect
- FinOps
Define the scope of security and technical decisions
Security needs an explicit remit: the systems involved, the risks to examine and the stakeholders able to decide on corrective action. For technical leadership, specify the reach of decisions, from one team to several systems. Specialist job profiles can then help you compare roles against this mandate.
- Cybersecurity (penetration tester, RSSI/CISO)
- Staff & principal engineer
- Tech Lead
Organise leadership and management
One possible allocation gives the CTO responsibility for technical direction, the VP Engineering responsibility for organising teams and delivery, and the Engineering Manager responsibility for supporting people and the work of one team. These responsibilities may overlap or be combined, depending on the context. Clarify each role’s mandate and the decisions they share.
- CTO
- VP Engineering
- Head of Technology
- Technical Director
- Engineering Manager
Job profiles in this family
- Software engineerA software engineer designs, develops and improves software to meet users’ needs and the company’s constraints.
- CISO (Chief Information Security Officer)The CISO leads information systems security and helps management decide on actions to protect business activities and data.
- Platform EngineerBuilds the internal platform (tooling, environments, golden paths) that lets product teams ship fast and well, autonomously.
- DevOps EngineerA DevOps engineer automates application delivery and environment management to help technical teams deploy and operate their services.
- Cloud architectThe cloud architect designs the company’s cloud infrastructure and guides technical choices according to its needs, constraints and usage.
- CTO (Chief Technology Officer)The CTO defines the company’s technological direction and makes decisions on the architecture, investment and organisation that support its product.
- VP Engineering (vice president of engineering)The VP Engineering leads software engineering teams and organises their resources to deliver product priorities with quality and reliability.
- Full-stack developerA full-stack developer builds the interfaces, server-side processing and data exchanges that enable people to use a web application.
- Mobile engineer (mobile developer)A mobile engineer designs, develops and maintains mobile applications suited to the needs of the product and the constraints of the target platforms.
- SysAdmin (systems administrator)A sysadmin administers, maintains and secures IT systems so that teams can access the services and data they need for their work.
- SRE (Site Reliability Engineer)Guarantees the reliability, availability and performance of production systems with a software engineering approach.
- Pentester (Offensive Security)A pentester tests the security of systems and applications within an authorised framework and explains to the business which vulnerabilities need to be addressed.
- FinOps EngineerA FinOps Engineer analyses cloud expenditure and supports technical and finance teams in decisions about usage and cost.
- QA & Test Automation EngineerA QA & Test Automation Engineer designs and automates software tests to help product and development teams detect defects and prevent regressions.
- Solutions EngineerA Solutions Engineer helps prospects evaluate a product through demonstrations, proofs of concept and technical discussions alongside sales colleagues.
- Staff / Principal EngineerThe Staff / Principal Engineer solves complex technical problems and helps teams design, evolve and maintain their systems.
- Tech LeadThe Tech Lead guides a software team’s technical choices, contributes to the code and helps developers design reliable solutions.
- Engineering ManagerThe Engineering Manager supports a software team, develops its skills and organises its work to meet realistic delivery commitments.
- Back-end developerA back-end developer builds and maintains the processes, APIs and data access that make an application work on the server side.
- Caching infrastructure engineerThey design and operate the distributed cache used by applications to speed up reads while managing data freshness and failures.
- Developer relationsDevRel helps developers use a technical product, creates resources and passes their difficulties on to internal teams.
- Front-end developerA front-end developer builds and maintains the web interfaces people use in a browser, working with product, design and server-side teams.
- Game developerA game developer programmes the features of a video game and works with design, art and testing teams to ensure they function as intended.
- Network architectA network architect designs an organisation’s network connections, chooses solutions suited to its needs and supports their implementation.
- Network engineerA network engineer designs, deploys and operates an organisation’s connectivity according to user needs and the responsibilities assigned to the role.
- SAP DeveloperAn SAP developer designs, adapts and maintains applications, extensions and integrations to meet a company’s business needs.
- SOC analystA SOC analyst monitors security alerts, qualifies incidents and passes useful information to the teams responsible for responding to them.
Identify what is slowing technical work
Changes struggle to reach production
If work accumulates before going live, examine the approvals, tests and handovers required. Distinguish insufficient development capacity from a delivery problem before recruiting more developers.
Incidents regularly occupy the teams
If running the service interrupts planned work, clarify reliability expectations and the time to devote to recurring causes. An SRE remit may be appropriate if the need combines operations with engineering work that delivers lasting improvements.
Several teams repeat the same infrastructure work
If teams keep rebuilding the same capabilities, explore an internal platform with them. Define the uses to support and the service to maintain before deciding on the platform’s components.
Technical choices extend beyond a single team
If decisions affect several systems, give the person responsible for informing them a cross-functional mandate. Separately clarify whether they should manage staff or provide expertise without line management responsibility.
Make the technical remit assessable
Describe the existing system
Explain its uses, dependencies and maintenance constraints. When recruiting, a concrete problem to solve helps define the need better than a long list of technologies.
Clarify operational responsibility
Specify who monitors how the service is running and how incidents are handled. If the role contributes to these arrangements, make the expectations clear in the role description.
Separate expertise from people management
Specify the technical decisions expected, any team to manage and the time devoted to each responsibility. A need for a broader technical perspective does not, on its own, justify adding a management layer.
Frequently asked questions
Should you describe a role by programming language?
Mention the relevant technologies, then describe what the person will need to do with them: take over a system, develop a component or make it easier to evolve. Clarify what they must know on arrival and what they can learn in the role.
How do you define a Solutions Engineer role within this family?
Clarify whether the work takes place with clients or within the team building the product. Describe the commitments to make, the sales stakeholders and the technical contributions expected. This framing avoids confusing a client solution need with internal product development.
Sources
- U.S. Bureau of Labor Statistics : Software Developers, Quality Assurance Analysts, and Testers
- Onisep : Développeur / Développeuse informatique
- Google : Site Reliability Engineering : Introduction
- AWS : What is Site Reliability Engineering?
- CNCF : CNCF Platforms White Paper
- GitLab : Engineering Leadership : Roles & Responsibilities
- Monzo : Engineering Manager Progression Framework v2.0