About the role
The Senior Software Engineer - iOS will be responsible for designing, developing, and maintaining high-quality iOS applications that power Williams-Sonoma's mobile commerce experiences. This role requires strong hands-on development skills, architectural understanding, and close collaboration with Product, UX, Backend, and Quality Engineering teams to deliver scalable, secure, and high-performing mobile solutions.
Responsibilities:
- Design, develop, and maintain iOS applications using Swift and modern iOS frameworks.
- Build scalable, reusable, and maintainable components following best practices and architectural patterns such as MVVM and Clean Architecture.
- Collaborate with Product, UX, Backend, and QA teams to translate business requirements into high-quality mobile solutions.
- Own features end-to-end, including technical design, development, testing, release, and post-release support.
- Ensure high standards of code quality, performance, security, and reliability.
- Participate in code reviews and contribute to continuous improvement of engineering standards.
- Optimise application performance, memory usage, and responsiveness.
- Integrate applications with RESTful APIs and backend services.
- Monitor production issues, troubleshoot defects, and support incident resolution.
- Contribute to CI/CD pipelines, automated testing, and release processes.
- Stay current with iOS platform advancements and recommend adoption of new technologies and frameworks.
- Mentor junior engineers and contribute to knowledge sharing within the team.
Requirements:
- Bachelor's degree in Computer Science, Engineering, or a related field.
- 6+ years of professional software development experience with a strong focus on iOS development.
- Hands-on expertise in Swift and iOS SDKs.
- Strong understanding of the iOS application lifecycle, memory management, and performance optimisation.
- Experience with architectural patterns such as MVVM and Clean Architecture.
- Experience integrating RESTful APIs and handling asynchronous programming.
- Proficiency with Git and standard CI/CD workflows.
- Experience with unit testing, UI testing, and test automation.
- Strong problem-solving, communication, and collaboration skills.
- Ability to work effectively in a fast-paced, agile development environment.