Leading the pack: Essential mobile developer skills to have

By Megan Irvine

The mobile development landscape is always changing, and it might seem like a daunting task to acquire and maintain the mobile developer skills necessary to keep up with demand. In particular, one challenge is that more companies are looking for full-stack developers that can handle working across multiple layers of technology — back-end, middleware, front-end and so on. This doesn’t necessarily mean you have to know all the software out there, but it is important to have a broad range of skills.

Over the past few years, I have observed the trends in mobile developer skills and prioritized which are needed most. I can give you some starting points for your journey. The following are several essential skills for today’s mobile developers:

JavaScript and Node.js

Years ago, JavaScript was one of the essential mobile developer skills to have, and that hasn’t changed. JavaScript has evolved into a useful, if not elegant, open programming language that is widely used and supported by a coalition of companies. It is part of the fast-growing HTML5 web platform and is complemented by countless libraries and tools.

With JavaScript and Node.js, you can do things that were not possible even a few years ago. Node.js extends JavaScript to the server side, allowing for real-time interaction with web applications. It is an optimal platform for many mobile use cases, and because of its speed and scalability, it is becoming increasingly popular as an enterprise platform.

Data and analytics

Mobile developers need to know about data and analytics. More applications are relying on data stored in various formats and in places around the world. As a mobile developer, you need to know how to connect the data without compromising performance, security or the user experience. This is not an easy task, which is why many companies use database-as-a-service (DBaaS) to connect multiple data sources quickly and securely. One example of DBaaS is IBM Cloudant, which is ideal for managing multi- or unstructured data in mobile applications, as it is a JSON document store. Hadoop also comes to mind.

If you don’t address problems in your user experience quickly, users will delete your application. Analytics can tell you how your application is performing so you can respond accordingly. The IBM MobileFirst Platform Foundation comes bundled with Operational Analytics, which collects data from application and server activities, logs and crashes. This data can be readily viewed and customized from the MobileFirst Analytics Console. Alternatively, there are many cloud-based analytics services on Bluemix.

Agile and DevOps

Considering how volatile the mobile market is, agile development makes sense. It promotes all the things mobile needs: a quick response to change and a continuous cycle of development, testing, improvement and delivery. DevOps goes hand in hand with this idea. It supports a seamless path from development to production to allow for better collaboration and communication between teams.

By adopting these approaches, many companies see improvement in code quality, faster time-to-market and more releases per year. IBM offerings such as Rational Team Concert and UrbanCode support these approaches, and Bluemix provides DevOps services in the cloud.

Open source and GitHub

They say sharing is caring, especially if you care about your career. A great way to show off your mobile developer skills is by contributing to an open source project or sharing code on a platform such as GitHub.

GitHub is a Git repository hosting service that supports version control and collaboration among its 12 million users. Earlier this year, IBM and GitHub announced a partnership to provide GitHub as a service on Bluemix.

Going native

A few years ago, mobile developers were not expected to focus on more than one platform. It takes a significant time investment to develop expertise in a platform, and many developers specialize in one, such as Android (Java), iOS (Objective-C, Swift) or Windows (C#, Visual Basic). However, the need to support native applications across multiple platforms still exists, and as such, some developers are expanding their repertoire to include more platforms and tools.

If you want to learn a new language, I recommend Swift. It recently became one of the fastest-growing languages in history, and it is now open source. Plus, it is relatively easy to learn, even if you don’t have a Mac. You can use the IBM Swift Sandbox to write and execute Swift code in a Linux server environment.

Furthering your skill set

There are many useful resources on the Mobile Application Developer Journey section of the IBM Training and Skills website. If you have not checked it out lately, you should do so. You will find an abundance of courses and links to other learning resources related to the technologies discussed above.

Written By

Megan Irvine

Technical Enablement Specialist at IBM

Megan Irvine has been developing education for IBM Software for 20 years, and is currently a Technical Enablement Specialist for IBM Cloud, specializing in Mobile. She designs, develops, and delivers training to IBM customers, business partners, and employees around the world. She…

Other Articles by Megan Irvine
See All Posts