Engineering seniority and compensation at Feather

Vincent Audoire

This article is part of our internal documentation at Feather. We build our product in the open and share our learnings with the community. We’re always looking for talents to join our team check out our careers page

In the software industry, it’s sometimes a frustrating experience to speak about seniority since there is no industry-wide standard that defines the difference between a junior and a senior developer. At Feather, we want to give you full transparency about how we define seniority internally and how it is connected to salary.

You may notice that this combines different seniority grids we’ve found online, and we made it our own. For instance, you can feel the inspiration from the Engineering career path at Alan.

Seniority grid

We have developed our own seniority framework that includes Junior, Middle and Senior levels. We also added a Staff level, but we are still too small to use it. Currently, it serves as a reference for our Senior engineers.

TechnicalCollaborationRecruitingScope & OwnershipKnowledge Sharing & Leadership
Junior developer
  • Crafts straightforward pull requests that are easy to review
  • Ensures a comprehensive functionality of their project in production
  • Is comfortable with Feather's core tech stack (TypeScript, React, Nest, Next, etc.)
  • Ensures sufficient test coverage (unit, integration, e2e) for their code
  • Proactively identifies edge cases
  • Takes an active part in the team's processes and rituals (grooming, planning, daily standups, demos, and project meetings)
  • Gives precise technical updates on tasks they have completed and bugs that have been raised
  • Isn't afraid to ask questions or clarification to their colleagues
  • Accepts constructive feedback and learns from experience
  • Owns clearly defined tasks and projects
  • Can align with more experienced engineers about scope and technical approach
  • Contributes to existing documentation and keeps it up-to-date
  • Takes ownership of their personal development
Early mid developer
  • Participates in reviewing pull requests
  • Is comfortable working on any part of the codebase, after a short ramp up
  • Participates in On-call rotation
  • Able to debug issues, find root causes and propose solutions
  • Manages releases and infrastructure without external help
  • Owns the implementation and design of their projects with little guidance
  • Proactively proposes solution to enhance our tooling and code quality
  • Can explain technical concepts to non-technical colleagues
  • Helps stakeholders understand implementation boundaries, pushes back when needed
  • Is able to lead first interview with engineers of their level or below
  • Owns projects that require research and cross-functional collaboration
  • Finds creative solutions to cut scope of their work and iterate faster
  • Creates useful documentation for engineers and non-technical people
  • Holds technical presentations and feature demos
Mid developer
  • Reasons about the design of our existing systems, and understands what changes would match or contradict a given design
  • Solves self-contained problems that are not completely well defined and contain some ambiguity
  • Identifies opportunities for improving Feather’s CI/CD and reliability of releases
  • Able to work efficiently with Feather’s tech without external help
  • Owns the discussion of how to solve self-contained technical problems in RFCs, jour fixe meetings, planning sessions, postmortems, etc
  • Provides actionable technical feedback to other engineers (i.e. PRs, RFCs, tech talks, documentation)
  • Proactively takes over responsibilities of more experienced engineers (i.e. maintaining areas of codebase, monitoring production systems, resolving incidents, leading recurring meetings
  • Proactively steps up when someone needs help
  • Can lead each type of technical interview
  • Gives high-quality interview feedback that lead to solid and confident hiring decisions
  • Contributes to onboarding, and/or training newer team members
  • Identifies roadblocks and problems to solve that affect team velocity
  • Owns some of the core features, services and projects at Feather
  • Doesn’t need guidance from more experienced engineers for their team to be productive and meet goals in time
  • Gives relevant feedback on RFCs and designs
  • Can run an engineering meeting (i.e. book club, frontend jour fixe, backend discussions etc)
  • Is able to lead the onboarding and help ramp up new engineers to productivity
Senior developer
  • Designs new solutions from scratch for difficult problems that are often ill-defined and ambiguous
  • Has good judgement of technical risk and is able to find solutions that minimize or avoid it completely
  • Speaks out regarding code maintainability and testability, identifies and executes on significant refactors
  • Speaks up to ensure quality of team’s work and design decisions
  • Communicates near-term plans and progress for their team
  • Owns the discussion of important technical decisions
  • For each solution provided, can lay out the alternative solutions considered, the design tradeoffs made, and identify the technical risks involved and gather info from other teams to get alignment
  • Oversees the recruiting funnel for one or more roles and contributes to final hiring decisions
  • Represents the interests of the company outside of work (blog posts and articles, open source presence, meetups and conferences)
  • Proactively suggests changes to the process based on their interviewing experience (i.e. candidate’s feedback)
  • Owns long-term projects affecting other engineers and teams
  • Identifies and explores areas outside their scope where they could progress company goals without any external guidance or support
  • Defines technical direction of their team
  • Is trusted to define their own priorities without any external oversight
  • Helps other engineers grow, directly or indirectly
  • Can coach and grow mid engineers and lower
  • Improves engineering team processes and leads initiatives that benefit everyone (book clubs, jour fixes, workshops etc)
Staff developer
  • Designs systems that create new technical capabilities at Feather and solve difficult problems that require multiple engineers to build
  • Develops effective engineering practices around on-call, dev tools, and planning to maximize the effectiveness of the team
  • Proactively improves the stability of systems using better tooling and best practices
  • Defines engineering roadmap across multiple teams
  • Demonstrates leadership within the team about priorities and planning
  • Communicates plans to a broad audience to explain/justify their reasoning for major tech choices
  • Manages risks across multiple teams, unblocking teams on a technical level and proposing changes to reduce scope
  • Works with head of engineering to ensure that our recruiting funnel is healthy and that we hire enough engineers
  • Improves our interview process so that we make the best hiring decisions possible, and create a compelling experience for candidates
  • Owns major technology choices such as frameworks, CI, vendor services, open source tools
  • Defines the reusable building blocks that Feather requires to scale (design systems, internal tooling and frameworks, architectural concepts etc)
  • Owns promotion decision for individual engineers
  • Mentorship impact improves engineers across multiple teams

Salary band

When we’re speaking about compensation, we mean the money you take home before taxes. We’ve seen companies doing tricks to artificially inflate the compensation package by adding stocks, perks, and even vacation days (!) in the total compensation.

When we make an offer to someone, it includes their seniority level, their salary before taxes, and their equity package. We also include the benefits – these are the same for everyone in the company.

SeniorityCompensation range
Junior€45,000 – €55,000
Early Mid€60,000 – €65,000
Mid€65,000 – €70,000
Senior€75,000 – €90,000
Staff-

Our salary band reflects what the industry pays a software engineer in Berlin. This is our home base, even though most of the team works remotely.

We review the salary band every year by using the open industry reports. The one in particular that we pay attention to is Rocket X, but we also take into account such sources like levels.fyi and figures.hr.

Related resources