Full Stack Engineers are primarily responsible for bringing our best ideas and products to life. You will collaborate with our CEO, CTO, product managers, and other engineers to architect, build, test, evolve, and maintain existing and entirely new applications. This will include developing and testing REST and GraphQL APIs, 3rd party integrations, user interfaces, containerized microservices, shared libraries and utilities, database views and functions, terraform modules, and more.
Client embraces DevOps as a culture. As such, you will be responsible for ensuring the stability of the systems you build in production. You will need to author contributions that can be safely and automatically promoted from development to production. Your services and applications must be instrumented with logging, tracing, and metrics to ensure they are diagnosable and monitored continuously for failure. You will be responsible for configuring and responding to actionable alerts when issues occur.
As a Full Stack Engineer, you’ll be uniquely positioned to cross-pollinate knowledge and good ideas, as well as escalate risks and problems that others just don’t see. You will regularly teach other members of the team new skills and concepts, widening their technical awareness. Part of your job is to make everyone a little more full-stack than they were before. We develop meaningful and lasting relationships through open and honest communication. Client employees give and receive transparent feedback. Expect to be challenged and to challenge others. Bring big issues to the surface so they can be addressed. Your full-stack thinking should extend beyond technical domains – we want you to be able to consistently see the big picture and contribute to excellent thinking overall – be it sound technical choices, good product ideas, or improvements to processes and culture.
- 10+ years of experience in software engineering individual contributor role
- Our Full Stack Engineers are the Navy Seals of the engineering team, the title reserved for those most eager and able to acquire the technical breadth necessary, without compromising much on depth. We’re not going to rule you out if you’re a solid Full Stack engineer with gaps in our tech stack, but experience with the following would be a great starting point: Infrastructure (AWS, Docker, Lambda, ECS, terraform), Front-end (Typescript/React.JS, Apollo, CSS, cypress), Back-end (Microservices, REST, GraphQL, Kotlin/Springboot, Hasura/Haskell, Python, PostgreSQL, Redis, Kafka), Integrations / 3rd Party REST APIs (Salesforce, JIRA, Google Calendar/Outlook, Slack, Zendesk), Observability (Splunk/SignalFX, Sentry, VictorOps), CI/CD (github, circleCI), Authentication/Authorization standards like SAML, OIDC, OAuth2.0, Application Security (OWASP)
- Technical Visionary. You must be able to own entire systems from the ground up from idea to production. The ideal candidate will be able to visualize and communicate alternative designs for how systems should be constructed, evaluate tradeoffs / build consensus around the best solution, and have the ability to contribute high quality code across the entire stack. Experience authoring maintainable, resilient distributed web and mobile applications is ideal. You will need to quickly identify, triage, diagnose, and resolve bugs, performance issues and bottlenecks across a distributed stack. Know how to design, build, and measure a system for performance at scale.
- Product-obsessed. Ideal candidates will invest in understanding what our customers are trying to achieve and how our products work to improve the lives of various stakeholders. Never satisfied with “good enough”, the best full stack engineers have a track record of delivering intuitive, simple, and powerful products, features, and tools.
- Creative and Systematic. Can you create order from chaos? Building excellent products is not easy; it takes both creativity, and rigorous systematic thinking to drive clarity and consensus. The ideal candidate can brainstorm in the space of possibilities, and pivot quickly to synthesizing clear interfaces and acceptance criteria.
- Tenacious Problem Solver. Do you become obsessed when you encounter challenging problems? Whether it’s understanding what caused that gnarly production bug, or achieving performance improvements others believe is impossible, we’re looking for those who enjoy the challenge. Ideal candidates are systematic, scientific thinkers who can quickly figure out what’s true and what to do about it.
- Growth mindset. We need lifelong, continuous learners who crave constant improvement. Building an outstanding product and company is extremely hard, and the ideal candidate understands that the growth you will experience by taking on this challenge is the real reward