About the job
Join us as we revolutionize the order processing landscape with our new marketplace platform, enhancing the integration of sales channels and modernizing order fulfillment. Our innovative platform is set to replace a legacy monolithic system with specialized services tailored for seamless channel integration.
As a Senior Software Engineer, you will steer the technical vision and execution of this groundbreaking platform from the outset. You will lead a dedicated team through the initial stages of development and transition into leading two permanent squads as they blend with the existing marketplace team.
This position is a unique dual-track opportunity: you will spearhead the development of a greenfield platform while ensuring the effective oversight of a legacy system during the migration process. You will also be at the forefront of implementing AI-driven development practices, incorporating AI pair programming into the team's daily workflow.
Your Responsibilities
Technical Leadership
- Architect and evaluate event-driven distributed systems across platform services.
- Establish API contracts, messaging topology (SNS/SQS), and database schemas (PostgreSQL).
- Define architectural patterns such as adapter-based channel integration and state machine-driven fulfillment workflows.
- Critically assess AI-generated code to ensure quality, security, and long-term maintainability.
- Make key technical decisions that balance rapid delivery with sustainable practices.
Delivery & Process
- Oversee the platform delivery process from design to production deployment.
- Facilitate efficient sprint cycles with clearly defined objectives and retrospectives.
- Implement code review protocols, CI/CD pipelines, and deployment strategies.
- Establish on-call schedules, incident management procedures, and runbook documentation.
- Coordinate knowledge transfer from the current team throughout the build phase.
Team Development & Growth
- Assemble and lead the new platform team, guiding them from onboarding to production launch.
- Post-launch, unify the new and existing teams into two specialized squads.
- Mentor . NET developers as they transition to the TypeScript stack.
- Provide architectural oversight across both squads as they evolve.
