At Turing Technologies, we’re experimenting a new way of promotions, which would include two pathways for every individual, either become a manager or remain as an individual contributor through the technical track.
This internal experiment was kicked-off after observing some of our best engineers struggling to manage resources (usually fresh grads/right out of college), giving objective feedbacks during reviews and as a result, get frustrated and try to do everything by themselves.
We expedited this process after getting feedback from our internal team where some of our team members preferred the individual contributor's role on their promotion. We want our team to be able to continue doing what they love and excel at, without being forced into a track that they may not enjoy.
This guide outlines our expectations and examples of an engineer’s skills and responsibilities at each level at Turing Technologies. It is intended for individual reference and for discussion between engineers and their managers. (We'll use this as a guide, not a checklist — not every item will apply to every engineer.)
Levels are cumulative. Each subsequent level encompasses those preceding it.
All engineers at every levels is expected to follow our core principles.
This guide presents a matrix of possibilities for career growth, not merely a one-way ladder. Careers may include lateral movement, and there is no expectation that every engineer seek nor attain every level. There is room for growth, development, recognition, and a rich engineering career at different levels.
We do expect that most Level 1s should progress to Level 2 within a year, Level 2 to Level 3 within 18 months.
An engineer may have a mix of skill levels across the different categories (e.g. Level 4 in communication, Level 3 in technical skills). Turing Technologies aims to ensure that each engineer is recognized at the most accurate level for their unique skill set and contributions.
Technical This category focuses on technical skills, including an engineer’s mastery, best practices, code reviews, code stewardship, quality & testing, design, and debugging.
Execution This category focuses on the way that an engineer gets things done: planning, scoping, estimation skills, getting unstuck, taking ownership, strategic alignment, product/business understanding, and vision.
Collaboration & Communication This category describes teamwork, communication skills, asking for and giving feedback, collaborating, and documentation.
Influence This category looks at an engineer’s level of impact and influence within the organization, including leadership, knowledge sharing, mentoring, hiring, onboarding, and representation of our brand.
Maturity Inspired by other tech companies, this category looks at the traits that make an engineer trustworthy and professional: accountability, self-awareness, respect, consensus building, handling conflict, and receiving feedback.
Associate Software Engineer - Level 1
Focused on growth & learning our stack, best practices, and codebase.
Works on scoped problems with some guidance, contributing meaningfully.
Writes clean code and tests, iterating based on feedback.
May participate in on-call rotation, if applicable for their domain.
Commits to & completes tasks within expected time frame, holding themselves accountable while building estimation skills.
Asks for help to get unblocked when necessary.
Learning tools and resources.
Collaboration & Communication
Learning to work collaboratively on a team and communicate in meetings.
Effectively communicates work status to teammates and manager.
Proactively asks questions and reaches out for help when stuck.
Voices concerns or need for clarification to their manager.
Accepts feedback graciously and learns from experience.
Has feature/project/team-level impact.
Pairs to gain knowledge.
Represents their team well to others in the company.
May participate in hiring.
Learns and exhibits our core behaviors, treating others with respect, honoring commitments to the team, seeking out & integrating feedback.
Objectively evaluates whether they've met their goals.
Software Engineer I - Level 2
Focused on expanding experience and proficiency in our code base, with solid understanding of relevant areas.
Scopes and implements project-level solutions with minimal guidance.
Consistently follows best practices, able to defend technical decisions in code review feedback.
Writes maintainable code.
Provides helpful, timely code reviews to Level 1.
Contributes to technical design, thinking through failure cases.
Understands how code fits into broader technical context.
Mastering ability to break down tasks, plan, estimate, and cut scope to ship on time. Prioritizes in alignment with company goals. Seeks learning through retrospectives.
Engages with Product Management on feasibility of requested features, clarifying requirements where necessary.
Seeks input from colleagues with area expertise.
Detects problems in requirements.
Effectively uses tools and dashboards. Instruments code for operations and monitoring.
Takes ownership and can work autonomously on any development task within an application or service, delivering code on time and with a quality mindset.
Seeks understanding of how users interact with product/service.
Collaboration & Communication
Collaborates professionally with teammates and peers.
Communicates clearly at team and engineering events, escalating blockers quickly, clarifying requirements and sharing assumptions.
Adapts their message for a diverse technical audience, choosing appropriate medium and providing context.
Uses team meetings and 1:1s to raise and resolve issues.
Seeks feedback to improve and receives it well.
Gives timely, helpful feedback to peers.
Proactively adds documentation to help others.
Mentors more junior engineers.
Finds ways to help teammates achieve their goals. Inspires teamwork.
Participates in hiring and provides clear, timely feedback on candidates.
Trusts teammates, assumes good intent, and able to disagree and commit.
Exhibits a growth mindset with regard to feedback.
Able to voice concerns in a constructive manner.
Able to deliver their work despite inevitable distractions.
Software Engineer II - Level 3
Independently scopes and implements solutions for their project/team.
Expert in our processes, also helping to define them. Keeps tests up to date.
Writes meaningful code reviews.
Handles open-ended problems & ambiguity well.
Makes well-reasoned design decisions, identifying potential issues, tradeoffs, risks, and the appropriate level of abstraction.
Debugs expertly within their primary focus area.
Estimates methodically, based on iterative learning. Sets realistic deadlines that drive effort but support healthy work habits. Cuts scope as needed, mitigating risk by shipping frequently.
Asks for guidance in unfamiliar areas, pulls in others as needed, and persists in the face of roadblocks.
Uses analytics and product understanding to inform decisions and measure impact.
Accountable end-to-end, through planning, deploy, maintenance, and monitoring. Proactive about potential issues.
Understands how people use the product/service(s) they build, and how their work fits in. Exercises user empathy, whether their users are internal or external.
Starting to form a vision for future directionality of certain areas.
Collaboration & Communication
Partners with product and analytics to drive requirements.
Identifies and suggests solutions to problems impacting team.
Builds relationships cross-functionally, with operations and support teams, and with senior engineers.
Communicates technical issues and decisions clearly and proactively to a cross-functional audience, sharing bad news quickly as well. Mastering ability to express complicated issues simply.
Engages in productive dialog even when there are conflicting views, both inside and outside team. Seeks to understand other points of view.
Ensures docs exist for all critical systems.
Elevates testing practices.
Contributes to the foundational good of their domain and engineering overall, defining patterns and canonical examples, plus paying down tech debt.
Shares their experience and expertise to help others grow.
Leads and coaches within their team where possible, trusted with team decisions.
Starting to broaden impact. Considers effects of their work on other teams, as well as identifying and helping to resolve problems facing team.
Gives feedback to others and trusts them to decide to what extent to incorporate it.
Self-aware of strengths and weaknesses.
Trusted to do what they say they will do, or communicate promptly if there is an issue.
Intentional about career and growth.
Embraces big challenges as opportunities for growth.
Able to change direction quickly based on shifting company needs.
Associate Tech Lead/Architect - Level 4
Focused on technical decision making, leading work that affects one or more complex systems and mission-critical areas.
Consistently delivers code that sets the standard for quality and maintainability.
Identifies, defines, and solves strategic problems, thinking holistically about the whole system. Tackles tech debt proactively.
Contributes to all major architectural decisions and reads all tech specs within their domain, tracking status and considering implications to other systems.
Helps define roadmaps and set vision for long-term projects.
Collaboration & Communication
Spurs and facilitates meaningful discussion around complex issues.
Works with key stakeholders effectively to solve problems and make decisions.
Trusted to always share status with all stakeholders, and proactively remedy communication issues.
Writes insightful documentation.
Routinely has initiative- to domain-level impact.
Identify and advocate for foundational work and practice improvements in their domain.
Convinces others about technical tradeoffs & decisions.
Sought out as mentor and provider of technical guidance, kind coaching.
Motivates and empowers teammates to achieve higher level of performance.
Educates others about the work of the team.
Coaches and helps teammates prioritize.
Analyzes and improves upon interview and onboarding practices.
Leads initiatives & meetings within team and domain. Regularly leads multi-person, multi-week projects.
Builds consensus for decisions.
Help others maintain resilience in periods of change.
Tech Lead/Architect - Level 5
Focused on technical leadership, defining patterns and operational guidelines for their domain(s).
Independently scopes, designs, and delivers solutions for large, complex challenges.
Provides oversight, coaching and guidance through code and design reviews.
Designs for scale and reliability with the future in mind. Can do critical R&D.
Anticipates technical challenges, exploring alternatives and tradeoffs thoroughly.
Incredibly knowledgable both inside and outside of the company in their area(s).
Has deep understanding of full stack encompassing their domain. Can navigate and make legacy code maintainable.
Persistently debugs the toughest issues through entire stack regardless of environment, finding root cause or a viable workaround.
Can successfully plan and deliver complex, multi-team or system, long-term projects, including ones with external dependencies.
Identifies problems that need to be solved and advocates for their prioritization.
Able to reduce complexity and prioritize the most important work for the company.
Owns 1 or more large, mission-critical systems at Turing Technologies or multiple complex, team level projects, overseeing all aspects from design through implementation through operation.
Considers larger company context and potential future implications between projects. Uses expertise in product space to make decisions.
Plays a key role in defining the company's multi-year tech strategy and roadmap, despite uncertainty.
Defines and drives vision for their area(s).
Collaboration & Communication
Evangelizes and solves with buy-in.
Collaborates with coworkers across the org to document and design how systems work and interact.
Coordinates communication among team & stakeholders, including the right people at the right times.
Clearly communicates technical issues, and ties work clearly to company objectives.
Routinely has engineering-wide impact.
Contributes to external engineering brand.
Drives foundational work benefitting their domain and engineering overall.
Acts as a multiplier who shares knowledge and delegates to help others grow.
Builds leaders within their team or domain, educates across domain.
Actively recruits strong engineers.
Thought leader for technical decisions, influencing architecture and prioritization across multiple teams.
Leads initiatives across domains, even outside their core expertise. Coordinates large & complex projects, including with outside partners.
Leads by example and inspires others.
Proactively offers regular, constructive feedback to others.
Trusted to de-escalate conflicts and build consensus between team members about technical matters.
Models and engages others around developing maturity.
Engineering Manager - Level 5
Focused on highest impact, most critical, future-facing decisions and guidance, advancing us technically and affecting business success.
Respected leader and contributor across the org.
Primary expert in multiple areas of our stack, deeply knowledgeable in several domains.
Able to plan & execute large, complex projects with interdependencies across teams and systems, spanning months to years.
Looked to as a model for balancing product and engineering concerns.
Trusted with any critical project or initiative.
Owns capacity and growth of technical systems across multiple domains, defining key metrics.
Creates a compelling technical vision with company-level impact, anticipating future needs.
Collaboration & Communication
Comfortably communicates complex issues to diverse audiences inside & outside the company.
Proactively identifies and remedies communication gaps and issues.
Routinely has org- to industry-level impact.
May work with exec team on high level technical guidance.
Has obvious impact on company's technical trajectory.
Influences company goals and strategy, identifying new business growth opportunities.
Expert on company's platform, architecture, and workflow.
Educates across the org.
Defines and models Turing Technologies engineering brand, patterns, and practices.
Ambassador for Turing Technologies externally, drawing engineers to the company.
Recognized leader within company and possibly in broader technical community.
Leads complex initiatives with long-term, strategic value.
Domain An area around which there is shared & specialized knowledge & long-term code stewardship. Engineers have a primary domain and are encouraged and supported in becoming expert in and working in other domains. Current examples of domains in Turing Technologies include: JS/TS (backend+frontend), ops, security, payments, iOS, android. Domains identify engineering goals to pursue in order to enable the engineers in that domain to execute quickly and confidently.
Initiative Large goals that the company wants to achieve. Initiatives create projects.
Project Projects are created to tackle an objective. Project teams are formed with people from the domains needed to succeed on the project.
We’re constantly trying to improve our engineering levels, one way we do this is to ask for feedback from the new hire themselves.
Did you like our Engineering Levels? Come Join our Team