Design and build robust, modular backend services using Node.js and TypeScript, ensuring clean separation between domain logic, application flow, and infrastructure concerns. You'll play a central role in advancing system architecture by integrating event-driven workflows that enhance resilience and clarity across distributed components.
What You'll Do
- Define and implement scalable service boundaries using domain-driven principles, with a focus on long-term maintainability and clear contracts.
- Introduce and refine asynchronous communication patterns using message buses or streaming platforms such as Kafka, SNS/SQS, NATS, or RabbitMQ.
- Establish standards for domain event modeling, including publishing, consumption, and versioning strategies across services.
- Lead technical discussions around system design, guiding decisions on modularity, data flow, and fault tolerance.
- Enhance test coverage by promoting unit, integration, and contract testing practices that isolate logic and validate interfaces reliably.
- Drive modernization initiatives such as refactoring legacy code, improving observability, and simplifying complex subsystems.
- Support junior engineers through pair programming and detailed code reviews, fostering strong engineering habits and shared ownership.
- Evaluate tools and frameworks based on sustainability, operational ease, and alignment with long-term product goals.
Requirements
- Minimum of five years of professional software development experience, with deep expertise in Node.js and TypeScript.
- Proven ability to design and evolve large-scale, maintainable systems with clear architectural boundaries.
- Hands-on experience with event-driven architectures and messaging technologies.
- Solid grasp of asynchronous processing, idempotency, and strategies for achieving eventual consistency.
- Familiarity with frontend frameworks including Angular, React, or Next.js, and experience collaborating on shared interface patterns.
- Experience working with multiple data stores such as MongoDB and Redis, and the judgment to apply them appropriately.
- Strong commitment to writing testable code and building resilient test suites independent of external systems.
- Track record of mentoring engineers and contributing to team growth through example and clear communication.
- Background in SaaS or product-centric environments.
- Adaptability to thrive in a fast-moving, evolving organization.
Benefits
- Generous paid time off and paid holidays, including an extended year-end break and Summer Fridays.
- Full employer coverage for medical, dental, and vision insurance.
- 401k plan available.
