Mobile

Mobile developers work on applications for smartphones, tablets, and wearables. Mobile developers specialize in iOS or Android. There is also Windows Mobile, but it's not very popular. The programming languages and IDE required for development on iOS and Android differ.

Job responsibilities

  • Develop application architecture and interfaces
  • Collaborate with a UX / UI designer
  • Publish ready products in the app stores (Google Play, App Store)
  • Support the applications
  • Test and debug
  • Prepare accompanying documentation, create instructions for working with the product 


Skills

  • Familiarity with structures and algorithms, principles of object-oriented programming
  • Knowledge of network protocols 
  • Understanding of MVP, MVC, and MVVM patterns
  • Experience with common libraries for the desired platform
  • Experience with Git
  • Knowledge of SQL
  • Proficiency in programming languages specific to each platform 


Somewhat less common requirements: 

  • Understanding of the principles of mobile app design and engineering
  • Multithreading experience 
  • Familiarity with CI/ CD and client-server architecture
  • Understanding of the principles of usability 


Other popular skills for mobile are memory management , core animation , auto layout , and a framework for cross-platform development called Flutter.


To develop on iOS you need to know:

  • One or more of the following programming languages: Swift, Objective-C, C++ 
  • Xcode or Cocoa development environment
  • Apple development guidelines 
  • Sometimes, the Core Data framework 


For Android:

  • One or more of the programming languages: Java, Kotlin, sometimes Scala, C, C# 
  • Android SDK (software development kit) development tools, utilities, and documentation 
  • REST architecture style and SOAP messaging protocol 
  • Android SDK


FAQ

INDIGO Tech Recruiters have prepared answers to the most common questions from companies looking for mobile developers . Need more information? Write to us.

1. Does a mobile game developer differ from a developer of other kinds of apps?

In general, game development is similar to the development of any application. The programming languages are the same: Swift, C++ for iOS, Java, or C# for Android. Usually, small companies use the Unity engine in combination with C# and JavaScript.
If the app is intended for both iOS and Android, there must be at least two developers on the team. Don't forget that you need not only developers, but also at least a UX/UI designer to create a mobile app.
In the first place, decide on the platform. If you want to develop both iOS and Android versions at the same time, you should hire two developers. Write a job description with specific tasks and requirements. Post your job on the specialized Telegram channels for IT professionals and on job boards. In this way, you can find a developer of the junior or, at best, middle level. It's more efficient to search for competent middle and senior developers via LinkedIn. And it's even better to contact a recruitment agency that can find the best specialist for your project.
The best option is to hire a developer whose released apps are available on the App Store or Google Play. You can download an app, try it out, and make conclusions on the developer's skills. Of course, it's also important to conduct the interview correctly, and check the hard and soft skills of the candidate.