About the role of Engineering Managers at ExpressVPN
Our Engineering Managers split their time between being an individual-contributor engineer on a team, plus being the people-manager for a few engineers. Please review our general information about engineering at ExpressVPN, including our approach to teams and people-management.
As an Engineering Manager, you'll be responsible for:
- Writing code as an engineer on a single team.
- Also being the people-manager for a few engineers. “People-manager” here means you’re responsible for helping people grow their skills and career and representing them when the company makes decisions on compensation. However, this does NOT necessarily involve directing what work they should do. That’s done in teams. This is a hugely important distinction, since it’s different from how many other companies define the role of a people-manager. Also, the people-manager is NOT necessarily on the same team as the engineers they manage. We therefore make sure that feedback flows peer-to-peer, not only via a manager.
To succeed in an Engineering Manager role, you'll need:
- Prior experience in managing people, including defining performance-expectations, holding people accountable for results, guiding skill and career development, managing under-performance, guiding decisions on compensation, and making hiring-decisions.
- An intuitive understanding of how people think and make decisions, and a personality that gets joy from helping other people grow.
- Talent as a coach. You’re able to balance nurturing with demanding speed and quality.
- Good enough engineering skills to be able to assess and guide the skill-growth of other engineers.
What's in it for me?
In addition to the reasons for joining in ExpressVPN in general, here are some key reasons for Engineers in particular:
- The people. We like to think that you'll find them open and friendly, skilled and motivated, and unified by our mission to protect the privacy and security of millions of customers world-wide.
- Impact. Deliver with both high pace and great quality. You don't need to convince people here to invest in good engineering practices.
- Skill growth. We cover a broad range of engineering specialties: many aspects of high-scale cloud applications, 7 client-side operating systems, firmware, bare-metal servers for which we compile the OS (see TrustedServer), our own open-source VPN protocol Lightway, etc. No matter what your background, you're going to find someone from whom you can learn here. That makes for interesting conversations.
- Career growth. We're lucky to be a leading company in a fast-growing industry. We're expanding the business and hiring many people, which brings many opportunities for you to evolve your role. You can rotate through teams and gain exposure to a broad range of challenges.
Responsibilities of this specific position - Engineering Manager for Routers/Firmware
You'll manage software engineers specialized in developing firmware. You'll together be on teams that build the ExpressVPN Router.
- Ensure your team has the capacity and skills to meet the needs of the Router Product Owner.
- Ensure boundaries between components of the router tech stack are well delineated - avoid monolithic stacks which require unnecessarily broad skill sets for developers.
- Ensure your custom firmware can be safely and securely installed onto a wide range of routers.
- Ensure your application can be shipped to customers at least every 2 weeks.
- Ensure your code has excellent test coverage with a strong affinity for automated testing.
- Ensure we never ship sev1/sev2 regressions, in particular regressions which lead to users bricking their routers.
- Ensure your software meets a high security bar - never ship P1/P2 security bugs.
- Ensure projects have well defined requirements, technical designs, threat models and test plans.
- Define and measure metrics for the performance of your product, set SLAs and ensure you meet them: router bandwidth, network stability, ability to get and stay connected
- Own your team's SDL processes and ensure they are simple and efficient
- Hire engineers, especially those who could work on firmware.
- Define roles and expectations, train your team and hold them accountable in meeting the highest standards.
To succeed in this role, you should have the following:
- Proven track record as a people manager. You are experienced in holding your team accountable, leading skills development and career plans, providing continual feedback to your team members, motivating them and coaching them. Nice to have but not required: experience in hiring.
- Experienced at setting goals, tracking progress towards goals and managing large projects
- Expert in C and C++ development.
- Experienced with testing frameworks such as CMocka, GTest/Gmock
- Experienced at building user space applications in a *nix environment.
- Experience with cross-compiling code, compiler toolchains and common tools in the GNU toolchain.
- Intermediate experience in IP networking, including both low-level sockets programming and high-level application layer programming.
- Excellent at writing test plans and writing automated tests.
- Passion for writing well-architected, readable code and maintainable code
- Great verbal and written communication skills
- Strong sense of ownership, great problem solver, hunger for learning and positive disposition.
- Nice to have but not required: experience with routers or embedded systems.
Thanks for your time, we look forward to hearing from you!
Please upload your resume as a PDF and do not include any compensation information.