
Senior iOS Software Engineer
Grainger
full-time
Posted on:
Location Type: Hybrid
Location: Chicago • Illinois • United States
Visit company websiteExplore more
Salary
💰 $112,900 - $188,100 per year
Job Level
About the role
- Join the Sales Enablement Mobile Team, contributing to the development of iOS mobile tools that empower our Sellers to better serve the ones who get it done.
- Play a pivotal role in shaping the mobile user experience and building scalable, high-performance mobile applications that streamline how Sellers engage Customers and their team members while on the go.
- Partner with cross-functional stakeholders to build, evolve, and modernize Grainger’s digital experience, with a strong focus on quality, performance, and long-term maintainability.
- Design and develop responsive, accessible, and performant UI applications using Swift, SwiftUI.
- Collaborate in the design and development of APIs that support the mobile application, leveraging Python.
- Mentor and elevate engineers through technical deep-dives, design reviews, and code walkthroughs.
- Drive continuous delivery practices by improving CI/CD pipelines, test strategies, and build automation.
- Instrument applications for performance and proactively address tech improvements and system health.
- Advocate for and implement best practices in front-end engineering, including component reusability, separation of concerns, and performance optimization.
- Champion Grainger’s strong engineering culture by modeling sensible defaults: Lead by example in delivering small, iterative stories using trunk-based development.
- Foster a culture of pairing, shared ownership of quality, and test-driven development (TDD).
- Promote fast builds, automated deployments, and production-ready code with built-in observability, resilience and security.
Requirements
- 5+ years of professional experience in software engineering with a strong focus on native iOS application development.
- Experience building component-based architectures.
- Proven ability to drive engineering quality through unit testing, shared ownership, and clean code practices using tools such as XCTest, Swift Testing, XCUITest, or Espresso.
- Experience collaborating across teams to implement observability standards that support production readiness, faster debugging, and proactive system health monitoring using tools like DataDog, Splunk etc.
- Solid understanding of Backend-for-Frontend (BFF) patterns and best practices for designing and securing APIs.
- Hands-on experience in CI/CD environments (e.g., GitHub Actions), with a strong understanding of deployment pipelines and version control workflows.
- Proven track record of rapidly advancing early-stage iOS applications from concept to production.
- Passion for user experience and attention to detail in design execution.
- Cloud platform experience (AWS) and containerization basics (Docker, Kubernetes).
Benefits
- 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.
Applicant Tracking System Keywords
Tip: use these terms in your resume and cover letter to boost ATS matches.
Hard Skills & Tools
iOS application developmentSwiftSwiftUIPythonCI/CDunit testingclean code practicesBackend-for-Frontend (BFF)API designcontainerization
Soft Skills
mentoringcollaborationengineering qualityattention to detailuser experienceshared ownershipadvocacy for best practicesleadershipiterative developmentpair programming