Grainger is a leading broad line distributor with operations primarily in North America, and they are seeking a Staff Software Engineer to join their KeepStock engineering team. This role focuses on developing and managing IoT-based inventory management solutions, requiring collaboration with various stakeholders and the implementation of high-quality software practices.
Responsibilities:
- Write code in in Python, Rust, TypeScript/JavaScript, Kotlin & Bash
- Deploy working software to production early and often using containerized deployments, infrastructure as code, pipeline as code, and feature flagging techniques
- Use XP engineering practices like pair programming, TDD, refactoring and more to ensure we’re writing high-quality software in a sustainable way
- Write automated tests using modern tools (e.g., pytest, tox, jest, or pact)
- Mentor junior engineers
- Collaborate with your Tech Lead, Engineering Manager, Product Manager, and UX to make sure requirements are clear and we’re taking the best technical approaches
- Work in a collaborative team environment with a focus on continuous improvement and learning
Requirements:
- 5+ years' experience as a Software Engineer
- Bachelor's degree in computer science, related field, or equivalent experience
- Experience deploying software to the public cloud (AWS (Preferred), GCP, or Azure)
- Proficient in Python and Rust
- Experience with Typescript/JavaScript, Kotlin, & Bash
- Comfortable navigating and managing Linux systems
- Familiarity with IoT systems