Overview
One question engineers often ask when they are considering joining Warp is “how do engineers at Warp grow?”
Unpacking this a bit, the two most common underlying meanings of “growth” are:
- Personal growth: how does Warp foster an environment where engineers can increase their skills and knowledge, helping prepare them for bigger challenges and more responsibilities as their careers progress?
- Title, responsibility and comp growth: How do engineers get promoted at Warp?
This doc focuses on personal growth – as we do not yet have a formal promotion process and ladder. We plan on adding a ladder once the company has around 20 engineers. We will do this while trying not to create a promo-oriented culture.
Personal growth
Warp is a great environment in which to grow as an engineer, especially if you are interested in more than just coding (although it’s a great place to grow as a coder as well).
On the engineering side, growth comes from working closely with awesome engineers on very challenging technical projects.
- Tech designs - we have a strong culture of engineering design and design review - most significant projects start with a technical doc. You can see some of our technical blog posts here.
- Code review - we emphasize code review as a primary tool for improving coding skills – you’ll definitely improve as an engineer from having Chuck review a Rust PR :)
- Product-orientation - we approach building from the standpoint of solving user problems – every thing you work on ultimately comes back to helping a user get more done
- And much more…we document our engineering practices in How We Code.
All engineers on the team are exposed to the full product life-cycle, including:
- User interaction - conducting user interviews, helping triage feedback, participating in UX research sessions
- Feature development - gathering requirements, writing PRDs, working with our design team to develop mocks, figuring out what success means for the feature,
- Coding - obviously
- Product roadmap - helping weigh different features against each other, figuring out when to build what, brainstorming new ideas through design sessions