Про Херсон від херсонця 🔥

Хто такий iOS Developer. Як український розробник на фрилансі створював клони застосунків Instagram, ТікТок, Telegram

Фахівець із мобільного розроблення для Apple Ярослав Вишняк має понад 5 років комерційного досвіду в професії. Він працював у шведській компанії Beetroot, стартапі OneSurgery, українському стартапі AgroOnline та одному з найбільших у світі гемблінгових брендів 888Holdings.

Зараз, у продовження серії матеріалів про професії в IT, Ярослав розповів dev.ua про навички, коло обов’язків, рівень зарплат та інші подробиці про iOS-розробника.

Залишити коментар
Хто такий iOS Developer. Як український розробник на фрилансі створював клони застосунків Instagram, ТікТок, Telegram

Фахівець із мобільного розроблення для Apple Ярослав Вишняк має понад 5 років комерційного досвіду в професії. Він працював у шведській компанії Beetroot, стартапі OneSurgery, українському стартапі AgroOnline та одному з найбільших у світі гемблінгових брендів 888Holdings.

Зараз, у продовження серії матеріалів про професії в IT, Ярослав розповів dev.ua про навички, коло обов’язків, рівень зарплат та інші подробиці про iOS-розробника.

На шляху до iOS-розробника

Ярослав Вишняк закінчив Київський національний торговельно-економічний університет за спеціальністю «Магістр інженерії програмного забезпечення». 

Він почав вивчати Swift сам ще студентом через безоплатні джерела. Хоча спочатку в університеті він почав з C++ і Java та мав намір заходити в Android-розроблення. Але після знайомства зі Swift направив свою увагу в iOS-розроблення.

«Не пам‘ятаю, щоб тоді були якісь хороші впорядковані курси із Swift, оскільки вона не так давно з‘явилася», — згадує Ярослав.

За словами Вишняка, на той момент iOS-розроблення не було прям суперпоширеним, а поріг входу був високий, бо потрібно було мати той же MacOS як середовище. 

Навчальні матеріали викладали переважно ентузіасти, що бажали поділитись новою крутою мовою та фішками середовища й платформ Apple, але вони були переважно англомовні.

На шляху в професії Ярослав розповідає, що стикався з багатьма цікавими ситуаціями. Здебільшого вони торкались замовників на фрилансі, котрі поступово змінювали ТЗ, щоби створити клон популярних продуктів на кшталт Instagram, ТікТок, Telegram та інших.

«Це дивна ситуація, коли ти починаєш робити начебто оригінальний продукт, а згодом виявляється, що потрібна просто копія вже наявного популярного додатка, іноді навіть до дизайну», — пояснює розробник.

За його словами, були також люди, які регулярно писали з ідеями стартапів, які точно вистрілять, та пропонували безкоштовно зробити свою роботу. Крім того, він стикався із серйозними технічними задачами, які вирішували дуже незвичними способами, а один із таких призвів до його дзвінка компанії уже з готовим рішенням із питанням за скільки вони можуть його придбати.

Що таке  iOS-розроблення

Індустрія мобільних додатків росте і розвивається тому. Ніхто не хоче замовляти їжу або кур’єрські послуги з сайту. Усе це, а також користуватись розумним будинком та дивитись в доповненій реальності нову квартиру і багато іншого всі хочуть робити за допомогою власного смартфону. Крім того, навіть державні органи теж замовляють розробки мобільних додатків, які зараз вже добре функціонують, наприклад, «Дія» чи «Київ Цифровий».

«Тобто постійно з’являються нові сценарії і є нова цікава робота», — говорить Ярослав.

iOS-розробка — це розробка програмного забезпечення для iOS, iPadOS, WatchOS. Основним інструментом зараз є мова програмування Swift, котра була представлена у 2014 році на зміну Objective-C. Це також C-подібна, відкрита, мультипарадигмальна компільована мова. Крім того, вона може використовуватись для розробки під macOS, tvOS та серверної логіки. 

Відмінності веб- і мобільної розробки

Хоча в більшості випадків і там, і там робиться контент для якоїсь серверної логіки, але є ряд відмінностей. Для сайту акцент робиться на те, щоб презентувати компанію чи асортимент її продукції, а коли йдеться про розробку мобільного застосунку, то тут насамперед акцент стоїть на тому, як юзер буде ним користуватися.

За словами Ярослава, це дає поштовх для розробника думати, а який функціонал буде більш доцільний, як юзер буде реагувати на ту чи іншу послідовність вкладень та розміщення меню, кольори. Крім того важливо, що юзеру показати в першу чергу, а що в другу, зважаючи на те, що місце на екрані обмежене та є технічні обмеження девайсу чи відсутність окремих прав. А також, як каже Ярослав, замовник зі свого боку дуже часто хоче впровадити нові технології на кшталт доповненої реальності. У тій же веброзробці це відбувається куди рідше.

«А давайте ми сюди засунемо якесь машинне навчання, та зробимо якось фішку», — пояснює він. 

Переваги саме мобільної розробки — це можливість попрацювати з новітніми крутими технологіями типу ML, AR, різних розумних будинків, технологіями позиціонування і т д.

Хто такий iOS-розробник

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

iOS-розробником, мобільним розробником, може бути людина, яка використовує Swift для написання програмного додатку. Крім того, є мови, на кшталт Java and React Native та Dart, що пишуть таким чином одразу під дві платформи і під Android, і під iOS, а також кросплатформні рішення Xamarin та інші.  

Також зараз є різні кросплатформені підходи, наприклад, Zero-code, коли із шаблонів можно зробити додаток, але Ярослав не стикався, щоб комусь на ринку був потрібен такий спеціаліст. 

Обов’язки iOS-розробника

IOS-розробник може мати різний пул обов‘язків залежно від типу проєкту. Десь це лише розробка додатка в рамках методології. Іноді, розробник мобільних додатків займається й мануальним тестуванням свого продукту. Буває, що потрібно допомагати в розробці ТЗ для UI дизайнерів та розробників API для вашого додатка. Також можуть знадобитися навички прототипування та базові навички створення UI за гайдлайнами.

Що має знати iOS-розробник

База

Базово мобільний розробник має знати Swift або Objective-C. Буде плюсом знати SwiftUI бо деякі фреймворки уже працюють у декларативній парадигмі. Базовий інструментарій потрібно знати, наприклад UIKit, котрий вміщає в себе основні компоненти користувацького інтерфейсу. Також вміти користуватись середовищем розробки та інструментами тестування, наприклад симулятором. 

Trainee.

Має мати навички, котрі вказував вище. Та добрі навички комунікації/пошуку інформації, щоб розвиватись далі. 

iOS Junior developer

До навичок Trainee має додатись розуміння того, як працює додаток, як будується архітектура. Має вже вміти писати запити на сервер та підключати сторонні бібліотеки, користуватись сторонніми сервісами для моніторингу. Має мати навички роботи з БД.

Middle iOS developer`

До всіх попередніх вимог додається здатність повністю написати додаток із нуля. Розуміти, що таке UI та Unit тести, вміти їх застосовувати. Знати більше однієї архітектури та застовувати по ситуації більш доцільну. Також мати навички, щоб оцінити ризики та можливу затрату часу. Буде плюсом вміння спілкуватись зі сторонніми розробниками, щоб адаптовувати їх бібліотеки під  свої потреби. Має працювати в методології. 

Senior iOS developer

Уже повинен могти спланувати повністю розробку додатку, включно CI/CD. Також повинен вміти менеджерити не лише свої задачі, а й суміжні. Контролювати якість коду, розуміти різні підходи до прототипування архітектури. Повинно бути розуміння про мобільну безпеку та її стандарти. Також Senior повинен мати уявлення про роботу системи та додатків на рівні роботи із залізом, менеджменту пам‘яті, знати нюанси системи та інструментарію. 

Бонус-плюс для всіх

До цього звісно ж додається й знання англійської, яка знадобиться з самого старту кар‘єри. І дуже хорошим плюсом будуть академічні знання про будову та роботу комп‘ютерної техніки. Цінний спеціаліст постійно буде актуалізувати знання, оскільки постійно еволюціонує Swift, iOS та SDK. Наприклад, не так давно з‘явився SwiftUI, який звісно треба вчити. 

iOS developer Зарплати

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

  • Trainee $300–700.
  • Junior $700–1500.
  • Middle $1500–3000.
  • Senior $3000–6000(насправді верхньої планки нема, але зазвичай це до $6000).

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

«Але зараз таких вакансій стало меньше, тобто компанії знов готові платити за нативну розробку людині на Android  за Java або за Kotlin, а людині, яка буде займатись iOS, за Swift та Objective C, відповідно», — зазначає він.

Де вивчитись на iOS-розробника

Можна навчитись багатьох навичок із безкоштовних джерел. На Youtube є купа курсів, зокрема купа прикладів розробки комплексних додатків. 

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

«Самотужки можна навчитись як мови, так й роботи зі складними API», — пояснює Ярослав.

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

Компанія Apple теж знає про існування ком’юніті, і зі свого боку теж підтримує подібні ініціативи, запрошуючи деяких розробників з України в компанію, щоб вони прочитали якусь лекцію.

Що треба вчити насамперед

За словами досвідченого розробника, вчити треба Swift. Потім роботу з базовими системними API, роботу із сервером і сторонніми бібліотеками, у процесі розібратись з Human Interface та вміти прототипувати дизайн. Важливо вчитися читати документацію. Цього вже вистачить для початку роботи в комерції. Зараз уже починають одразу зі SwiftUI, але я б не радив, бо більшість проєктів досі на Swift, деякі досі на Objective-C. Вхід зі Swift буде складніший за SwiftUI, якщо це ваша перша мова, але потім буде куди легше. 

Книги

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

Для тих же, хто вирішив почати навчання з курсів, наступні книги, які рекомендує Ярослав, можуть бути корисні для вивчення конкретних речей на кшталт фреймворку Apple, тестам, реактивному програмуванню та іншим. Вони будуть корисні всім, як профессіоналам, так і практикуючим розробникам будь-якого рівня. 

Крім того, дуже рекомендую серію книг від Рея Вендерлінча (Ray Wenderlich). Там є купа книг по різним iOS фреймворкам, зокрема рекативне програмування на Swift чи геймдев. 

«Hacking with Swift» від Пола Хадсона.

«iOS15 Programming fundamentals with Swift» від видавницва Oreilly.

«Swift 4 Protocol-Oriented Programming» від Джона Хоффмана (Jon Hoffman).

«Server-side Swift» від Пола Хадсона (Paul Hudson). 

Серед порад книг, які не стосуються безпосереньо iOS-розробки чи Swift, Ярослав порадив класику типу Чистого Коду, Канбану, що може бути загалом корисним для будь-якого розробника сучасного продукту.

Читайте головні IT-новини країни в нашому Telegram
Читайте головні IT-новини країни в нашому Telegram
По темi
Читайте головні IT-новини країни в нашому Telegram
Довідник IT професій: карєра в Salesforce або пригода з безліччю ачівок
Довідник IT професій: кар’єра в Salesforce або пригода з безліччю ачівок
По темi
Довідник IT професій: кар’єра в Salesforce або пригода з безліччю ачівок
Довідник IT-професій. Хто такий Java Developer: огляд від Team Lead & Engineering Manager SPD-Ukraine Володимира Шевченка
Довідник IT-професій. Хто такий Java Developer: огляд від Team Lead & Engineering Manager SPD-Ukraine Володимира Шевченка
По темi
Довідник IT-професій. Хто такий Java Developer: огляд від Team Lead & Engineering Manager SPD-Ukraine Володимира Шевченка
Довідник ІТ професій. Хто такий інженер-електронщик що має знати та де може навчатися
Довідник ІТ професій. Хто такий інженер-електронщик, що має знати та де може навчатися
По темi
Довідник ІТ професій. Хто такий інженер-електронщик, що має знати та де може навчатися
Електробайки по-українськи між Києвом та Лос-Анджелесом в «СКШ»

Дивіться, чим живе Delfast під час війни в Україні

Ми запускаємо розсилку про українське IT-ком’юніті. Залиште email, аби розуміти більше. Прем’єра — скоро!
Дякую! На вказану адресу надіслано листа для підтвердження підписки.

Хочете повідомити важливу новину? Пишіть у Telegram-бот

Головні події та корисні посилання в нашому Telegram-каналі

Обговорення
Коментарів поки немає.