iOS розробники — про пошуки першої роботи та поради новачкам

Розробка під mobile з кожним роком прогресує в популярності, тому не дивно, що й конкуренція продовжує зростати. Web Academy поспілкувалася з iOS Developer-ами, які пройшли шлях від перших відмов до успішних комерційних проектів. У цій статті вони поділились своїми думками про те, як діяти в умовах конкуренції: що актуально вчити на старті, як шукати першу роботу та що робити (або НЕ робити) на співбесіді, аби отримати оффер.

Владислав Вдовиченко

iOS Developer у Zakaz.ua

«Рекрутери у 90% не давали фідбеку та не відповідали» — про пошук першої роботи

Я став iOS Developer-ом доволі випадково. Здобував ступінь молодшого спеціаліста за спеціальністю «Інженерія програмного забезпечення» та не розумів, чи виходить в мене. Лаби робились, консольні програми на Pascal писались, втім «пристрасті» та «вогню» я не відчував.

Але одного дня до нас прийшов новий викладач і запитав: «Чи хтось пише під iOS на Obj-C чи Swift?». У відповідь він почув тишу. А я натомість зацікавився цим питанням. Це був 2016 рік, Swift був доволі молодим, але відкритих туторіалів на YouTube вже вистачало.

Завдяки туторіалам я згодом зробив курсову (це була нескладна реалізація пінг-понгу з використанням SpriteKit), а ще пізніше — дипломну роботу (месенджер, що базувався на Firebase Realtime Database).

Паралельно з цим я почав навчатися у Web Academy на курсі по iOS. Курс дав мені певні знання, простір для розвитку та, найголовніше, змусив мене повірити у власні сили й остаточно зрозуміти, що iOS-розробка мені подобається.

Потім були перші фриланс-проєкти. Я навчався на власних помилках та набивав ґулі, отримував досвід спілкування з людьми у технічному розрізі. Зрозумів, що час шукати повноцінну роботу. Створив резюме, заповнив його тим що було — і вперед.

Співбесіди минали, офферів не було, рекрутери у 90% не давали фідбеку та не відповідали. Але я керувався принципом: «Що мене не вбиває — робить сильнішим». Після співбесід гуглив питання, на які не знав відповідей, підтягував слабкі місця. Як зараз памʼятаю: у трамваї читав про GCD та думав «ого, я про таке навіть не знав».

Ну і врешті-решт фортуна мені посміхнулась. Я отримав довгоочікуваний оффер на позицію Junior iOS Developer. Але навчання й нові знання на цьому тільки почалися. 🙂

«Класне резюме, довгий список опанованих технологій — це корисно. Але важливо не забувати про soft skills» — як пройти співбесіду

Не впевнений, що є універсальні поради для кожного. Але, спираючись на власний досвід, скажу:

  1. Потрібно мати pet-проєкти. Це покаже ваше вміння починати й доводити застосунки до кінця. Якщо вони будуть в App Store — ще краще.
  2. Створіть класне резюме. Вкажіть все, з чим працювали або «щупали». Втім не варто аж занадто прикрашати своє резюме. Бо кандидат, який вказав технологію або фреймворк, з яким не працював, робить собі тільки гірше.
  3. Переглядайте публічні співбесіди. Відповідайте на питання разом з роликом, нотуйте щось нове, запамʼятовуйте формат зустрічей.
  4. Намагайтесь закривати ваші пробіли в знаннях. І пам’ятайте: щось не знати — це нормально.
  5. Будьте готові до викликів та випробовувань.
  6. Дізнайтеся інформацію про компанію, що запрошує вас на інтервʼю. Це додасть вам трохи балів у карму перед рекрутером.
  7. Ніколи не здавайтеся після невдалих інтервʼю. Можете робити перерви — це нормально. Але не зупиняйтеся.

Також додам: класне резюме, довгий список опанованих технологій — це корисно. Але важливо також не забувати і про soft skills. Відкрита, чесна й легка комунікація з рекрутером і технічною командою найму під час інтервʼю — велика складова вашого успіху.

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

«Приблизно 40% робочого часу» — скільки iOS Developer пише код

Немає якоїсь статичної цифри. Іноді можна увесь день робити певну фічу (або частину фічі), а іноді — бути в мітингах (у такі дні ви навіть не встигнете покодити).

Можу припустити, що iOS Developer пише код приблизно 40% робочого часу, але точних вимірів я не проводив 🙂 Решта — це мітинги, організаційні питання, код ревʼю та обід 😉

«Найчастіше запитують Swift, UIKit, OOP, MVC» — що вивчити джуніору

Я переглядав наявні вакансії і той стек, що був вказаний. Найчастіше запитують Swift, UIKit, OOP, MVC (або інші MV-архітектури, це не так важливо), GCD, основи ARC. Також часто просили досвід роботи з картами (Google Maps, Apple Maps, Mapbox тощо). Нині часто зустрічається й SwiftUI та Rx (Combine).

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

«Senior в одній компанії буде Middle в іншій, і навпаки» — кар’єрний розвиток iOS Developer-а

Карʼєрне зростання напряму повʼязане з тим, скільки цінності ви приносите продукту та/або компанії. Тому важливо проявляти ініціативу, брати відповідальність і постійно зростати. Soft skills не менш важливі за hard skills. Інколи можуть бути й важливішими. Ніхто не хоче працювати з генієм програмування, який хамить, підставляє та поводиться непрофесійно.

Напевно, за «класичним сценарієм» можна йти Junior-Middle-Senior, а далі вже як життя покаже. Хоча насправді Senior в одній компанії стане мідлом в іншій, або навпаки. Якщо розробника тягнутиме більше до менеджерської праці, то можна зростати до тімліда. Тоді будете менше писати код, але отримаєте більше відповідальності за команду.

«Люблю відповідальність за продукт, над яким працюю» — що мотивує займатися розробкою під iOS

Чим більше я дізнаюсь про програмування для iOS, то більше я розумію, як багато ще не знаю. Це мотивує рухатися далі.

Маю вже понад чотири роки досвіду комерційного програмування і досі горю цим та люблю те, що роблю. Дуже ціную момент «еврики» під час розв’язання певних проблем. Або відчуваю щось схоже на розгадування загадки/пазла. Люблю відповідальність за продукт, над яким працюю.

Дмитро Лупич

iOS Developer у Welltech

«Я сам користувався продуктами Apple» — про вибір iOS-розробки

До свiту iOS потрапив раптово. Коли мiй бiзнес з продажу реклами в інтернетi почав просiдати, я обирав, чим би зайнятися далi. Вибір зупинив на програмуванні, а саме — розробці під мобайл. Оскільки я сам користувався продуктами Apple, вирiшив i додатки розробляти для цiєї платформи.

«Для джуніорів базою є знання Swift та фреймворку UIKit» — що потрібно на старті кар’єри

На початку допомагає багато практики: я ходив на співбесіди після онлайн-курсів та з власним додатком, опублікованим в AppStore. Гарною альтернативою може бути робочий проєкт/проєкти на GitHub. Так роботодавець зможе побачити, який код ви пишете, і йому буде про що запитати вас на співбесіді.

Для джуніорів базою є знання звичайної мови програмування Swift та фреймворку UIKit, аби створювати UI. На старті кар’єри треба вміти робити навігацію між контроллерами, базовий UI, запити до мережі та моделювати дані. Трохи згодом можна пробувати працювати з базами даних, реактивними фреймворками та SwiftUI.

«Можна і весь час писати код, якщо знаєш, що саме треба робити» — про робочий день iOS Developer-а

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

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

«Мобільна розробка — це не про “вивчив один раз і забув”» — як iOS розробнику бути затребуваним

Необхідно постійно цікавитися темою та копати якнайглибше в ті питання, що вас цікавлять. Не слід боятися пробувати нове: не зупиняйтесь на вже здобутих знаннях. У світі mobile технології змінюються дуже швидко, як і запити роботодавців. Ще вчора всі писали на Obj-C, а зараз з’явився SwiftUI, з’явилися async/await, анотації та нативний реактивний фреймворк. Mobile — це не про «вивчив один раз і забув». Це про постійне накопичення нових знань.

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

Найближчий курс за напрямом: Swift з нуля

Влад Хамбір

Senior iOS Developer у Genesis

«Я вчився на онлайн-курсах, а паралельно — в університеті» — про перші кроки в iOS-розробці

Для вивчення iOS-розробки я використовував два ресурси: онлайн-курси з Objective-C (дуже поверхнево, не хотів писати цією мовою) та книги від Рея Вендерліха. Навчання тривало близько року, крім того, тоді я був ще студентом другого курсу університету.

У мене був вибір: вивчати те, що треба всюди, або вивчити щось нове, що розвиватиметься в майбутньому. Я обрав другий шлях, зробив ставку на Swift і не помилився. Раджу джуніору вчити все те, що далеко не кожен сіньйор може собі дозволити: SwiftUI, Combine, Async/Await… Краще за все дивитися WWDC за останні 2-3 роки та писати мініпроєкти з використанням всього сучасного. В такому випадку ви станете конкурентам сьогоднішнім сіньйорам та чудовим прогресивним доповненням у будь-яку команду.

Коли я завершив самонавчання, провів ресерч, аби дізнатися, як скласти резюме. Тоді почав надсилати його всюди, де шукали Junior iOS Dev. Мені відгукнулися хлопці зі стартапу, який міг би стати Glovo (бо на той момент Glovo навіть ще не планувався, мабуть). Великий додаток, мова Swift, малий бюджет та багато викликів для мене. Саме там я виріс зі студента у справжнього джуна.

Однак проєкт так і не злетів. Для підйому такого продукту необхідна була якісна експертиза в бізнес-напрямі. На жаль, саме це було слабкою стороною нашої команди. Ми розробили MVP, але так і не налагодили відносини з клієнтами. Тож я став рухатися далі.

Зараз розумію, що під час пошуків роботи треба діяти, як і під час розробки: розробили фічу, «викатили», отримали фідбек, вдосконалили та зарелізили нову версію.

Якщо ви вже маєте знання, шукайте вакансії, які на 60-70% відповідають вам (цього достатньо). Проходьте співбесіду й отримуйте досвід від цього процесу. Головне — позитивно сприймати фідбек, обов’язково аналізувати його, закривати дірки та йти на наступну співбесіду.

«Найбільше коду я писав, коли був міддлом» — що найголовніше для розробника

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

Окрім програмування, розробник бере участь у мітингах, проводить код/дизайн-рев’ю та багато думає. Останнє допомагає писати менше коду. Менше коду = менше багів.

Якщо грейд дозволяє, то з’являться завдання менеджера, почнете проводити співбесіди. Навіть будуть дні, коли й не встигатимете писати код 🙂

Та найголовніше — відпочинок, використовуйте свою обідню перерву максимально: перекусіть, прогуляйтеся, дайте відпочити очам та розуму.

«Якщо на роботі немає змоги застосувати нові знання, потрібно створити pet-проєкт» — що допомагає професійно зростати та які шляхи розвитку існують

Треба постійно тримати руку на пульсі, продовжувати вивчати нове та розбиратися глибоко в тому, що використовуєте кожен день. Якщо на роботі немає змоги застосувати нові знання, потрібно створити pet-проєкт — це дуже допоможе.

Розвиток розробника можна описати наступним чином:

  • Перша робота і процес пізнання світу розробки, процесів, дедлайнів, обов’язків.
  • Після пів року роботи можна назвати себе Junior iOS Developer. Саме час набирати обертів, розширювати знання, щоб покрити всі аспекти розробки ПЗ.
  • Пройшов ще рік. Можливо, ви вже Middle, пишете багато коду, виконуєте роботи більше за інших (так здається), починаєте цікавитися, як все працює під капотом.
  • Пройшло ще два роки (все приблизно). Вже прокачані не лише hard, але й soft skills — це рівень Senior iOS Dev. Завдання вже не такі тривіальні, замість розробки з’являються безліч нових активностей, які будуть привносити свіжий подих у будні.
  • Далі все індивідуально. Можна розширити знання, полізти у бекенд-розробку та стати архітектором, можна очолити свою команду iOS-розробників або піти в бізнес та створити власний продукт.

Головна мотивація для мене — відкриття нових горизонтів. Чим далі — тим цікавіше, і я навіть не знаю, де кінець цієї подорожі.

Також радимо почитати:

0
0
SAVE