Leading the pack: Essential mobile developer skills to have
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:
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.
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.