An experienced mobile app developer will need a range of skills. Some very specific like Android or iOS development programming languages such as Objective-C or Java and some more rounded such as project management, UI design, and user testing. The role of an app developer requires wearing many hats and no two projects will ever demand the same combination of skills. A good mobile app developer will supplement those hard skills with soft skills like problem-solving, analytical skills, communication, creativity, and project management. More advanced app developers may also need cross-platform skills such as Java for an Android app and Objective-C for iOS app. Database management, security, hardware interfacing, APIs and all manner of other skills.