Software Engineer, iOS
About Your team:
Our tight-knit and collaborative mobile apps team has a strong user focus and cares a great deal about high-quality software. We value colleagues who are helpful, respectful, communicate openly, and are always willing to do what’s best for our users. We spend time each week listening and responding to customer feedback to make sure we’re delivering useful, timely improvements. The team is broadly distributed across the US and constantly encouraging each other to deliver work that instills pride and fulfillment.
This person can be based from their home office, located anywhere in North America.
About the Job:
We are looking for an experienced and capable iOS developer to help build a new app and grow an existing one. The job is primarily Swift-based, but there are echoes of Objective-C lurking around our GitHub repositories. The Software Engineer will be routinely implementing features, fixing bugs, performing maintenance, and troubleshooting problems within the codebase. Most changes you make will be accompanied by unit tests to confirm their desired behavior. Software Engineers will submit code for review by their peers in the form of pull requests, and will regularly review code by their peers.
Job Details:
In a normal week, you might:
Develop a new feature from a user story using Swift
Collaborate with product managers to define clear requirements, deliverables, and milestones
Team up with the Android squad to encourage app parity and leverage experience
Review a pull request from a coworker and pair on a tricky problem
Provide a consistent and reliable estimate to assess risk for a project manager
Learn about a new technology and present it to the team
Identify opportunities to improve our apps through research and proof of concepts
Work iteratively with UX designers to create user-centric solutions
Help QA and troubleshoot a pesky production problem and push up a hotfix
Participate in agile process and scrum ceremonies
Why you’ll love working on our team:
You’ll be working for a company that embraces and pursues new technology
You’ll be working with a leadership team that trusts and engages its employees
We believe in giving developers the tools and hardware that they need to do their job
Competitive salary with full benefits (health/dental/vision insurance and 401k)
About You:
What we like to see for anyone joining the iOS team:
Deep knowledge of Swift
Deep knowledge of UIKit and Auto Layout – a love/hate relationship with Auto Layout is completely acceptable and, honestly, expected of any adequately experienced candidate 🙂
Proficiency with Core Data
Experience with unit testing
Strong drive to experiment, learn and improve your skills
Respect for the craft – you write self-documenting code with modern techniques
Great written communication skills – we do a lot of work asynchronously in Slack and Google Docs
Empathy for our users – a willingness to spend time understanding their needs and difficulties is central to the team
The desire to be part of a compact, fun, and hard-working team
Not required, but for bonus points:
Formal education in computer science
Experience working in a distributed team
Contribute to open source projects
Knack for benchmarking and optimization
Experience with RESTful JSON endpoints and concurrency/multithreading
Knowledge of the competitive landscape for learning and self-improvement apps
Background in synchronizing information across devices with support for offline functionality
For EXTRA bonus points:
Interest in emoji
Masterful use of GIFs
A deep love of tacos
Minimum Qualifications:
2+ years of professional iOS development (or equivalent) experience
1+ year experience of working in an agile environment
Experience in developing, submitting, and releasing mobile apps on the App Store (preferably with at least one still available for download)
Ability to work in a self-driven, autonomous fashion
O’Reilly Media is an equal opportunity employer
