Senior Mobile Developer (iOS and/or Android)

EF LEARNING LABS is the tech hub of EF Education First. We’re an international team of over two hundred engineers spread over three primary cities - London, Boston, and Shanghai.

We’re building the future of online education. And we need your help to make it happen!

Led by a benevolent Mobile Architect, the mobile team is a blended iOS and Android contingent. If you’re already adept at both, this is a rare opportunity to work on them simultaneously. Otherwise, it’s an excellent opportunity to cross-train, and learn (and teach!) a new technology.

You’ll work closely with Product, and Design, to deliver high quality mobile solutions that truly matter, and touch the lives of millions.



You must be able to deliver high quality code on time, with detailed comments, and unit testing where appropriate. You are comfortable with configuration control tools such as Git, and object orientation and design patterns. You always consider the performance limitations of battery life, CPU and memory availability to implement robust and efficient solutions. Integration with web services and consuming XML or JSON is second nature to you, and you can parse data into objects and manipulate it with ease. You are comfortable writing and debugging multi-threaded code.

  • Bachelor degree in Computer Science
  • At least 4 years experience writing apps for a mobile platform
  • Solid understanding of Cocoa/UIKit frameworks and the iOS SDK and/or the Android SDK
  • Proficiency in the Xcode tool chain and/or experience with building Android projects from the command line with Ant or via Eclipse
  • Solid experience of object-oriented design, and modern programming techniques
  • A demonstrable track record of published, and successful applications
  • Demonstrable skills in algorithm/data structures and creative problem-solving
  • A real passion for technology and innovation


It would be great if you also have the following:

  • A Master’s degree is desirable, but significant and applicable real world experience is better
  • Experience with multiple mobile platforms (iOS, Google Android, Windows Mobile 7+, WebOS, Symbian, Bada or WinCE)
  • Applications released on the iTunes App Store or Android Marketplace/Google Play
  • Experience with real-time graphics and advanced rendering techniques (i.e. Open GL ES)
  • Experience with building advanced User Interfaces
  • Knowledge of server side web application development
  • Knowledge of Javascript/JQuery, CSS and HTML
  • An easy going personality with the ability to motivate and encourage the people around you
  • General technology troubleshooting skills using Windows/Unix tools
  • Experience in Agile methodologies
  • A robust sense of humour
  • A robust liver for Baijiu Wednesdays (for Shanghai postings)



  • Develop, and deploy iOS based applications using Objective-C/Cocoa and C++; and/or Android based applications using Java and the Android SDK
  • Work collaboratively, or in isolation as the situation demands
  • Design, develop and test complete applications and also discrete components of larger apps
  • Interface with remote and distributed data sources and APIs
  • Troubleshoot, and performance tune
  • Work closely with the Product Manager, the Mobile Architect and the rest of the mobile team, to continually improve the development process and the product quality
  • Mentor junior members, and share your experiences
  • Contribute to the software architecture, and help to shape the development process
  • Manage a ‘team within the team’ to focus on critical products and features
  • Establish time/effort estimations for tasks, to support effective planning

Back to top