Last Updated:

What does an iOS developer do?

An iOS developer creates apps for Apple devices. This is not only the iPhone, but also the iPad, Apple Watch and other gadgets included in the ecosystem. He not only writes code and works on the interface, but also supports the application, adapts it to different device models, tests and fixes bugs.

iOS developer

Who is an iOS developer?

 

iOS developer creates and maintains mobile applications on iOS. Its adherents like the transparency of the OS, detailed guidelines and a limited number of gadgets - you do not have to adapt the interface for each smartphone. Together with the iOS developer Alexey Usanov, we figured out what it takes to master the profession, what competencies and qualities you need to have and whether it is difficult to start if there is no technical education.

Where is it needed?

 

iOS developers are in demand everywhere – from games and entertainment applications to banks and e-commerce. And the pandemic and the widespread transition of companies to online have shown that in the coming years, the demand for mobile development will only grow. In the first three quarters of 2020, mobile traffic grew by almost 50% compared to the same period in 2019. Also in 2020, 4.38 million applications were available in the AppStore (10.3% more than in 2019).

How much does an iOS developer get?

According to HeadHunter, as of early March 2021, about 3 thousand vacancies for iOS developers are open on the site.

A novice iOS developer with a good portfolio can earn from 80 thousand rubles, middle - in the region of 150 thousand rubles, signor and team lead - from 200 thousand rubles.

Main tasks:

  • create an application architecture;
  • writing code;
  • support and development of ready-made applications;
  • Participate in app testing.
  • release of the application in the App Store.

What does he need to know?

 

To develop on iOS, in addition to technology from Apple, you will need knowledge of objective-C and Swift languages.

Objective-C is a more archaic language, and Swift is more modern and simpler. But while most Apple apps are now written in Swift, there are some that are written in Objective-C, so it's still important to know both languages.

It doesn't matter if you don't have a Mac , you can practice Swift on a virtual machine. True, in order to assemble a full-fledged application, you still need to buy Apple equipment.

In addition, you need to:

  • Be able to create a layout-based app experience.
  • Know how to create a network request.
  • Know how to process the data, specifically in JSON (a JavaScript-based text-based data interchange format)
  • be able to interact with libraries of other developers;
  • Be able to attach databases to an application.
  • know architectural approaches;
  • Be able to use the Git system, which allows multiple programmers to collaborate on the same project.

All applications are written in the Apple XCode environment, it can be downloaded for free from the AppStore. There are tools for creating an interface, a code editor and simulators for all devices to test ready-made applications.

The developer should also know the rules of cooperation with the AppStore and, in general, thoroughly study the official Apple documentation.

What kind of soft skills are needed?

 

Communicate with colleagues and resolve conflicts: "Soft skills are an important thing. You can be savvy and smart, but if you can not find a common language with the team, then the price of your knowledge and skills is a pittance. It happens that a young, active and cheerful developer comes. He knows everything and can do everything, very talented. But he can work only alone, does not know how to find a common language with the team. Therefore, it will solve only its own narrow tasks and will not be able to grow further."

It is correct to point out errors to others: "Often people think: 'Why should I climb?' But there are also those who, on the contrary, speak too harshly about the mistakes of others – this is also not good."

Catch Zen and calmly accept criticism: "If you are great and know how to communicate, it's great, but this does not mean that your colleague will also be tactful and correct. You need to be able to accept such things, it should not interfere with the work, "says Alexey.

Pros and cons of the profession

Pros:

  • Apple has a certain and understandable range of devices. "If there can be a hundred of them under Android, and suddenly a device somewhere in India, which is used by 2 million people, can come out. You won't get it anywhere to check why the app isn't working. We do not have such a problem, "says Alexey.
  • In the development for iOS, a clear cycle and a clear number of operating system versions. Every year a new version comes out, and developers know which devices are outdated and which are still supported.
  • A lot of employment options: in a company, in a studio that deals with applications, on freelancing.

Cons:

All these advantages at the same time limit, says Alexey. The developer is always inside the same ecosystem. If, for example, he wants to use a special way to work with some sensors, he will not be able to do this, because access to such changes is limited.

When do they become iOS developers?

  • If there is interest in IT and programming, you want to master a new profession, get new skills and a high salary.
  • If you already have Android development skills, there is a desire to become a cross-platform developer and develop applications for all devices.
  • When you have experience in web programming, but you want to try yourself in a new field.
  • When you want to work on freelancing , iOS developers can independently create an application from scratch.

Misconceptions about iOS development

 

The more complex the code, the better the application. Often, iOS app developers consider Apple's frameworks too simple and try to create something from scratch, spending a lot of time thinking about complex architecture and developing new concepts. You don't really need to reinvent the wheel. All frameworks were created by experienced developers: they know exactly what will work and what will not.

An iOS developer cannot retrain and develop Android apps. If a programmer already has a skill, he may well switch to another OS and, in addition to Swift, learn Java or Kotlin or engage in cross-platform development.

How do I get started?

If you do not have a computer on macOS, you can try to code in Swift on virtual. This can be done by downloading on the official website of the GNU/Linux language (operating systems based on the Linux kernel and GNU system libraries) with Swift installed (there are official packages for Ubuntu, CentOS and Amazon Linux). Another option is to download Windows on GitHub with the unofficial Swift for Windows package. The Apple XCode development environment can be downloaded from Apple's official website. However, to fully assemble applications, you still need Apple equipment.

Step-by-step plan for beginners:

  • master the general principles of development — learn the basic functions and variables, be able to divide the text of the program into files, as well as know the basics of object-oriented programming;
  • Learn how to create a layout-based app experience.
  • Figure out how to process the data, specifically in JSON (a JavaScript-based text-based data interchange format). Information about this can be found, for example, on Habré;
  • Learn how to create and use protocols and connect databases to the application. You can use MySQL as a database, for example. To do this, you will need to install a server, as well as the WorkBench program, which allows you to manage the database using a convenient graphical interface;
  • explore architectural approaches;
  • learn how to use Git repositories - you can see how to do this, for example, here;
  • try to post the first application in the AppStore.

You can learn how to develop on your own - to begin with, take introductory free courses on Coursera.

Alternatively, you can enroll in the SkillFactory iOS development course and learn everything from programming to frameworks and release.

Is it true that Apple has very strict guidelines?

 

Yes, interfaces on iOS can only be created according to the guidelines developed by Apple. Otherwise, your app might fail validation when you publish to the AppStore.

Apple is very scrupulous about design. For example, iOS apps use a dynamic system font size — the user doesn't need to change it, it's done automatically. Also, the company recommends making the design as functional as possible, avoiding unnecessary "decorations", as well as various gradients and falling shadows. On the one hand, a strict guideline restricts the developer. But on the other hand, the company constantly updates the instructions and makes them as detailed as possible, so it will be easier for a beginner to navigate.

External links

  1. Apple's
  2. Guide to Human Interface Guidelines documentation from Apple on application design principles.
  3. Apple XCode is a development environment for iOS.
  4. Cocoadevelopers.club is an open club of iOS and OS X developers.
  5. iosdevweekly is a weekly iOS newsletter with useful articles on iOS development.