W.W. Grainger - Lake Forest, IL
posted 3 months ago
The Senior Software Engineer - Java position at Grainger is a critical role within the Product Information Management group. This team is responsible for developing, supporting, and enhancing a suite of Java applications that manage product data across Grainger's operations in the US, Canada, and Mexico. The primary goal of this role is to contribute to the development and configuration of the Product Information Management system, which encompasses workflows, business rules, security protocols, and the production of paper catalogs. Additionally, the engineer will be involved in the development and support of various applications, including the New Product Introduction Web Application, STEP Portal, Asset Tool, and Integrated Product Viewer. This position is hybrid, requiring onsite presence in either Lake Forest, IL, or Chicago, IL. In this role, you will engage with various layers of the technology stack to enhance backend services and build user interfaces. You will work with a range of technologies, including Java, Oracle, PostgreSQL, Kubernetes, React, Next.js, Kafka, and AWS cloud services (such as S3 and EKS). Collaboration is key, as you will be expected to build both front-end and back-end components of the systems, support the systems you develop as part of an on-call rotation, and contribute to the CI/CD pipelines. The position emphasizes a culture of continuous improvement, encouraging pair programming and experimentation with workflows to enhance productivity and quality. The ideal candidate will have a strong focus on delivering high-quality functionality quickly, with a user-centric approach to product development. You will be expected to have a deep understanding of REST and HTTP, robust API development, and distributed system design. Experience with cloud-native design patterns and production support is essential, as is a commitment to quality and ownership in your work. Grainger values team members who can navigate obstacles and drive tasks to completion, ensuring that the systems built are reliable and effective for users.