Senior Software Engineer I, Java - Digital Commerce
Lululemon
Who we are
lululemon is an innovative performance apparel company for yoga, running, training, and other athletic pursuits. Setting the bar in technical fabrics and functional design, we create transformational products and experiences that support people in moving, growing, connecting, and being well. We owe our success to our innovative product, emphasis on stores, commitment to our people, and the incredible connections we make in every community we're in. As a company, we focus on creating positive change to build a healthier, thriving future. In particular, that includes creating an equitable, inclusive and growth-focused environment for our people.
About this team
lululemon Engineering is dedicated to building secure, reliable, and performant products for our guests and partners. We embrace the philosophies of Agile, DevOps, and SRE to accelerate our development process and provide the most enjoyable, inclusive, and supportive work environment possible. We believe our journey is more fun when it is collaborative, as we focus on the future instead of the past. As an Engineer, you will work as part of a global team supported by our business and architecture partners to help us collaboratively develop and deliver industry leading technology solutions that drive lululemon’s business goals. This role specifically is in the Portfolio, Applications, Commerce and Transactions team which supports lululemon’s Digital Commerce & Omni-channel fulfillment experience across geographies with varying technologies. This team is also in the process of transforming a traditional monolith architecture to a cloud native service architecture.
A day in the life:
As a Senior Software Engineer focusing on microservices development, you will bring a high level of technical knowledge as well as strong mentoring abilities. You will implement microservices with test automation using BDD to ensure the product quality of a highly scalable cloud native solution. You will be counted on as a leader in your technology space, as you contribute to all areas of development and operations (pre-production to production). Senior Engineers take production readiness and performance personally and help drive continuous improvement. You will be part of a day-to-day production release team and may perform on-call support functions as needed. You will be considered a primary caretaker of the production system(s) you work on and focus on how your product(s) are delivered and how to optimize them for efficiency, security, resiliency, and reliability.
- Design, develop, maintain, and test microservices with a focus on BDD, contract testing and unit testing.
- Act as a main contributor in Agile ceremonies
- Provide mentorship to other engineers
- Conduct research to aid in product troubleshooting and optimization efforts
- Conduct research to guide product development and tools selection
- Provide an escalation point and participate in on-call support rotations
- Actively monitor key metrics, reports on trends, and make improvement recommendations
- Participate in our Engineering Community of Practice
- Contribute to project engineering design and standards verification
- Perform reliability monitoring and support as needed to ensure products meet guest expectations
Qualifications:
- Completed Bachelor’s degree or diploma (or equivalent experience) in Computer Science, Software Engineering or Software Architecture preferred; candidates with substantial and relevant industry experience are also eligible
- 5+ years of engineering experience
- 3+ years of working experience with Java Spring Boot, Spring Cloud, and Spring Data framework developing microservices for a cloud-native solution
- Experience with BDD testing of microservices using Cucumber, as well as using mocking HTTP API simulators such as Wire Mock a plus.
- Experience with contract testing using tools like Pact is considered a plus
- Working knowledge of pub/sub systems such as Kafka, SQS, and Webhooks
- Working knowledge of AWS cloud technologies such as EKS, S3, DynamoDB, SNS, CloudWatch etc.
- Working knowledge of reactive programming
- Experience with containerization, Docker, Kubernetes etc. are a plus
- Experience with NoSQL DBs such as Dynamo DB and MongoDB is a plus
- Advanced understanding of web technologies (HTTP, SSL, Headers, Cookies, TCP, Caching)
- Knowledge of CI/CD principles and best practices.
- Experience developing solutions for retail or eCommerce businesses and other relevant domains such as manufacturing & logistics, supply chain, or corporate shared services is nice to have
- Ability to analyze and interpret data using software analytics services such as New Relic to monitor services and diagnose problems