We use cookies. Find out more about it here. By continuing to browse this site you are agreeing to our use of cookies.
#alert
Back to search results

Staff Software Engineer

Grainger
life insurance, paid time off, tuition reimbursement, 401(k)
United States, Illinois, Chicago
Mar 01, 2025

Work Location Type:Hybrid

As a leading industrial distributor with operations primarily in North America, Japan and the United Kingdom, We Keep The World Working by serving more than 4.5 million customers worldwide with products delivered through innovative technology and deep customer relationships. With 2023 sales of $16.5 billion, we're dedicated to providing value for customers, fostering an engaging culture for team members and driving strong financial results.

Our welcoming workplace enables you to learn, grow and make a difference by keeping businesses running and their people safe. As a 2024 Glassdoor Best Place to Work and a Great Place to Work-Certified company, we're looking for passionate people to join our team as we continue leading the industry over our next 100 years.

Compensation

The anticipated base pay compensation range for this position is$120,400.00 to$200,700.00.

Rewards and Benefits:

With benefits starting on day one, our programs provide choice and flexibility to meet team members' individual needs, including:

  • Medical, dental, vision, and life insurance plans with coverage starting on day one of employment and 6 free sessions each year with a licensed therapist to support your emotional wellbeing.
  • 18 paid time off (PTO) days annually for full-time employees (accrual prorated based on employment start date) and 6 company holidays per year.
  • 6% company contribution to a 401(k) Retirement Savings Plan each pay period, no employee contribution required.
  • Employee discounts, tuition reimbursement, student loan refinancing and free access to financial counseling, education, and tools.
  • Maternity support programs, nursing benefits, and up to 14 weeks paid leave for birth parents and up to 4 weeks paid leave for non-birth parents.

For additional information and details regarding Grainger's benefits, please click on the link below:

https://experience100.ehr.com/grainger/Home/Tools-Resources/Key-Resources/New-Hire

The pay range provided above is not a guarantee of compensation. The range reflects the potential base pay for this role at the time of this posting based on the job grade for this position. Individual base pay compensation will depend, in part, on factors such as geographic work location and relevant experience and skills.

The anticipated compensation range described above is subject to change and the compensation ultimately paid may be higher or lower than the range described above.

Grainger reserves the right to amend, modify, or terminate its compensation and benefit programs in its sole discretion at any time, consistent with applicable law.

Position details:

You will work as a Staff engineer on a Customer Order team. The team is responsible for largely three things:

  1. Make orders searchable across multiple channels via a HTTP API, for example https://www.grainger.com/myaccount/orderhistory#orderHistory.We see our customers order from their Order history and these "re-orders" account for ~6% of order revenue.

  1. Provide updates about Orders via Kafka events. This supports various systems like sending you an update email about your order!

  1. Curate Order data from across our ordering ecosystem for operational and analytical use. This enables the organization to use data-driven insight in the prioritization of work.

To give you a perspective of our scale, we work with 100,000+ Kafka messages a day, 7 years of Order data, millions of user accounts. We deploy Spring Boot/Kotlin microservices, leverage most of the Kafka APIs, and work with Databricks/Snowflake to curate our data.

We are looking for a team player and a curious mind. Someone who will enrich our systems and the people around them. We want people who are excited about how their work impacts customers. Placing orders is at the core of Grainger's business and we own an important part in that interaction with customers. If you are eager to learn, bring a growth mindset and humble attitude you might be what we are looking for.

You will:

  • Write Kotlin and Python code largely using a TDD paradigm.

  • Deploy containers to Kubernetes and leverage other cloud-native systems leveraging infrastructure as code.

  • Elevate the careers of the engineers around you.

  • Deliver software using continuous delivery and continuous integration.

  • Architect solutions for the team like how we partition our data or more intelligently stream events in our system.

  • Be responsible for negotiating things like an API contract with upstream and downstream teams.

  • Influence engineering pattern across your partner domain teams.

  • Provide feedback to everyone on your team to enable team cohesion and growth

You have:

  • Setup and debugged a build pipeline.

  • Meaningfully impacted another person's career.

  • Experience writing tests, specifically the usage of TDD.

  • Tuned the throughput of a stressed system, ideally Kafka was involved.

  • Architected a solution. This could be a system or specific solution architecture. We might ask about your process, and the trade-offs considerations.

  • Pair programming of some style in your toolbelt.

  • Worked on a team that had stakeholders that were not engineers.

  • Debugged and fixed a broken system in production.

  • Been the technical lead on a team.

  • Used observability, monitoring, and performance test tooling.

  • Worked with both JVM and interpreted languages.

  • Deployed containers to Kubernetes and understand the basic levers provided.

  • Implemented a technical pattern with a team and can tell us how you convinced them it was a good idea.

  • Experience manipulating large volumes of data, on the order of TBs.

  • Used domain driven design in your code.

  • Designed or have depth with API design. This could be events, http APIs, etc.

  • As a bonus, CKAD certificate or have a deeper understanding of container orchestration.

  • As a bonus, experience or a deeper understanding of tuning Kafka and event design.

  • As a bonus, experience with PySpark or other large-scale data processing tools.

  • As a bonus, experience with Solr or other search systems.

  • As a bonus, explain the difference between @Component and @Service in Spring Boot.

We are committed to equal employment opportunity regardless of race, color, ancestry, religion, sex, national origin, sexual orientation, age, citizenship, marital status, disability, gender, gender identity or expression, or veteran status. We are proud to be an equal opportunity workplace.

We are committed to fostering an inclusive, accessible 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. With this in mind, should you need a reasonable accommodation during the application and selection process, please advise us so that we can provide appropriate assistance.

Applied = 0

(web-b798c7cf6-l9rr9)