What You'll Do:
- Work within our product teams to design, estimate, and build new features
- Quickly distill product requirements into tangible engineering tasks
- Produce high-quality, well-documented, and well-tested code
- Help shape our engineering culture by coming up with ideas, tools, and infrastructure wherever you see a problem to be solved
- Explore new technologies in the restaurant and hospitality industry
- Collaborate with Product, Design, and Engineering teams to establish and drive the product vision
Who You Are:
- You have extensive experience with Swift
- You have some experience with SwiftUI
- You have a great understanding of one or more software architecture patterns, preferably MVVM
- You have demonstrated skills in delivering high-quality code that is well-documented, well-tested, and highly maintainable
- You have experience working with designers and product managers
- You keep up to date with the state-of-the-art of iOS development
- You are willing to learn new technologies and you effectively use them
- You have a strong sense of responsibility and ownership for your own work
- You enjoy offering help and are not shy about seeking help
- To put it simply: you care. You care about your work, your codebase, your app, your career growth, your team's culture and future, and our collective efforts in building world-class software in a world-class engineering team!
How You Will Make an Impact in This Role:
- Build iOS applications with an eye for detail and excellence
- Use dependency management and build tools such as xcodebuild, GitHub Actions, Swift Package Manager, CocoaPods, Tuist
- Proactively find and fix bugs
- Do performance analysis and optimization
- Understand the pyramid of testing and know how and when to use unit, integration, and UI tests
- Design solutions for open ended problems
- Collaborate with designers and product managers, and give them feedback to help achieve intuitive UX with pixel-perfect UI and polished animations
- Help your teammates by reviewing their pull requests, answering their questions, unblocking them when they are stuck
- Create opportunities to brainstorm, share different perspectives, and seek different opinions to help achieve the best possible engineering solution
- Look beyond what is on your plate for the active sprint and pay attention to what others in your own team and the larger engineering organization is building
- Keep an eye on what is coming down the pipeline on the roadmap and get a good grasp of the company and product vision
Minimum Qualifications:
- 7+ years of software development experience
- 4+ years of iOS development experience
- Preferably a BS or MS degree in computer science, computer engineering, or other technical discipline (or equivalent work experience)
Technologies That You Will Encounter on Our Mobile Team:
These are technologies you will encounter as an iOS Engineer.
- Swift
- Objective-C (very limited legacy code)
- UIKit
- SwiftUI
- MVVM
- REST APIs
- XCTest / XCUITest
- SwiftLint
- Swift Package Manager (SPM)
- CocoaPods
- Realm
- Combine
- PromiseKit
- Jenkins
- GitHub Actions
- TestFlight
- Firebase
- Postman
- Figma
- Jira
- Confluence