Senior Principal Full Stack Engineer

Job description

About the team and role:

The Forem team is about 40 individuals from all over the world. In total approximately 87% of folks come from underrepresented backgrounds. Specifically for the engineering team, 74% of the team is from an underrepresented group in tech. Learn more here:

We are looking for a Senior Principal Full Stack Engineer. This individual will be responsible for providing technical leadership for all areas of the codebase from application (frontend and backend) to caching to storage to the infrastructure it sits on and the tools we use to monitor it. Key initiatives for this role include establishing code standards and patterns collaboratively, recognizing our areas of key tech debt, and remaining apprised of any tradeoffs or concerns related to performance and stability. Providing constructive code reviews, mentoring, and empowering software engineers at every level, this role is a go-to for upskilling anyone on the engineering team. Additionally, this person will report to and work directly with the Head of Engineering on high priority and impactful engineering initiatives that affect the entire department and company. The salary range for this role starts at $230,000 - $249,000 plus equity and is not location-based.


Primary Responsibilities

  • Review code to provide thoughtful and constructive feedback

  • Scope, estimate, and deliver complex features that are high quality, supported, tested, and well-documented

  • Document, raise, and facilitate critical conversations around code standards and patterns, tech debt, performance, reliability, and stability

  • Mentor team members to ensure career growth and progression

  • Work with the Head of Engineering to cultivate a culture of technical excellence, learning, empowerment, and celebration

  • Define, scope, prioritize, and estimate work collaboratively with teammates, product, and design counterparts

  • Support and empower others in engineering execution and technical/architectural decision making

  • Join critical customer conversations, as needed, to hear pain points and provide thoughtful technical context

Skills or Experience we’d like to see

  • 8+ years experience with Ruby on Rails

  • 5+ years experience with Javascript including vanilla javascript and React. Preact is a plus.

  • Direct experience or strong familiarity with infrastructure systems and architecture, orchestration or configuration management tools, and containerized systems

  • Ability to troubleshoot all the way down the stack

  • Experience working in an asynchronous, distributed team

  • High degree of empathy

  • Interest or experience in open source software and/or the open source community

  • Passionate about finding and introducing good engineering practices, code standards, processes, and documentation

  • Passionate about mentoring and growing engineers as well as giving and receiving feedback

  • Thrives in a fast-paced start-up environment

  • Ability to work independently and as part of a collaborative team

  • Strong communication skills and ability to interact with all levels in the organization


Work/life balance and ensuring that folks have what they need for working and for life is incredibly important to us. Below are some of the benefits we offer:

  • Unlimited PTO with a minimum requirement

  • Generous employee equity

  • A remote-first, fully-distributed team that encourages schedule flexibility

  • A monthly wellness stipend to keep you at your peak

  • Free mental health services

  • Medical, Dental, and Vision coverage (U.S. only)

  • An annual professional development budget to keep you learning and growing

  • Office setup budget and monthly Coworking stipend to make sure you have everything you need to work effectively wherever you are

  • 401K (U.S. Only)

Interview process
We want our candidates to have the best possible interview experience because this is as much about you finding the right fit as it is us finding a great new addition to the team. We value candidates from all backgrounds and experiences and want our interview process to be representative of that. Here is what you can expect:

  • Application review. Our application involves more questions up front so that we can get to know you better right from the get-go

  • Round 1: hiring manager interview with the Head of Engineering

  • Round 2: a short (90 minute) take-home that is meant to mimic real-life work and provide fodder for a synchronous technical conversation.

  • Round 3: Team interview covering your technical experience and talking through your take-home submission

  • Round 4: Team interview covering your core skills around communication, mentorship, and feedback

  • Round 5: wrap up. This is primarily a chance for you to ask any final questions you have about the role, team, or company.

We provide feedback for any candidate that participated in round 1 and beyond so that if Forem isn’t a good fit, you know why.