За даними Apple, станом на 2021 рік налічується близько 23 мільйонів зареєстрованих розробників. Така популярність в свою чергу породжує певні проблеми, в основному для роботодавця. Наприклад, перегрітий ринок. На даний момент він насичений фахівцями середнього і початкового рівня. Компаніям часто складно знайти і утримати хорошого досвідченого фахівця. З іншого боку, хто сказав, що конкуренція - це погано?
Спочатку більшість iOS-програмістів були тими, хто перекочував з суміжних областей. Вони вже були айтішниками у сфері розробки. Ситуація змінилася, і тепер чимало людей, для яких iOS (так само як і Android) - початок шляху в ІТ-галузі.
Що робить iOS-розробник
У двох словах: пише додатки (програми, ігри і т. д.) для iPhone / iPad. Іноді ще й для macOS.
Саме пише. Як художник. Це важливо.
Програміст, в якій би сфері він не працював, - це творча професія. Перш за все тому, що мови програмування спочатку "мови", а вже потім "програмування". І тут мало володіти знанням синтаксису мови, щоб вирішити будь-яку прикладну задачу. Мовою потрібно володіти достатньою мірою, щоб грамотно і доречно використовувати її структури та ідіоми, обороти і конструкції. А це вже процес творення.
Коротко про те, як відбувається безпосередній процес створення додатків
- У більшості випадків розробнику видається готове технічне завдання, розбите на менш ємні підзавдання. Але це не означає, що розробник не приймає участі в розробці самого завдання. Зазвичай перед затвердженням технічного завдання з ним проводять технічні консультації.
- Наступний великий етап - це створення архітектури додатку. Їх існує достатньо, щоб вирішувати різні проблеми розробки. Але жодна з них не є срібною кулею. З великою ймовірністю доведеться доопрацьовувати і допилювувати будь-яке готове рішення.
- Далі все відносно зрозуміло: пишемо код, реалізуємо завдання за завданням, які тут же перевіряє тестувальник і повертає, якщо десь щось криво працює. І так ітерація за ітерацією, спринт за спринтом. До тих пір, поки не отримаємо "цукерку".
У повсякденному робочому режимі розробник спілкується з колегами з інших цехів: тестувальники, дизайнери, делівери-менеджери, продакт-менеджери, локалізатори і багато інших. Але так роблять тільки хороші котики. Погані котики ні з ким не комунікують і живуть в своїй реальності =)
На чому пишемо
Раніше - на Objective C. Зараз - на Swift.
Для статистики: з першої версії Swift 1.0 (2014 р.) до поточної Swift 5.3.2 була 41 версія. А це 28 версій мови за 6 років, що, здавалося б, багато. Але ж ні. Це говорить про те, що мова активно розвивається. Як живий організм.
Наприклад, Pike, який придумали в 1994 році і у якого було трохи ревізій, зараз дуже сильно здав і застосовується хіба що для специфічних речей, користувачів яких за статистикою менше 3%, і число постійно падає.
Остаточно перейти на Swift у Apple поки не вийшло, але вони активно рухаються в цьому напрямку. Так що іноді доводиться застосовувати і Objective C.
Кар'єра, перспективи
Кар'єра iOS-ника, та й зрештою, як і будь-якого розробника, виглядає приблизно так:
- Спочатку ви - пластилін, з якого ліплять щось схоже на розробника. Ментори і приставлені до вас досвідчені розробники навчають вас основам професії. Це фаза Junior developer (в деяких компаніях до цієї фази є рівень "Стажер", але суть та сама). Джуну не довірять викладати свій код навіть в проміжний (dev) репозиторій. У нього окрема пісочниця, в якій він не може завдати шкоди компанії. Більшість коду, який він напише, не матиме застосування в реальних проектах, або це будуть максимально рутинні і безпечні шматки проекту, які все одно три рази перевірять ліди (провідні розробники). Протягом усього цього періоду компанія вкладає в джуна ресурси. Згодом (роки 3-4) йому почнуть давати шматки реальних проектів складнішого рівня. Головне тут - не відмовлятися і не боятися! Проявляти ініціативу. Це прямий шлях до мідл-розробника.
- Middle Developer (він же Staff Developer, якщо по-старому) - це цілком самостійний розробник, може вирішувати завдання середньої складності і деякі складні завдання. Зазвичай час від джуна до мідла становить рік-два. Тут все залежить від людини. Зате фінансова винагорода точно порадує, так як це не прибавка в 10%, а швидше за все цілочисельний множник.
- Senior Developer - поки що не може відкривати кабінет директора з ноги, але вже володіє значною вагою в обговоренні технічних і технологічних аспектів проекту. Звичайно, що з великою силою приходить велика відповідальність. Але й ЗП теж не маленька.
А ось далі стандартне роздоріжжя: дорога в Ліди (Team Lead) або продовження розвитку горизонтально.
Основні інструменти в роботі
Все, що вам потрібно для старту - це середовище розробки XCode, яка для елементарної роботи органічним способом осягається за півроку. А далі - більше. Хтось використовує сторонні утиліти для спрощення повсякденної рутини, хтось пише свої скрипти або навіть свій софт.
Що потрібно знати
Бажано знати англійську. Більшість документацій написано і з'являється англійською. А читати і розуміти їх необхідно.
Необхідна вища технічна освіта - скоріше міф. Так, вона дає певний склад розуму. Але це не дає практично ніяких прикладних знань для індустрії.
Ця професія доступна всім, хто захоче її освоїти і не побоїться тимчасових труднощів. Підтримка завжди є і її дуже багато. Спільнота розробників - одна з найбільших коаліцій у всьому світі.
Чим потрібно володіти
Бажанням щось змінити в своєму житті. І тут важливо не боятися спробувати.