Skip to content
On this page

Frontend Engineer

Level 1

Mastery

  • Writes basic VueJs components
  • Writes simple tests
  • Understands ESLint
  • Understands project structure
  • Masters basics of git

Example: Checkout, Push, Pull, Branch, Diff, Merge, Stash, Rebase, etc.

  • Understands and properly uses git workflow

how to branches off develop branch, how to creates merge request for a new feature

  • Write basic i18n translations

Impact

  • Delivers simple tasks
  • Works with senior developer/mentor
  • Makes improvements based on the feedback

Communication

  • Provides regular status updates to their mentor/buddy
  • Points out syntactical improvements in code reviews
  • Writes descriptive merge requests, mentions colleagues and issues
  • Seeks guidance from other engineers, rather than answers

Leadership

  • Not required

Level 2

Mastery

  • Makes use of common Javascript functions/objects
  • Makes appropriate use of Vuex store
  • Has basic understanding of UI template for the project
  • Integrates with API and is familiar with API documentation
  • Understands Vue's component communication patterns
  • Able to build small and medium sized features
  • Able to prioritize the workload
  • Understands Vue's reactivity

Impact

  • Delivers assigned tasks that meet expected criteria
  • Works for the team, focuses on tasks that contribute to team goals
  • Tries to find a solution before asking for help
  • Proactively makes code improvements (and can reason about the changes)
  • Proactively learns new things
  • Breaks down small/medium problems into smaller steps

Influence

  • Proactively raises issues they spot in retrospectives
  • Helps his peers to get better

Communication

  • Proactively communicates to their team what they are working on, why, how it's going and what help they need
  • Accepts feedback graciously
  • Gives feedback to peers when asked
  • Provides helpful and actionable feedback in code reviews in an empathetic manner

Level 3

Mastery

  • Knows how to debug the application and improve performance
  • Writes concise code
  • Implements non-trivial components
  • Contributes/extends to used components/libraries
  • Explores ways to test various parts of the application

Impact

  • Delivers large well-defined tasks and solves small scope not-well-defined problems
  • Contributes to making implementation proposal
  • Decomposes large problems into small manageable ones for multiple merge request

Influence

  • Provides valuable input to proposals from their team
  • Proactively improves existing common functions, components
  • Mentors/coaches more junior developers
  • Build tools used to improve the development process

Communication

  • Transparent about mistakes they've made, early
  • Proactively gives timely actionable feedback to peers
  • Proactively seeks feedback from the people
  • Considers the opinions of others before defending

Leadership

  • Able to on-board new developers
  • Finds learning opportunities for others when reviewing their code and follows up on it

Level 4

Mastery

  • Contributes to the used libraries code and core parts applications
  • Contributes improving building processes
  • Makes contribution to development tools (if needed)
  • Proposes solutions for optimizing applications
  • Able to impove speed and scalability of the applications
  • Builds testable/maintainable/flexible components
  • Able to debug and fix complex problems
  • Able to identify security weak spots
  • Able to manage priorities effectively

Impact

  • Solves ambiguous problems
  • Takes lead in proposing solutions
  • Identifies issues and proactively solves them
  • Able to make choices based on clear matrix on multiple alternative solutions
  • Able to rewrite big parts of the applications
  • Knows his way around the applications he/she's working on

Influence

  • Able to explain most parts of the applications to new devs
  • Teaches others to write clean and maintainable code
  • Documents useful knowledge for future reference
  • Helps junior developers
  • Takes and provides feedback on software engineering and process improvements

Communication

  • Proactively gives feedback to colleagues and manager
  • Transparent in making design and technical decisions
  • Gives clear technical constraints to non-technical people

Leadership

  • Proactively shapes company culture
  • Helps interviewing and hiring new engineers
  • Proactively proposes application design changes and drives them if needed
  • Coaches and mentors more junior developers

Level 5

Mastery

  • Makes major contributions to the core parts of the application
  • Able to debug production bugs
  • Able to improve app's speed
  • Able to reduce size of the app
  • Able to improve connection to the backend (able to write loosely coupled API services)
  • Anticipates platform and project needs, technical debt and common issues intuitively
  • Produces technical designs for large complex projects
  • Demonstrates a deep level of knowledge in a specific area
  • Serves as a technical authority on a technology or an area of the codebase

Impact

  • Solves larger ambiguous problems
  • Leads incident resolutions

Influence

  • Represents company at conferences and events
  • Proactively shares knowledge within internal teams and external communities
  • Leads his peers and is the role model in achieving team goals

Communication & Feedback

  • Helps others to develop themselves by giving insightful feedback
  • Effectively communicates with others beyond technical matters

Leadership

  • Helps others to be more productive and grow
  • Fosters effective collaboration with other roles within development team
  • Delegates effectively to relevant stakeholders
  • Contributes in maintaining company's culture
  • Bootstraps new teams

Level 6

Mastery

  • Masters and contributes to the core projects and the dependent libaries
  • Uses a risk-based approach and manages technical debt systematically to focus the team’s design and development efforts on the most important problems
  • Works with business and technology stakeholder to translate difficult business problems into technical designs, thereby ensuring that the organisation derives maximum value from services
  • Identifies architecturally significant functional and non-functional requirements, identifies conflicts among them, and defines possible trade-offs scenarios
  • Articulates high-level technical goals, concerns, trade-offs, and decisions to the rest of the company effectively
  • Facilitates technical decision making in complex and ambiguous situations
  • Promotes architectural thinking and good engineering practices at scale
  • Serves as a technical authority in the wider engineering community
  • Identifies and explores opportunities for service and business improvement
  • Makes improvements that affect important non-functional requirements that have an effect on the entire application

Impact

  • Accountable for delivery of large, mission critical engineering projects

Influence

  • Attracts other very senior hires
  • Supports the team to get solve big impact issue faster

Communication & Feedback

  • Transparent about feedback they have received and what they are going to do differently

Leadership

  • Helps others to collaborate effectively
  • Delegates to other and make use their time for high-impact issues