Design and implement modular backend services in Node and TypeScript with clear separation between domain, application, and infrastructure layers.
Evolve our architecture toward event-driven patterns, using message buses or streaming platforms (e.g., Kafka, SNS/SQS, NATS, RabbitMQ) where asynchronous workflows add resilience and clarity.
Model domain events and asynchronous flows, establishing conventions for publishing, consuming, and versioning events across services.
Lead technical design discussions, providing guidance on boundaries, contracts, and long-term system behavior.
Improve testing strategy, emphasizing unit tests that isolate domain logic, integration tests with clear boundaries, and contract tests for APIs and events.
Contribute to modernization efforts, including refactoring legacy modules, improving observability, and reducing complexity where it adds value.
Mentor engineers through pairing and thoughtful PR reviews, modeling clear, intentional engineering practices.
Evaluate tools and frameworks with a focus on long-term stewardship, maintainability, and operational simplicity.
Requirements
5+ years of professional experience in software engineering, with expertise in Node.js and TypeScript, including building and maintaining large-scale systems.
Strong architectural thinking, with an ability to design systems around clear boundaries, domain models, and well-defined contracts.
Demonstrated experience with event-driven architectures, including message buses, pub/sub systems, or streaming platforms.
Deep understanding of asynchronous workflows, domain events, idempotency, and patterns for resilience and eventual consistency.
Proficiency working across frontend frameworks (Angular, React, Next.js) and collaborating on shared patterns and interfaces.
Hands-on experience with multiple persistence approaches (MongoDB, Redis, etc.) and the judgment to choose the right tool for the domain.
Strong testing instincts, including designing testable modules and building reliable test suites that don’t depend on fragile infrastructure.
A collaborative, mentoring mindset, with the ability to elevate others through clarity, example, and calm technical leadership.
Background in SaaS or product-focused engineering.
Experience working in a dynamic, fast-growing organization.
Tech Stack
Angular
JavaScript
Kafka
MongoDB
Next.js
Node.js
RabbitMQ
React
Redis
TypeScript
Benefits
paid time off
paid holidays (including an extended end-of-year break and Summer Fridays)
100% employer-paid medical, dental, and vision coverage