This role is primarily an iOS developer who will be working on native mobile apps and components for 90 million customers and 35 thousand employees. A successful candidate will have a strong computer science background, and deep knowledge of functional programming in Swift and/or experience in other functional programming languages.
location: Portland, Oregon
job type: Contract
salary: $62 - 72 per hour
work hours: 8am to 5pm
The ideal candidate is well along on a technical career path, moving towards an IT Principal role in the long run.
- Create intuitive, custom UI controls and interfaces that match our great user experience.
- Work on API integration to evolve application capabilities.
- Collaborate with cross-functional teams to define, design, and ship new features.
- Write unit and acceptance tests to validate robustness, including edge cases, usability, and general reliability.
- Be a role model for iOS engineers on the team, providing deep iOS expertise and coaching.
- Identify short and long-term opportunities in our mobile technology platform that will drive improvements in performance, scalability, reliability and re-usability.
- Troubleshoot production problems, when requested, and ensure that a proper resolution is identified and implemented in a timely manner.
qualifications: Technical Skills
Culture and Team Fit
- Thorough knowledge of iOS design elements and mastery of the Swift language.
- Experience with Reactive programming in RxSwift
- Experience working JSON via RESTful interface.
- Experience with mobile push notifications.
- Solid working knowledge of the iOS runtime, Xcode IDE and OS X development tool-chain.
- Experience/interest in location based services.
- Strong foundation in computer science and software design/architecture.
- Passion for ensuring high quality architecture and customer experience.
- Prior experience designing and launching highly rated native iOS apps to a large consumer audience is a big plus.
- Collaborate with other team members in a humble and open source manner and value team contributions over individual contributions
- Communicate with other team members on your intentions and your issues so we can help when you need it and so we can all benefit from your insights.
- Design robust solutions to hard problems that also take into account scale, security, reliability, and cost.
- Document what gets built so others can carry the torch while you are on your much deserved vacation.
- Know the process of software development so well you can do it in your sleep.
- Test what you build...in fact we want you to write tests first...if you can!
- Re-use what we already have built - unless you have a better idea...in which case...be vocal and demonstrate why your solution is better/faster/cheaper.
skills: Other helpful skills / experience:
- Test Automation Tools. Ideal candidate has worked with Functional and Unit test based frameworks to develop automated tests (Jasmine, Cucumber, etc)
- Continuous Integration (CI) / Continuous Deployments (CD). Ideal candidate has worked on projects with CI/CD tools (Ansible, Jenkins, Bamboo, Gitlab-CI, etc)
- Container Technologies. Ideal candidate has worked on projects with container based solutions (Docker, CoreOS, etc)
- Reactive Programming. Our team uses Reactive Programming techniques in our mobile application and candidates would do well to familiarize themselves or have experience with Reactive.
Equal Opportunity Employer: Race, Color, Religion, Sex, Sexual Orientation, Gender Identity, National Origin, Age, Genetic Information, Disability, Protected Veteran Status, or any other legally protected group status.