Прокачайся в код-рев’ю: для перших 50 учасників — курс безкоштовний

час читання: 6 хв

Ким можна стати в ІТ: хороші і погані новини

Під час вибору професії в ІТ важливо враховувати зміни в запиті індустрії — про те, як знайти себе в ІТ ментор з розвитку кар'єри Аміна Ідігова розповіла в попередній статті. Але не кожен здатний відстежувати тренди — в новій публікації Аміна ділиться лайфхаками, як бути в темі, але головне — дає огляд основних спеціальностей і зазначає, що простіше, а що — складніше. Погані новини: 90% резюме не приведуть навіть до інтерв'ю, купити мотивацію і дисципліну не можна за жодні гроші, мови на літеру С краще навіть не починати вивчати. Хороші: дорогу здолає той, хто йде — важливо вибрати правильний напрямок, спіймати тренд на хвилі, впевнитися у легкості вивчення — і ви в дамках. Прочитайте статтю перед тим, як пройти унікальний кар’єрний тест.

ментор з розвитку кар'єри Аміна Ідігова

Яку мову програмування вчити

— Коли вибираєте першу мову програмування для вивчення, звертайте увагу на основні критерії, — рекомендує Аміна.

  • Легкість вивчення. Що нижчий поріг входу, то швидше ви навчитесь писати код і знайдете роботу, не встигнувши розчаруватись і втратити мотивацію;
  • Поширеність і затребуваність. Що популярніша мова, то більше нею створюють реальних проєктів — а значить більше спільнот і ентузіастів, які створюють для неї гайди і сторонні бібліотеки. Відповідно — простіше вирішуються типові задачі;
  • Наявність junior-вакансій цією мовою. Що більше вакансій доступно на ринку загалом, то вищий шанс знайти свою першу роботу. Бажано орієнтуватися на глобальний ринок, щоб залишити простір для релокації чи віддаленої роботи, але у будь-якому випадку, варто бути готовим проявити наполегливість і неабияке завзяття, оскільки до 90% ваших відгуків на вакансії не приведуть навіть до запрошення на інтерв’ю;
  • Тренд на хвилі. Це буде означати, що технологія розвивається і буде актуальна найближчі 3-5 років і інвестиція часу на її вивчення не здається марною;
  • Рівень доходів розробників;
  • Привабливість для вас особисто. Уявіть, що найближчий рік-півтора вам доведеться витрачати на цю роботу до 10 годин на день.

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

Професії в IT

Software Developing

— Якщо говорити про кар’єру Software Developer, то на старті варто сфокусуватися на тих напрямках розробки, які осилить новачок. Досвідчені колеги рекомендують зупинитися на двох:

  • Front-end — це все, що браузер може читати, виводити на екран чи запускати. Щоб засвоїти Front-end, фактично треба добре вивчити всього одну мову розробки — Java Script. У доважок до нього доведеться вивчити HTML/CSS. Саме вони «говорять» браузеру, які елементи сайту, з якими стилями і де малювати. Java Script встиг обрости тонною бібліотек і фреймворків, наприклад jQuery, React, Angular, Swift, Vue, TypeScript та іншими. Вони дають змогу розробнику не писати додатки і сайти з нуля, у них уже все вбудовано.
  • Back-end — це вся та «внутрішня магія», яка захована від очей в момент, коли ви користуєтесь браузером чи мобільним застосунком. Сюди входять і серверна логіка, і сценарії взаємодії із зовнішнім інтерфейсом, і алгоритми збору і зберігання даних, і багато іншого. Мови, що ідеально підходять для новачків, на якій пишеться Back-end, — це Java або Python. Але пам’ятайте, що в доважок з Back-end завжди йде робота з базами даних.

Інші напрямки, такі як Mobile чи Gamedev, можуть виявитися надто складними і специфічними для новачка. Дуже часто код під мобільні пристрої та ігри пишуть так, щоб вижимати з заліза максимум продуктивності. Там може виявитися багато складної математики, оптимізації та алгоритмів.

Також на старті забудьте про роботу з мовами на літеру С (С, С++, С#). Це складні низькорівневі мови. Якщо ви новачок, то додаткова складність зменшує шанси швидко засвоїти професію. Ці мови можна обирати першими, тільки якщо у вас ґрунтовна технічна освіта, або ви реальний фанат вбудованих систем і мікроконтролерів.

Big Data (Data Scientist/Data Analyst)

— BigData — це складна сфера на стику програмування, вищої математики і бізнесу, вона вимагає серйозної технологічної бази і зрілості. Якщо лінійна алгебра, теорія ймовірності, графи, статистика і матаналіз, алгоритми і структури даних ніколи не були вашою сильною стороною, то Data Science може стати серйозним викликом на шляху в ІТ. До усіх цих технологій ви дійдете пізніше, коли освоїтесь в професії і будете готові нарощувати складність. Не ускладнюйте собі завдання на вході, — попереджає Аміна.

Складний, але підйомний напрямок для входу в ІТ — дата-аналіз. Ця спеціальність — перша сходинка в світі Big Data на шляху до більш високих посад, таких як архітектор даних чи Data Science інженер.

Дата-аналітики опрацьовують великі масиви цифрових даних і виявляють закономірності, на основі яких бізнес може скоригувати стратегію розвитку. Спеціальність вимагає фундаментальних знань в галузі аналітики даних, комп’ютерного моделювання, математики, а також знання SQL, логічних моделей і досвіду роботи з базами даних. Окрім цього, дата-аналітик добре розбирається в специфіці бізнесу, для якого опрацьовує інформацію.

Testing

— Іще однією точкою входу в ІТ може стати тестування. Основне завдання тестувальника — перевірити, наскільки продукт відповідає початковим вимогам. Він тестує усі функції програми і навмисне робить помилки, щоб перевірити її стійкість, — каже Аміна.

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

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

UX/UI Design

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

  • UX — це те, як працює продукт;
  • UI — те, який вигляд він має.

UI-дизайн — це частина UX-дизайну, пов’язана із зовнішнім виглядом продукту, яка створює емоційний зв’язок між користувачем та інтерфейсом. І UI-, і UX-дизайнери створюють емоції.

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

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

Якщо вам більше подобається творчий аспект професії, то вам в UI-дизайн. А якщо ви полюбляєте аналітику і готові залишатися в тіні, але робити речі зручнішими й простішими, то варто вчитися на UX-дизайнера.

Business Analysis

— Навіть в бізнес-аналізі не можна уникнути знайомства з кодом, оскільки один із обов’язків ВА — розуміти предметну область зі всіх точок зору, не тільки з боку бізнесу, але ще й з технічної.

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

У більшості компаній в завдання бізнес-аналітиків також входить системний аналіз. Вони проєктують моделі даних і описують протоколи взаємодії між системами, оцінюють тривалість, масштаб і етапи розробки. Іншими словами, бізнес-аналітик відповідає за управління вимогами протягом всього їхнього життєвого циклу.

Більшість завдань ВА пов’язана з розробкою детальної документації, описом user stories/acceptance criteria/use cases, моделюванням бізнес-процесів, прототипуванням рішень і створенням специфікацій.

Для роботи у кожного аналітика свій улюблений інструментарій — хтось любить малювати діаграми, хтось пише полотно тексту в Word, а хтось малює блок-схеми в Figma. Усе залежить від вимог замовника і специфіки його бізнес-домену.

DevOps

Іще одна популярна точка входу в ІТ — DevOps- чи DevSecOps-інженери. Увійти в цю професію з нуля і без відповідної технічної освіти чи досвіду майже нереально.

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

Окрім очевидного знання методології DevOps, тут треба й досвід:

  • Адміністрування операційних систем;
  • Роботи з інструментами автоматизації;
  • Написання скриптів і розробки коду на умовній трійці мов;
  • Тестування систем;
  • Роботи з мережевими і хмарними технологіями і серверною інфраструктурою.

Найчастіше DevOps-інженер має мати широкий технічний кругозір і постійно вивчати нові інструменти й технології.

Помочь определиться с профессией поможет специально разработанный карьерный тест — после его прохождения вы узнаете, какая профессия в IT подходит вам больше всего.

Хто ти у світі ІТ