Roles and Job Descriptions

Career Ladder

Title

Experience (rough)

Duties and responsibilities

Title

Experience (rough)

Duties and responsibilities

Technical Specialist /
Junior Programmer

Engineer I - II

0 - 3 years

Primary objective is supporting the team’s velocity, e.g. by working closely with more senior engineers as a “closer”

Technical

  • Responsible for small stories (1 pt) with assistance

  • Follows highly detailed, prescriptive instructions

  • Writes automated tests for features developed by others

  • Updates technical documentation

Other

  • Works well with others

  • Takes direction from others

Software Engineer

Engineer III

3 - 6 years

Primary objective is increasing the team’s velocity by shipping new features, working under the direction of more senior staff.

Technical

  • Understands the codebase and translates business requirements to software designs, following established standards and patterns

  • Responsible for stories up to 4 points in complexity

  • Writes clean, well-organized, testable code

  • Troubleshoots issues through debugging and inspection

  • Performs code reviews focused on correctness and adherence to standards

Other

  • Updates / creates technical documentation for use by other developers

  • Performs estimates in terms of hours

  • Translates IA explanations or requests into technical details

Senior Software Engineer

5-10 years

Primary objective is maintaining the team’s velocity over time by focusing on quality, maintainability, and productivity. Introduces new ways of working, such as new coding techniques that “force-multiply” other engineers.

Capable of “owning a feature or system” with an expert end-to-end understanding of it.

Technical

  • Mastery of writing and debugging code, maintaining a high degree of quality and maintainability

  • Independently responsible for large features consisting of multiple, interrelated stories or sub-features

  • Troubleshoots and resolves complex technical issues

  • Performs code reviews focused on correctness, adherence to standards, architecture, and security

  • Creates new framework features, subsystems, and automations as needed to improve productivity

  • Makes technical decisions rooted in core values and principals

Other

  • Strong written and oral communication skills

  • Updates / creates documentation for use by technical and non-technical staff

  • Provides actionable feedback to peers

  • Performs estimates in terms of story points

  • Onboards and mentors new Software Engineers and below

Principal Engineer / Architect

8+ years

Primary objective is solving technical problems that few others can. Principal engineers are the pinnacle of the Individual Contributor ladder and demonstrate exceptional technical ability and understanding of LearningBuilder.

Technical

  • Able to implement / troubleshoot the most complex parts of LearningBuilder

  • Independently ships high-quality work following best practices (testability, documentation, coding standards, etc)

  • Identifies the biggest pain points in a system or product and proposes solutions with clear trade-offs

  • Prototypes new systems, architectures, etc

  • Breaks complex projects into simpler tasks that can be handled by other engineers

Other

  • Introduces new ways of thinking in addition to new ways of working (e.g. leading a transition to cloud-native engineering)

  • Interviews job candidates, both junior and senior

Staff Engineer / Team Lead

8+ years

Primary objective is focusing the team’s velocity in a specific direction. Co-owns success of the team along with engineering manager. Delivers features that require the collaboration of multiple developers working together.

This role is in some ways a peer to Principal Engineer, but taking on a team-centric bent instead of an extremely IC-focused approach.

Technical

  • ~75% focused on shipping features

  • Sets/modifies coding standards, architectural standards, etc

  • Acts as a tiebreaker in deadlocked technical debates

  • Evaluates and measures effectiveness of technical processes

Other

  • Excellent written and oral communication skills

  • Ensures team is adhering to expectations (code reviews, retrospectives, etc are being performed, etc)

  • Introduces new ways of thinking in addition to new ways of working (e.g. shepherding team between times of focus on predictability and focus on productivity)

  • Runs regular team meetings such as standup, retrospective, story planning, feature reviews, progress reporting, etc

  • Recruits, interviews, and onboards new team members, both junior and senior

Engineering Manager / Director

10+ years

Primary objective is directing the team’s velocity to meet business goals. Achieves results through others, not by shipping features.

Technical

  • Designs and architects LearningBuilder features (for now; but maybe this belongs elsewhere?)

  • Acts as a tiebreaker in deadlocked technical debates between senior engineering staff

  • Translates technical issues to executive management, and strategic objectives to technical team

Other

  • “Care and feeding” of engineering team

  • Recruits and interviews new team members

  • Reports KPIs and metrics to upper management

  • Long term release management