Як стати iOS-розробником з нуля, що для цього потрібно та чи перспективна це професія, розповідає Артур Міроненко, iOS Tech Lead у компанії Uptech.
Ринок мобільних додатків щороку зростає — у 2018 році кількість завантажень додатків у всьому світі зросла на 35% у порівнянні з 2016 роком та перевищила 194 мільярдів. Розробники додатків для iOS (операційної системи для мобільних додатків від Apple) мають великий попит на ринку праці, а внаслідок дефіциту талантів великим є і їхній заробіток.
Ось, наприклад, рівень зарплат по Києву для junior iOS-розробників:
Чим же займається 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). Буває, що ми прив’язуємося до наших рішень емоційно, замість сприймати їх об’єктивно. Треба вміти дивитися на речі з різних боків, зокрема й очима свого співрозмовника.
- Тайм-менеджмент. Важливо вміти оцінювати час на виконання певної задачі й правильно ним керувати.
Як почати кар‘єру розробника з нуля?
- Пройти курси Computer Science (див. вище) і обов’язково виконувати усі домашні завдання під час навчання.
- Пройти iOS-курси. Бажано прочитати книжку “Swift”.
- Створити власний проєкт (pet project). Я рекомендую зробити це на opensource-платформі (наприклад GitHub) і розвивати його. Саме pet project якнайкраще продемонструє ваші знання та вміння роботодавцям.
- Якщо немає ідеї, з чого почати, пошукайте проєкти по Swift на GitHub і подивіться, що роблять інші розробники.
- Надсилайте резюме у цікаві компанії / подавайтеся на стажування / шукайте роботу на фрілансі.
Які бувають тестові завдання для розробників?
Тестові завдання дають для перевірки базових знань. Наприклад, особисто я за допомогою тестового завдання оцінюю, передусім, наскільки вирішення задачі схоже на комерційне виконання, а не на домашню роботу (тут важлива стилістика написання коду, обробка помилок і 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 лідом.
Що читати, щоб розвиватися у цій професії
Книги:
Блоги:
Майже на будь-якій посаді в ІТ-компанії вам знадобиться англійська. Спеціалізований курс мови можна пройти онлайн в EnglishDom.
ДеталіЧитайте також
Що писати у резюме технічним спеціалістам? Базові поради і кілька специфічних
Як потрапити на роботу в IT-компанію без досвіду в IT?
Початківці в ІТ: як вдало впоратись із першими співбесідами