Position: Senior Mobile Developer (iOS and/or Android)
Location: Shanghai, China
Industry Type: In-House IT R&D Center Position
The largest privately owned English training company in the world, with over 200 schools worldwide and over 80 schools in China.
As a Senior Mobile Developer you will work as part of a team to deliver the next generation of English teaching and learning solutions on tablet and mobile devices – this is a chance to build software that really matters and changes people’s lives. As a blended iOS and Android team, this is an excellent opportunity to cross-train and learn a new technology. If you are already experienced with both iOS and Android then this is a rare opportunity to work on both platforms simultaneously.
You must be able to deliver high quality code on time and 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.
- 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, optimize 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 more junior team members, to pass on the benefit of your experience.
- 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.
- Establishing time/effort estimations for tasks, to support more effective planning.
- Bachelor’s degree in Computer Science, Master degree is desirable, but will waive this requirement entirely if you have significant and applicable real world experience.
- 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.
- A demonstrable track record of published and successful applications.
- Exposure to Agile methodologies.
- Solid experience of object-oriented design and modern programming techniques.
- Demonstrable algorithm/data structure and problem solving skills.
- A passion for technology and innovation.