About the Role
As a Senior Software Engineer, you will play a critical role in building and evolving software to support various business functions, including sales, marketing, accounting, logistics, operations, and studio teams. We are seeking an experienced professional who is passionate about creating highly available and performant systems to join our Shop Platform team.
In this position, you'll develop a deep understanding of the e-commerce platform, working within a cross-functional agile team. You'll collaborate closely with other engineers and product managers to build, integrate, and enhance key components of the Shop Platform, which serves as the backbone of the e-commerce systems.
Your Daily Impact
- Develop UIs, APIs, and workflows for the shop platform, covering aspects like product catalog management, checkout, cart, payment processing, promotion management, order processing, logistics, and reverse logistics.
- Provide technical leadership and guidance to help evolve the shop platform to best-in-class standards.
- Write clear, testable code focused on maintainability, scalability, and performance, setting the benchmark for future microservices.
- Collaborate with peers through pair programming, leading whiteboarding sessions, team discussions, and task breakdowns.
- Drive architecture meetings, manage cross-team dependencies, and create design documents to foster a culture of learning and continuous improvement.
- Mentor other software engineers in areas such as Spring Boot, Kotlin, messaging systems, and CQRS.
- Partner with stakeholders to identify technical trade-offs and make informed decisions on technical and product matters.
What You Bring
- 6+ years of software development experience.
- 3+ years of experience contributing to the architecture and design of new and existing systems.
- A strong passion for technology, innovation, and continuous learning.
- A robust product and technical mindset.
- The ability to consistently contribute in a fast-paced, dynamic environment.
- Strong analytical and creative problem-solving skills, with the flexibility to adapt to changing business needs.
- Expert understanding of object-oriented and/or functional programming design principles.
- Solid understanding of agile, lean, and DevOps principles.
- Proven experience with Spring Boot (or Spring), Java, Postgres, AWS, GraphQL, Docker, Kubernetes.
- Acute attention to detail and a commitment to quality.
Bonus Points
- Experience migrating and evolving backend systems into cloud environments.
- Experience in e-commerce and with third-party payment gateways and/or enterprise middleware.
- Experience with Kotlin.
- Experience with e-commerce platforms such as Commercetools, Shopify, etc.
- Experience integrating and deploying to managed cloud infrastructure (AWS or GCP).
- Experience with microservices architecture and backend-for-frontend patterns.
- 1+ years of experience in financial services, e-commerce, credit card, and payment-related product operations.
- Ability to manage projects from scoping through execution and delivery.
- Participation in software engineering meetups/conferences and contributions to the engineering community.
- Contributions to open-source projects.
- Experience migrating monolithic systems to a microservices ecosystem.
- Knowledge of TDD, DDD, CQRS, and Event Sourcing.
- Experience working on systems with internationalization and localization requirements.