Merchstack is looking for an experienced backend engineer to help architect, build, and evolve our SaaS product on the backend. We’re seeking engineers who think about the backend in terms of systems, reuse, flexibility, and performance.
To succeed in this role, you will need a breadth of experience working in modelling data structures for data-rich applications, a passion for object-oriented design patterns and an unparalleled ability to think about individual work items, holistically across the design of the entire application.
What you’ll do
- Design and implement new GraphQL queries and mutations to either meet customer demand or UI/UX requirements.
- Contribute to the overall stability and performance of our application.
- Optimize our application for maximum speed and scalability.
- Build new data providers for Merchstack in the form of composable plugins.
- Take ownership of dependencies in our code base i.e. ensuring that we are reasonably patched.
- Work with the VP of Engineering to plan out new prospective pieces of work ahead of time, such as architectural design and infrastructure requirements.
- Work with DevOps / DBA functions to ensure that new and existing features are being backed and observed by appropriate hardware/infrastructure.
The Stack
- Typescript, NestJS
- SQL / TypeORM
- Apollo GraphQL
- ElasticSearch
- Redis
- AWS / Elastic Kubernetes Service
What we look for
- 4+ years building object-oriented data-driven applications at scale.
- Confident in leveraging relational data sources at scale, this includes but is not limited to a deep understanding of data cardinality, data structures and efficient client-side memory management for large datasets and fast-moving dimensions.
- Experience leveraging IoC containers for dependency injection, with a full understanding of the 3 main dependency injection lifecycles.
- Advanced Typescript knowledge and desire to use more advanced Typescript concepts to reduce boiler-plate.
- Will not write O(n!) code.
- Good understanding of Internet protocols: TCP/IP, HTTP, WebSocket and demonstratable web performance tuning skills
- Knowledge of the software development lifecycle (version control, tooling, testing, etc.)
- An active Github account, showcasing your own projects
- Deep experience leveraging ORMs for data modelling and data access concerns. Should understand both the pros and cons of using an ORM vs. raw queries.
- Has worked with one or all of the following: NestJS, TypeORM, Apollo GraphQL
Bonus points
- Any experience in another exclusively OOP C-like language, for instance: C# or Java.
- Elasticsearch
- Functional understanding of service-based architecture.
- Packaging container-based applications with an emphasis on small footprints.
About you
- You are detail-oriented and focus on delivering seamless, reliable experiences.
- You care about code quality and are committed to writing strongly typed, well-tested code.
- You are intrinsically motivated, able to manage your time, and enjoy working with a distributed team across the globe.
- You believe in asking for help and helping others when they ask, never throwing a problem over the wall
- You approach problems with curiosity, creativity, and flexibility.
- You strive to foster relationships in order ensure healthy debate.
- You show gratitude and give back.
Salary and compensation
$50,000 — $90,000/year
$50,000 — $90,000/year