| | 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 |
Software EngineerEngineer 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
|