Software Developer Team Lead
Think insurance shopping is painful and time-consuming? We thought so too. That is why we built jerry.ai to create the easiest experience for our users. Enabled by disruptive technologies, jerry.ai aims for the one-click user experience in financial product offerings which traditionally requires users to fill out long forms.
Based in Silicon Valley, we are looking for engineer talents to join our office in Canada. We are backed by Y-combinator, SV Angel, Funders Club, and many other prominent Silicon Valley Investors. Jerry.ai is founded by serial entrepreneurs who previously built and scaled YourMechanic (“Uber for car repair,” the nation’s largest on-demand car repair site).
About the role:
We are looking for an experienced technical leader with a strong software development background and a keen interest in building and running an efficient engineering team. Ideal candidate would have held a Lead Engineer / Principal Engineer / Software Architect position, and manage a team of middle-tier and junior engineers.
Our technical stack:
- GraphQL API (no REST)
- PostgreSQL DB (transactional)
- ClickHouse (columnar DB for data warehousing)
- Redis (session storage, task queue management)
- Sequelize ORM (will deprecate and replace with Prisma)
- Jest test runner
- Infrastructure: Docker images orchestrated with Kubernetes, Ksonnet. Currently all hosted on AWS.
- B.S. degree in Computer Science or related discipline.
- 8+ years of experience as software engineer.
- Strong software development fundamentals (data structures, algorithms, etc.).
- Intimate knowledge of JS ecosystem (tooling, libraries, etc.).
- Expert level familiarity with React (web frontend, server side rendering, and React Native on mobile platforms).
- Deep understanding of performance implications and scalability of code.
- Experience with large, complex code bases and know how to maintain them.
- Experience with GraphQL and Apollo a big plus.
- Spend 70% of time managing and mentoring team members, and 30% of time working on product development.
- Assist with recruitment, interviewing, and hiring new team members.
- Provide guidance to team members in making design decisions.
- Be the gatekeeper of the codebase and ensure that it stays stable, readable, and free of technical debt.
- Assist with defining and prioritizing development tasks, and assigning engineering resources to them.
- Hold regular 1-on-1s with team members to ensure that they are happy, satisfied, and productive.