Engineering Growth Framework

Our approach towards healthy, cross functional growth.

Introduction

We strongly believe that people produce great work when they are at their natural best. Forcefully reducing them to experts vs generalists, or individual contributors vs managers, hampers their growth instead of boosting it.

At Obvious, we look for multi-faceted, T-shaped individuals, who bring a lot to the table other than just their craft. To nurture and accelerate the growth of such people, over the years we've experimented with several different frameworks. We've finally resolved to the one that follows.

This framework is inspired by the fantastic work done by the folks at Medium.

The Framework

The framework is divided into 3 parts - Creating, Executing and Supporting, each of which has 4 different skills. Each skill is further divided into 5 different milestones. As you go deeper, or take on more responsibilities, you cross a milestone.

In general, you must have demonstrated a "Conscious, Comfortable, Continuous, Consistent Competency" defined as follows:

  • Conscious: having devoted intentional effort to this endeavour,

  • Comfortable: without being overly stretched,

  • Continuous: for a reasonable period of time,

  • Consistent: reliably and evenly,

  • Competency: meeting the criteria.

As a natural consequence, you do not achieve a milestone the first time you demonstrate relevant behaviours or tasks. If it is not clear that you're at a certain milestone, then you'll be placed at the previous milestone.

Here's what the skills and the corresponding milestones look like:

Creating

Foundation
Platform
Release Engineering

Milestone

Responsibilities

Examples

Develops and demonstrates expertise in foundational systems (theoretical computer science, operating systems, networks, toolchains, etc.)

1

Through guidance from senior staff members, works effectively within Obvious' frameworks, following current best practices.

  • Understands basic data structures like lists, graphs, trees, and queues

  • Reads project documentation to setup and build code on a new machine

2

Shapes minor parts of a project independently, through mastery of Obvious' frameworks and current best practices.

  • Understands the difference between types of HTTP requests

3

Shapes major parts of a project, through project-wide employment of Obvious' frameworks and current best practices.

4

Pioneers best practices by consistently evolving Obvious' frameworks that enable engineers to work more effectively and deliver higher value.

5

Is a thought leader in the field and sets the direction for foundational systems within the organization.

Milestone

Responsibilities

Examples

Develops and demonstrates expertise in platform-specific engineering (Android, iOS, web)

1

Through guidance from senior staff members, works effectively within Obvious' frameworks, following current best practices.

  • Updated the margins and typography of a screen using a design reference

  • Added a new row to a list item by using an unused field in the model

  • Created a custom button style using a design reference

2

Shapes minor parts of a project independently, through mastery of Obvious' frameworks and current best practices.

  • Prototyped a simple new feature quickly using throwaway code

  • Built a debit card input component

3

Shapes major parts of a project, through project-wide employment of Obvious' frameworks and current best practices.

  • Researched and implemented offline fuzzy search using SQLite

  • Optimised the performance of an image loading framework in production

4

Pioneers best practices by consistently evolving Obvious' frameworks that enable engineers to work more effectively and deliver higher value.

  • Refactored a production codebase and helped the team to adopt a new architecture

  • Designed framework for fetching and rendering stream items

5

Is a thought leader in the field and sets the direction for platform-specific engineering within the organization.

  • Defined a migration plan from Java to Kotlin, and executed on it

  • Created an implementation of a RecyclerView before platform support existed

Milestone

Responsibilities

Examples

Develops and demonstrates expertise in the DevOps Ways (version control, trunk based development, continuous integration/deployment, monitoring, agility mindset etc.)

1

Through guidance from senior staff members, works effectively within Obvious' frameworks, following current best practices.

  • Checks the diff, commits code, and raises a request for review -- by themselves

  • Goes through the list of new bugs to triage them appropriately

2

Shapes minor parts of a project independently, through mastery of Obvious' frameworks and current best practices.

3

Shapes major parts of a project, through project-wide employment of Obvious' frameworks and current best practices.

4

Pioneers best practices by consistently evolving Obvious' frameworks that enable engineers to work more effectively and deliver higher value.

5

Is a thought leader in the field and sets the direction for release engineering as a function within the organization.

Executing

Project Management
Communication
Craft
Audacity

Milestone

Responsibilities

Examples

Plans well and delivers the right quantum of work, at the right quality, within the committed timeframe.

1

Effectively delivers individual tasks.

2

Effectively delivers small individual projects.

3

Effectively delivers projects through a small team.

4

Effectively delivers projects through a large team with a significant amount of stakeholders or complexity, or delivers multiple projects through a number of small teams.

5

Sets org-wide direction for project management, improves current project management practices and creates new ones wherever required.

Milestone

Responsibilities

Examples

Promotes the flow of information and builds confidence through tight articulation, reasoning, and feedback.

1

Communicates effectively with close stakeholders, and incorporates constructive feedback.

2

Communicates effectively with the wider team, and actively solicits constructive feedback.

3

Communicates effectively with the wider team, actively solicits constructive feedback, and facilitates communication for multiple stakeholders.

4

Communicates complex ideas skilfully and with nuance, and establishes alignment within the wider organization.

5

Establishes effective communication practices and influences outcomes at the highest level.

Milestone

Responsibilities

Examples

Promotes high quality work standards and consistently raises the quality bar for self and others.

1

Consistently does good quality work and delivers outcomes without any gaps.

2

Goes beyond just "good quality" and meets the bar set by Obvious' highest quality of work.

3

Goes beyond Obvious' highest quality of work and sets a new bar for quality within the organization.

4

Improves the ability of individuals or teams to deliver great quality work.

5

Enables and encourages the entire organization to make attention to detail and exceptional quality a central part of the engineering process.

Milestone

Responsibilities

Examples

Takes calculated risks and pushes self as well as others to dream big and attempt bold ideas.

1

Steps outside of personal comfort zone and dares to use new or unfamiliar methods to accomplish individual tasks.

2

Steps outside of personal comfort zone and dares to use new or unfamiliar methods to accomplish small individual projects.

3

Helps a small team step outside of their comfort zone and use new or unfamiliar methods to accomplish small team projects.

4

Consistently leads multiple individuals or teams to step out of their comfort zone and use new or unfamiliar methods to execute bold ideas.

5

Leads the entire organization to buy into a bold, audacious vision, and implement it successfully.

Supporting

Well-Being
Mentorship
Evangelism
Recruiting

Milestone

Responsibilities

Examples

Contributes to the well-being of team members by building a strong internal community that lives and breathes company values.

1

Brings a positive vibe to the floor, is approachable, and helpful towards close collaborators.

2

Promotes a culture of lending support, proactively helps individuals experience a sense of belonging.

3

Creates a supportive and engaging team environment, promotes inclusivity, empowers team members to vocalise and act on their fears and aspirations.

4

Exemplifies selflessness without compromising responsibilities, advocates for the needs of teams, and proactively works to maintain calm in the organization.

5

Personifies company values, promotes positive culture by shaping strong people policies, inspires and protects the entire organization.

Milestone

Responsibilities

Examples

Plays a strong role in the growth of team members through constant guidance, mentorship and support.

1

Supports new hires by familiarising them with Obvious' current frameworks, practices and institutional knowledge.

2

Mentors individuals proactively by providing strong work related guidance.

3

Through constant mentorship, helps individuals create and execute growth plans, by aligning their value system and aspirations to the development of necessary skills that can unlock those aspirations..

4

Encourages and enables peer-to-peer mentorship, mentors large groups or teams, supports the development of a significant part of the organization.

5

Is viewed as a trusted advisor by the leadership and all teams, and promotes a culture of learning and development throughout the entire organization.

Milestone

Responsibilities

Examples

Promotes Obvious to the outside world and establishes it as an attractive and thoughtful workplace.

1

Represents Obvious well externally, and influences individuals positively on their views of Obvious.

2

Participates more centrally in small events, and positively influences small groups of people on their views of Obvious.

3

Works hard to positively influence large groups of people on their views of Obvious.

4

Establishes Obvious as a great, innovative company and workplace to the whole industry.

5

Introduces Obvious in a positive light to a wider audience outside the industry.

Milestone

Responsibilities

Examples

Strengthens Obvious by bringing in excellent talent, aligned with the company mission and values.

1

Understands how to evaluate candidates for Obvious and constantly brings the right candidates into the pipeline.

2

Interviews regularly, helps the team make meaningful hiring decisions, and helps build a diverse pipeline.

3

Maintains and strengthens the integrity of the current process, and regularly brings in great candidates.

4

Actively contributes to and leads hiring decisions, and goes to great lengths to source great candidates.

5

Sets recruitment strategy, invests in long-term relationships for critical roles, and recruits at scale.

Evaluation

Each milestone is significantly harder to cross than the previous one, which is reflected in the number of points assigned to the milestones.

If someone is not meeting expectations for Milestone 1, then they are assumed to be at Milestone 0 with 0 points. One does not start at Milestone 1 in every track.

During evaluation, if it appears that an engineer is between milestones, then they reside at the lower milestone. One cannot be given points "halfway through" a milestone.

Milestone

Points

1

1

2

3

3

6

4

12

5

20

Some engineers may find that they exhibit some of the example behaviours at a later milestone without exhibiting all of the example behaviours at an earlier milestone. This is to be expected! At the earlier stages of an engineer’s career, they are limited to simple contributions. Engineers with more experience can typically contribute in higher leverage ways which supersede those simpler tasks, meaning they no longer do them. It is assumed they could do them, should they be required to.

Through a 360 degree evaluation process, everyone at Obvious is assessed across the 12 different skills and assigned points in each skill based on the milestone they've crossed. The cumulative sum of these points forms a score, which corresponds to a level in our career ladder.

Points

Level

7

1.1

12

1.2

17

1.3

23

2.1

29

2.2

35

2.3

42

3.1

49

3.2

56

3.3

64

4.1

74

4.2

86

4.3

100

5.1

116

5.2

136

5.3

At Obvious, we do not have designations, so we think of these levels in terms of the following 5 bands:

Bands

Levels

Associate Engineer

1.1 - 1.3

Engineer

2.1 - 2.3

Senior Engineer

3.1 - 3.3

Principal Engineer

4.1 - 4.3

Engineering Leader

5.1 - 5.3