fbpx

Як стати iOS-розробником і ще 8 питань про професію

Артур Міроненко PR Чт., 09.01.20 Must Read

Як стати iOS-розробником з нуля, що для цього потрібно та чи перспективна це професія, розповідає Артур Міроненко, iOS Tech Lead у компанії Uptech.

Ринок мобільних додатків щороку зростає — у 2018 році кількість завантажень додатків у всьому світі зросла на 35% у порівнянні з 2016 роком та перевищила 194 мільярдів. Розробники додатків для iOS (операційної системи для мобільних додатків від Apple) мають великий попит на ринку праці, а внаслідок дефіциту талантів великим є і їхній заробіток.

Ось, наприклад, рівень зарплат по Києву для junior iOS-розробників:

Джерело: Djinni


Чим же займається iOS-розробник?


Якщо говорити глобально, iOS-розробник створює досвід користування (UX). Ми будуємо інтерфейс взаємодії користувача з додатком та дбаємо про те, щоб ця взаємодія була якнайвдалішою. Іншими словами, наша задача — створити продукт, яким буде приємно та зручно користуватися.

Якщо вдаватися у деталі, то iOS-розробники здебільшого створюють самі iOS-додатки. Основна частина роботи — створення екранів додатку відповідно до дизайн-специфікації, побудова навігації між екранами та обмін даними з бекендом. Розробники-новачки зазвичай починають з додавання елементів на вже наявні екрани, а досвідчені розробники займаються побудовою архітектури, взаємодією з дизайнерами і бекенд-командою та оптимізацією ботлнеків.


Чи відрізняються обов’язки iOS-розробника у різних компаніях?


Загалом обов’язки iOS-розробника не дуже відрізняються в різних компаніях. Втім, є певні відмінності у роботі в аутсорс- і продуктових компаніях.

В аутсорс-компаніях розробники працюють над проєктами замовників та виконують конкретні завдання, які ставить project-менеджер.

У продуктових компаніях розробник безпосередньо залучений до роботи та може впливати на те, як будується додаток і в якому напрямку він розвивається.

Хоча інколи таких відмінностей і немає. Наприклад, у нашій аутсорс-компанії ми керуємось бізнес-задачами продукту, тому завжди допомагаємо своїм клієнтам: радимо відповідні технології під конкретну задачу, даємо оцінку рішенням та сприяємо у валідації гіпотези.


Які hard skill потрібні розробникам? Де цього можна навчитися?


Як на мене, знання Computer Science є обов’язковими. У вас може не бути диплома, але фундаментальні знання комп’ютерних наук — це просто must have. Ви можете здобути їх у технічних вишах або ж онлайн. Якщо у вас є фундаментальні знання Computer Science, то вивчення мов програмування не забере багато зусиль.

Обов’язково пройдіть безкоштовний курс із розробки додатків Standford CS193p iPhone Application Development.

Звісно ж, необхідно вивчити і Swift — мову програмування iOS-платформи.

Це базовий набір, щоб піти на роботу. 

Специфічні знання по доменах, звісно, будуть лише плюсом. Наприклад, для розробника, який хоче створити ще одного «вбивцю» інстаграму, стануть у нагоді знання зі зйомки відео чи обробки. 

Варто пошукати також мітапи (офлайн-зустрічі розробників) у вашому місті. Спілкування з професійним ком’юніті буде корисним як з точки зору нетворкінгу, так і для навчання. Почати пошук можна з CocoaHeads — міжнародної спільноти iOS-розробників, представленої в Україні.


А якими soft-навичками варто володіти розробникам?


Тут немає чогось специфічного для iOS-розробника, адже бажані софт скіли типові для всіх розробників.

  • Емпатія та взаєморозуміння. Створення продуктів — це креативна дисципліна, і ми часто ухвалюємо щодня до сотні рішень, які впливають на проєкт. А взаєморозуміння у команді дуже важливе для прийняття ефективних рішень. Крім цього, у такій атмосфері усім просто комфортно та весело працювати.
  • Проактивність. Потрібно постійно генерувати різні ідеї для вирішення проблем та шукати нові шляхи покращення архітектури проєкту.
  • Відкритість (opened mind). Буває, що ми прив’язуємося до наших рішень емоційно, замість сприймати їх об’єктивно. Треба вміти дивитися на речі з різних боків, зокрема й очима свого співрозмовника.
  • Тайм-менеджмент. Важливо вміти оцінювати час на виконання певної задачі й правильно ним керувати.


Як почати кар‘єру розробника з нуля?

  1. Пройти курси Computer Science (див. вище) і обов’язково виконувати усі домашні завдання під час навчання.
  2. Пройти iOS-курси. Бажано прочитати книжку “Swift”.
  3. Створити власний проєкт (pet project). Я рекомендую зробити це на opensource-платформі (наприклад GitHub) і розвивати його. Саме pet project якнайкраще продемонструє ваші знання та вміння роботодавцям.
  4. Якщо немає ідеї, з чого почати, пошукайте проєкти по Swift на GitHub і  подивіться, що роблять інші розробники.
  5. Надсилайте резюме у цікаві компанії / подавайтеся на стажування / шукайте роботу на фрілансі.


Які бувають тестові завдання для розробників?


Тестові завдання дають для перевірки базових знань. Наприклад, особисто я за допомогою тестового завдання оцінюю, передусім, наскільки вирішення задачі схоже на комерційне виконання, а не на домашню роботу (тут важлива стилістика написання коду, обробка помилок і edge-кейсів). Також дивлюся на UX інтерфейсу — важливо, щоб програма не просто працювала, а нею було приємно користуватися. 

Проте суперважливі речі не перевіриш тестовими завданнями.

Тому я рекомендую надсилати разом із резюме посилання на свій pet project. Саме такі проєкти найкраще показують ваші знання та навички. Якщо ви — active open source contributor, вам завжди будуть раді у будь-якій компанії. Наприклад, ми в Uptech легко можемо розглянути pet project замість тестового завдання.


Яка зарплата може бути на початку кар’єри розробника і через 3-5 років?


Для junior-розробників зарплата у Києві складає у середньому 500$. Хоча я вважаю, що прийнятна зарплата для такого розробника з хорошою базою — 1000$.

Через 3-5 років розробник може отримувати від 3000$.


Який кар’єрний ріст у розробників?


Зазвичай — від junior-  до senior-розробника. А після цього є багато шляхів.

Можна залишитися iOS-розробником, розвиватися у більш специфічній сфері (наприклад Media Processing, AR, Hardware) та стати вузькопрофільним спеціалістом.

Можна також стати engineering-менеджером: бути лідом команди й допомагати їй розвиватися.

Якщо ви усвідомили, що iOS для вас замало, то можна вивчити backend, перейти на позицію fullstack-розробника і згодом стати Tech лідом. 


Що читати, щоб розвиватися у цій професії


Книги:


Блоги:

Читайте також

Що писати у резюме технічним спеціалістам? Базові поради і кілька специфічних

Як потрапити на роботу в IT-компанію без досвіду в IT?

Початківці в ІТ: як вдало впоратись із першими співбесідами

Долучайтеся!

Створюємо спільноту фанів Понеділків.

Asset 1logo_Hm

Повідомити про помилку

Текст, який буде надіслано нашим редакторам: