Mobile Software Engineers are responsible for software analysis, design, documentation, and programming to ensure product readiness for release and/or client use. This role works closely with project managers, QA, Creative, and UX team members to ensure compliance with project needs.

Responsibilities

  • Assumes responsibility for planning, design, implementation, and testing for assigned system components of a moderate degree of complexity
  • Writes product specifications and design documentation for assigned system components. Organises review and/or release of documentation when required
  • Implements and executes tests of assigned portion of system components
  • Initiates communication with members of other departments and other members of development team to ensure effective implementation
  • Performs all duties and responsibilities as required by the Engineering Procedures
  • Recommends improvements to assigned portion of system components

Requirements

  • Minimum two years of directly-related experience within software development
  • Minimum one year of experience of designing and developing mobile and/or web applications
  • Demonstrable knowledge of at least one current mobile operating system
  • Minimum one year of experience with one or more of the following: Cocoa, Java, JavaScript, C, C++, Objective-C, C#, iOS SDK, Android SDK, other mobile SDKs
  • Minimum one year of experience working within a Scrum team or other Agile development environment
  • Proficient written and verbal communication skills

Preferred skillset

  • Has delivered at least one product, preferably in an Agile Development team
  • Strong OOAD experience
  • Strong TDD or BDD experience and evidence of the application of good software quality principles
  • Experience with automated testing, continous integration and continous delivery
  • Experience with integrating with other systems using web services and RESTful APIs
  • Ability to translate product requirements into design specifications
  • Strong working knowledge of mobile development environment
  • Multi-threaded coding experience, along with practical implementation experience of both asynchronous and synchronous code
  • Solid debugging (Xcode, Eclipse or IntelliJ preferred) and problem solving skills
  • Understanding of MVC development patterns
  • Appreciation of memory and other working constraints for mobile app development
  • Database experience on mobile devices
  • Ability to work in a highly collaborative, team-based environment
  • Ability to prioritise workload effectively to meet deadlines and work objectives; use resources effectively and efficiently; demonstrate reliable work habits; and organise and self-direct execution of tasks/duties