Sr. Software Engineer
The Pricing team creates the technology that supports Grainger's pricing strategy. Providing the right product at the right price is core to Grainger's growth objectives, both in terms of driving direct growth the pricing leverage, and in terms of supporting other growth drivers like marketing. The Pricing team is responsible for building and maintaining the applications and data that support deriving the right price for each product.
Our vision: Pricing in the MRO (maintenance, repair, & operations) industry is extraordinarily complex, because of the many factors that must be considered. Setting a market relevant price requires clear understanding of product, customer, and competitor dynamics. Evolving the technology to support deriving the market relevant price requires constant iteration and collaboration with our business partners. We are a highly visible and important strategic team in our pricing strategy roadmap.
You will report to the Manager, Product Engineering and will be based in Merchandise Mart office. Remote candidates will also be considered.
You Will:
- Develop, test, and deploy high-quality web applications using React, Next.js for the front end, and Java or Kotlin for the back end.
- Build reusable and scalable components and libraries for future use.
- Understand trends and emerging technologies and evaluate the performance and applicability of potential tools for our requirements.
- Optimize applications for maximum speed, scalability, and reliability.
- Partner with stakeholders including data teams, design, product and executive teams and assisting them with software and data related technical issues.
- Write clean, maintainable, and efficient code following best practices and coding standards.
- Troubleshoot, debug, and optimize existing systems to improve performance.
- Integrate with RESTful APIs and third-party services.
- Work on and enhance the CI/CD pipelines.
- Pair program with developers daily to ensure better quality code, shared knowledge and increased resiliency of our applications.
You Have:
- 7 years of experience with Modern Software Engineering projects and practices: designing, building, and deploying scalable software applications.
- 3+ years of experience in designing, building and deploying cloud native solutions.
- Experience with Docker, Kubernetes, or other containerization technologies.
- Excellent communication skills and ability to collaborate effectively with team members.
- Understanding of distributed system design and experience building production grade distributed systems.
- Hands-on experience with React.js and Next.js frameworks for front-end development.
- Solid experience with Java, Spring Boot, or similar frameworks for back-end development.
- Experience with messaging systems like Kafka.
- Experience with database technologies such PostgreSQL and/or Snowflake.
- Proven experience collaborating across teams to develop and implement software engineering best practices.
- Familiarity with version control systems (e.g., Git) and CI/CD pipelines.
- Familiarity working with data teams.
- Familiarity with Agile/Scrum methodologies and DevOps practices.
We are committed to equal employment opportunity regardless of race, color, ancestry, religion, sex (including pregnancy), national origin, sexual orientation, age, citizenship, marital status, disability, gender identity or expression, protected veteran status or any other protected characteristic under federal, state, or local law. We are proud to be an equal opportunity workplace. We are committed to fostering an inclusive, accessible work environment that includes both providing reasonable accommodations to individuals with disabilities during the application and hiring process as well as throughout the course of one's employment, should you need a reasonable accommodation during the application and selection process, including, but not limited to use of our website, any part of the application, interview or hiring process, please advise us so that we can provide appropriate assistance.