Build robust, fault-tolerant integrations with 3rd party APIs that have little to no or poor documentation.
Create sophisticated background processing pipelines that are also fault-tolerant.
Develop mature APIs and microservices that adhere to RESTful principles that are used by paying clients in production.
Write strong unit and integration tests that ensure the code quality of your work.
Investigate client issues and service disruptions that require a deep dive.
Translate high-level requirements into a system design update and new data model while collaborating with clients and team members through requirements gathering and discovery.
Evaluate the pros and cons of high level architectural choices as well as lower level design decisions required within an existing application.
Work autonomously and make system design decisions that are resistant to change leveraging your experience.
Deeply invested in your work and client happiness.
Mentor junior to mid level engineers while also holding them accountable.
Requirements
7+ years of full-time experience as a Software Engineer
BS in Computer Science or commensurate experience
Proficient in TypeScript and JavaScript programming languages
Strong experience with relational databases including schema and query design, implementation, optimization, and ORM usage
Deep understanding of Node.js semantics (event loops, streams, events, etc)
Proven track record for integrating with external APIs
Full confidence in building a fault-tolerant and high-performant microservice
Experience with background job processing, queues, etc
History of scaling and optimizing performance of applications to support rapid growth