Join our team as a passionate and talented iOS Software Development Engineer, responsible for developing mobile applications that interact seamlessly with our devices and delight our customers.
As a key part of our team, you will design, develop and maintain our iOS mobile applications, work with team members to investigate design approaches and evaluate technical feasibility, and lead architecture and design of features from conception to launch.
* Design, develop and maintain our iOS mobile applications
* Work with team members to investigate design approaches, prototype technology and evaluate technical feasibility
* Lead architecture and design of features, from conception to launch
* Help to improve engineering processes and tools to increase team effectiveness
* Be part of an agile development process to deliver high-quality software
You will work across teams to prototype ideas and solve complex problems, and raise the bar of our applications by advocating and driving software best practices, automating tasks and identifying pitfalls.
Our team is always looking to learn and innovate, frequently collaborating with cloud, firmware and other mobile teams to solve problems, come up with solutions and delight our customers.
We value and promote ownership, working backwards from our customers to bring them an innovative and seamless home security experience.
Requirements
* Experience programming with at least one software programming language
* Experience contributing to the architecture and design of new and current systems
* Experience in professional, non-internship software development
* Development experience in Swift and Objective C environments
* Experience with iOS frameworks
* Apple platform development experience
Preferred Requirements
* Bachelors degree in computer science or equivalent
* Full software development life cycle, including coding standards, code reviews, source control management, build processes, testing, and operations experience
* Experience designing and developing iOS applications
* Proficient understanding of code versioning tools such as Git
* Experience with Reactive programming frameworks such as ReactiveSwift and Rx
* Experience optimizing apps for performance using tools such as Instruments
* Experience writing testable code and automating test regressions
* Experience with deployments to the cloud
* Knowledge of video streaming technologies (H.264/WebRTC/SDP/SIP/RTP)