Grainger

Senior Software Engineer

Grainger

full-time

Posted on:

Origin:  • 🇺🇸 United States • Illinois

Visit company website
AI Apply
Manual Apply

Salary

💰 $110,500 - $184,100 per year

Job Level

Senior

Tech Stack

AWSAzureCloudDistributed SystemsDockerETLGoogle Cloud PlatformJavaJavaScriptKafkaKubernetesNext.jsOpenShiftPostgresPythonReactSpringSpring BootSpringBoot

About the role

  • Senior Software Engineer at Grainger responsible for building, enhancing, and maintaining full-stack applications with emphasis on backend development and ML model integration.
  • Develop, test, and deploy high-quality backend applications using Python (preferred) and/or JVM language(s).
  • Write clean, maintainable code following best practices; troubleshoot and optimize systems.
  • Integrate with RESTful APIs and third-party services; improve CI/CD pipelines; deploy ML models.
  • Lead data management tasks including data warehouses/lakes; perform ETL; ensure data quality.
  • Mentor interns and collaborate with data/ML, design, product, and executive teams.

Requirements

  • Bachelor’s degree in Software Engineering, related degree, or relevant work experience.
  • 5 years of experience with modern software engineering projects and practices, including designing, building, and deploying scalable software applications.
  • 3+ years of experience in designing, building, and deploying cloud-native solutions.
  • Proficiency in containerization platforms (Docker, Kubernetes, or OpenShift), build automation, continuous integration/deployment, and automated monitoring.
  • Solid experience with Python (preferred), Java, Spring Boot, or similar frameworks for back-end development of APIs.
  • Proficient in RESTful API-driven design and web frameworks.
  • Familiarity with data engineering practices and event-driven architecture design principles.
  • Experience with integrating machine learning models into production applications.
  • Proficient in a cloud stack (AWS, Google Cloud Platform, Azure).
  • Understanding of large-scale distributed systems and experience building high-performance production-grade distributed systems.
  • Hands-on experience with front-end frameworks like React.js and/or Next.js.
  • Experience with data technologies such as PostgreSQL, Snowflake, or Databricks, and exposure to real-time data streaming technologies like Kafka.
  • Proficient in TDD practices, testing frameworks, version control systems (e.g., Git), and CI/CD pipelines.
  • Familiarity with Agile/Scrum methodologies and DevOps practices.
  • Ability to produce detailed, comprehensive software documentation, including testing plans, requirement specs, design docs, and technical requirements for user stories.
  • Excellent communication skills and ability to collaborate effectively with team members.