Senior iOS Engineer
About The Role
Yello is looking for a motivated, detail-oriented individual to contribute to the next generation of our mobile applications as a Senior iOS Engineer. The ideal candidate is someone who is passionate about building quality applications, is interested in working with native code using the latest version of Swift, and is excited by the idea of developing features as part of a team. This individual will work with members of our Mobile Group to implement new functionality and will utilize modern software design patterns and development best practices.
How You'll Make An Impact
- Design, develop, and maintain high-quality features across our suite of native iOS mobile applications
- Collaborate with other Mobile Group engineers on innovative solutions to challenging problems
- Work with our Product team to help guide the overall direction and technical details of upcoming features
- Ensure the quality of new features by contributing to our automated unit and UI test suites
- Participate in code reviews to provide and receive constructive feedback on code that is in development
- Diagnose the root cause of bugs as they are reported and quickly identify an appropriate fix
- Engage in knowledge sharing and professional development with engineers both within and outside of Mobile Group
What We're Looking For
- 5 years experience of developing mobile applications
- At least 2 years experience of developing iOS applications in Xcode using Swift, either in a professional environment or on a large-scale project
- Bachelor’s Degree in Computer Science or a related field, or equivalent experience
- Excellent object-oriented coding skills and an understanding of common object-oriented design patterns
- Strong understanding of the latest version of the Swift programming language
- Comfortable with Generics, Protocols and Grand Central Dispatch (GCD)
- Experienced with using advanced features in Xcode and the iOS simulators
- Knowledge of iOS automated unit testing and UI testing frameworks
- Experience with CI, build process and automating releases to the App Store
- Experience with git and modern source control best practices
- Familiarity with REST API technologies and HTTP
- Able to identify performance issues and how to fix them
- Strong analytical skills and attention to detail
- Excellent written and verbal communication skills
- Experience with software development processes e.g. Agile, CI
- Eagerness to learn new technologies and leverage advanced development tools
- Additional Plusses
- Experience working in an Agile environment (Scrum, sprints, planning meetings)
- Understanding of Jenkins, Fastlane
- Experience with Earl Gray or other UI Testing framework
- Experienced with Dependency Injection and creating Unit Tests
- Comfortable with CoreData
- Experience with Realm
- Familiarity with the Objective-C programming language
- Experience with GraphQL
- Experience with OAuth
- Strong eye for Design, UX, UI
- Training other Engineers in iOS
Additional Information
We are the trailblazers in our space and we continually strive to learn and grow, but there is always time to celebrate a colleague's birthday or a recent success. We dress casually, have one of the best views in the city and the whole team sports Apple laptops. Our CEO Jason Weingarten and President Dan Bartfield always have their office doors open. And with opportunities for professional advancement, medical, dental and vision insurance, and a 401K match – Yello has you covered.
- Yello is an Equal Opportunity Employer. All applicants will receive consideration for employment without regard to race, color, religion, sex, pregnancy, sexual orientation, gender identity, national origin, age, protected veteran status, or disability status.
- Candidates local to Chicago are preferred.
- You must be authorized to work in the United States.
- Must be able to sit or stand for continuous periods of time
- This role frequently communicates/interacts with individuals, must have strong written and oral communication skills
- Yello reserves the right to assign or reassign the responsibilities and requirements to this job at any time