Senior iOS Developer
As a Senior iOS Developer, you will be a technical leader in our organization reporting to the Director of Development. Your role will involve building development patterns, mentoring and evaluating team members and improving the overall code quality for our mobile applications. You will also be a thought leader, involved in feasibility analysis working closely with the product team. The successful candidate should be comfortable with various mobile platforms, as well as native & hybrid technologies.
- Be a technical leader for the iOS team and enforce patterns, and development practices.
- Perform preformance reviews.
- Contribute to the native app development for iOS.
- Involved in the research & planning of new mobile apps or prototypes.
- Work with the product and design team to understand end-user requirements and translate them into technical specifications.
- Help improve the quality and optimization of apps by employing best practice coding practices, performing code reviews, leveraging automated test tools to implement/execute unit & regression test plans, and continually iterate.
- Keep up-to-date with latest industry trends in mobile technologies and understand how we can exploit them in our apps.
- 2+ years as a Senior iOS developer, or team lead
- 5+ yrs experience of iOS application development.
- Strong development skills in Swift or Objective C for iOS. Swift is preferred.
- Experience with AVFoundatoin and SQLite
- Extensive working knowledge of the SDKs (Xcode, Cocoa) and related APIs.
- Experience with RESTful APIs to connect iOS applications to back-end services.
- Experience with iOS frameworks such as Core Data, Core Animation, etc.
- Good knowledge and understanding of Object Oriented concepts and mobile architecture.
- Proficient in understanding the iOS UI design principles, patterns, and best practices.
- Familiar with offline storage and such optimization techniques as thread pools and caching.
- Familiar with native Apple push notifications and cloud messaging APIs (i.e. Google FirebaseMessaging).
- Familiar with encryption utilizing cryptographic keys an asset.
- Good working knowledge of version control systems such as Git/SVN along with clients such as BitButcket or equivalent. Good understanding of how to build feature and release branches.
- Proven experience working in Scrum/Kanban with Agile teams.
- Working experience in translating functional requirements into technical specifications.
- Experience in conducting code reviews to ensure consistent quality, robustness, and conformance to standards and best practices.
- Experience with writing automated unit & regression tests.
- Motivated and passionate about what you do, and have a high desire to constantly learn.
- Value team work and encourage collaboration.
- Good verbal and written communication skills.
- BS Degree in Computer Science Degree or related field.
- Vancouver BC, Canada.