Experience building scalable services and distributed systems in Java or similar object-oriented language
Experience driving technical designs within a team
Experience writing code that is readable, scalable, and instrumented
Experience working in a fast-paced Agile development environment
Experience in communicating with users, other technical teams, and product to understand requirements, describe software product features and technical designs
Java & Spring Boot expertise
Experience with a microservice environment
Kafka, RabbitMQ, ActiveMQ or similar tech
RESTful APIs for synchronous flows
MySQL DB
Mongo DB or similar NoSql database
Experience with Kubernetes or any cloud development platforms
Responsibilities:
Design solutions for complex technical and business problems
Develop software systems and components for our rapidly growing business
Write performant, maintainable code while iterating and shipping rapidly
Work within our backend architecture and technology stack based on:
Java 17 or higher with Project Reactor (Reactive Java)
Spring Boot
Command and Query Responsibility Separation (CQRS) architecture and Event Sourcing (ES)
Full microservice environment
RESTful APIs for synchronous flows
Event-driven design (powered by CQRS and ES) for async flows
Webhooks and Server-sent events
Axon Framework for intra-domain event-driven design
Kafka for inter-domain event-driven design
Kubernetes, Helm charts, Argo platform
MySQL DB
Mongo DB
AWS solutions (EC2, RDS, etc.)
Author and maintain unit and integration tests
Work with your Scrum team to plan sprints and delivery of features
Drive engineering excellence, operational stability and security into all layers of the platform
Participate in design and architecture discussions and planning
Drive the execution and delivery of features by collaborating with cross functional stakeholders
Work with Engineering Leadership to drive best practices in software development, testing, and production operations
Mentor other engineers, helping them grow in their careers
Contribute to recruiting efforts to continue to build your team