Technical Career Track

This technical career track defines what we value as a software development culture in AVEVA Operations Information R&D. The document describes the opportunities for technical growth in terms of levels, and while levels are important, they do not define the way we relate to each other in Software Development. For example, a Principal Technologist is not by definition more “correct” when discussing technical design with a Member of Technical Staff - II. The Senior Member of Technical Staff, by virtue of having earned that level, will typically bring more experience and perspective to a discussion, but all voices have equal merit. In fact, a Principal Technologist should be adept at bringing in perspectives from other developers and helping guide discussions.

The levels are important to the relationship between leaders and technical contributors at this organization. A key responsibility of a leader is to help find opportunities for developers to grow and demonstrate their skills in order to progress their careers. Moving from one level to another is a way to advance your career, whether at this organization or a future job after this organization. The levels and associated skills should be transferable.


Technical Levels

There are six roles within the technical career path, from Member of Technical Staff to Distinguished Technologist:


Level Categories

There are many ways to categorize the attributes that make a developer successful, but these four categories are particular to our organization’s software development culture. These categories represent the key areas of development and mastery of software development at each level.

Technical Skill [T]

Have you been seeking to improve your craft? Have you become an expert and/or gained expertise in multiple technical areas?


Productivity [P]

How does your work align with the overarching goals of AVEVA Operations Information R&D? How reliably and consistently have you delivered complete work items? How large and complex a feature or capability have you proven capable of owning? How efficiently do you work with other departments? How well do you understand tradeoffs between velocity and technical debt?


Empathy [E]

How receptive are you to outside feedback on your work? How broad of a perspective do you consider when making decisions? Can you independently identify stakeholders who will be affected by your work and proactively incorporate their viewpoints into your technical designs? To what degree do you prioritize the team’s needs over your own?


Influence [I]

How effectively have you communicated your team’s challenges, their importance, and solutions? How effectively have you been able to resolve conflicts? Have you raised the level of your team through design documents, coding standards, reusable components, and best practices? Have you effectively communicated within your team and across teams? Have you developed other developers’ skills through mentorship, code review, and technical feedback?


Level Descriptions

Each description has two parts, a high-level description, and common attributes.
Attributes are tagged by four categories: (T) Technical Skill, (P) Productivity, (E) Empathy, and (I) Influence. As outlined in the FAQ, these attributes aren’t an exhaustive checklist but rather a guideline for behavior we would expect from someone at that level. The attributes listed for each level are also cumulative. Individuals are expected to exhibit attributes of all levels up to and including their current role.

Member of Technical Staff

Goal is to gain experience. Individual-focused and working on proficiency. Typically works with some amount of support and guidance. Receptive to and learns from feedback from their team.

Attributes

Member of Technical Staff - II

Goal is to become a fully independent individual contributor. Requires a moderate amount of support but developing independence and responsibility. Beginning to grow and learn from developers on other teams while at the same time requiring less guidance from members of own team. Can meaningfully contribute to projects of larger scope and complexity than Member of Technical Staff.

Attributes

Senior Member of Technical Staff

Goal is to execute complex work items with minimal support and guidance. Solid individual contributor and works well independently. Demonstrates maturity of thought and craft. Incorporates perspectives spanning the entire development organization.
Demonstrates developing leadership and influence at the team and program level. Reactively finds gaps and areas of improvement in technology and team process and surfaces them to team or program.

Attributes

Principal Technologist

Goal is to execute large-scale features and initiatives with minimal support and guidance. Continues development of Senior Member of Technical Staff traits with focus on larger projects and initiatives. Capable and productive as both an individual developer and leading technical direction for a team.
Demonstrates established leadership and influence at the team and program level. Proactively finds gaps and areas of improvement in technology and technical processes and leads team to addressing them.

Attributes

Partner Technologist

Goal is to leverage technical depth and breadth to have a broad impact on this organization. High-performing individual contributor with maturity and influence to set a technical vision for their assigned program and lead toward execution of that vision. Raises the level of their associated teams by creating processes, tools, and systems that increase the productivity and output of the teams around them. Incorporates viewpoints and perspectives of broad groups across the company to ensure that development work is well-aligned with the business. This role requires time spent working at this organization to do well: it requires a deep understanding of architecture and demonstration of leverage and impact across multiple initiatives. A Partner Technologist reports directly to a Software Development Department Lead, and is independent of any specific development team, instead having a program-level focus.

Attributes

Distinguished Technologist

Goal is to set technical direction for products and services through vision and execution. High-performing technical leader. Broad vision and technical maturity at the highest level. Raises the level of the organization, seen as a thought leader and teacher. Brings new and meaningful perspectives from across the industry to this organization.

Attributes

Career Timeline

It is a common question for developers to wonder how long it takes before they are ready for the level above their current one. The following section provides a framework for reasoning about the progression of a contributor through the levels defined in the technical career track. Assuming a developer is on a path of constant progression and growth, a model career timeline should roughly look like the following:

The timeline is more rigid at the lower levels than at the higher ones:

From Member of Technical Staff to Senior Member of Technical Staff, the goal is first to become a fully independent individual contributor and then to gain the ability to execute projects with minimal support and guidance; this is a progression that should be natural and achievable by all developers at this organization.

At the higher levels (Senior Member of Technical Staff and above), the timeline becomes open-ended: those levels recognize the development of a sense of initiative and identifying opportunities that will have a high impact. This might require a significant amount of time and effort to demonstrate. For some developers, this leap may not happen; many developers will not progress beyond the level of Senior Software Developer and this should not be interpreted as a negative.

Here are the principles that underpin the timeline presented above: