Intermediate iOS Developer 

 


Role:
 

  • Work and collaborate with product owners and Agile teams to understand, design, develop, and implement new features using engineering best practices, design guidelines, and principles. 
  • Convert designs from PSD designs/Invision Prototypes into mobile UI. 
  • Work on fixing bugs, analyse and optimise code for efficiency and improving application performance. 
  • Maintain existing iOS apps, upgrade to new versions of iOS and ensure backwards compatibility. 
  • Perform code reviews. 
  • Identify and correct bottlenecks and fix bugs. 
  • Ensure the performance, quality, and responsiveness of applications. 
  • Provide detailed estimates of work and ensure timely delivery of features. 
  • Produce and ensure delivery of quality, readable, and well-tested code. 
  • Unit-test code for robustness, including edge cases, usability, general reliability. 
  • Help architect and develop native iOS applications in Swift.  
  • Expertise in designing testable software and building large scale, complex applications. 
  • Continuously discover, evaluate, and implement new technologies to maximise development efficiency. 
  • Provide technical guidance to junior members of them team. 

 

Requirements & Skills: 

  • 3-5 years experience in iOS Development. 
  • Proficient in Swift, with a good knowledge of its ecosystems. 
  • Solid understanding of object-oriented programming. 
  • Familiarity with SOLID principles. 
  • Deep understanding of Swift design patterns (especially MVVM). 
  • Knowledge of multi-threaded, asynchronous code. 
  • Ability to write clean, well-factored UI code. 
  • Have a strong focus on building reusable code and components.  
  • Solid understanding of Auto-layout in Xib filesVisual Format Language and using Layout Anchors. 
  • Familiarity with RESTful APIs to connect iOS applications to back-end services. 
  • Familiarity with various dependency management tools (Carthage, Cocoapods). 
  • Understanding of Apple’s design principles and interface guidelines. 
  • Proficient understanding of Git. 
  • Passionate about writing clean, well organized, and production-ready code. 
  • Working knowledge of the general mobile landscape, architectures, trends and emerging technologies. 
  • Attention to detail regarding UI/UX to ensure the apps adhere as close as possible to the design. 
  • Excellent verbal and written communication and interpersonal communication skills. 
  • A passion for technology and the ability to learn new concepts quickly. 
  • Experience in writing Unit/Functional/End-to-End tests. 
  • Experience in the full life cycle of an app, from the design stage to release and support. 

 

Nice to Have: 

  • Experience in Objective-C. 
  • Experience designing and building Cocoa Frameworks and Static Libraries. 
  • Experience building mobile banking and payment apps. 
  • Experience and strong understanding in mobile authentication, security and data encryption techniques. 
  • Experience in setting up iOS build automation for continuous delivery (Jenkins, Fastlane). 
  • Experience in setting up and maintaining all aspects of the Apple Developer account and iTunesConnect. 
  • Experience in deploying Ad-hoc, In-house, Beta (Firebase/Testflight) and store releases. 
  • Experience in supporting non-native iOS applications. e.g. Xamarin, Unity, React Native etc. 
  • Desire and ability to expand expertise into additional mobile languages. 

   

WHAT WE HAVE TO OFFER: 

  • Remote friendly  
  • A collaborative, supportive work environment where you truly are encouraged to make things better. 
  • Free Lunch and as much good coffee as you can stomach in a work day. 
  • Super fancy offices with an amazing culture that few would have ever experienced. 
  • The opportunity to work with some of the greatest minds in the development field.