Стипендія iм. Миколи та Антонiни Надольських (вступникам на БП "Інженерія програмного забезпечення" ФІ НаУКМА)
Факультет інформатики - що потім? Перспективи роботи в ІТ
Найчастіше після закінчення факультету інформатики випускники займають посаду програміста. Далі йдуть різноманітні інші посади в ІТ, такі як тестувальник, веб-дизайнер, верстальник, seo-спеціаліст, системний адміністратор, адміністратор баз даних, адміністратор сайту, працівник технічної підтримки та інші. Після того, як випускники набирають достатньо досвіду вони можуть стати системними архітекторами, тімлідами, продакт-менеджерами та технічними директорами. Також випускники стають викладачами, науковцями, аналітиками. Деякі випускники працюють в сферах не пов'язаних з IT, найчастіше це творчість та управлінська робота.
Коротко опишемо як розробляється програмне забезпечення в ІТ фірмах і чим займаються різноманітні спеціалісти. ІТ компанії поділяються на продуктові, аутсорсингові і інтеграційні. Продуктові фірми розробляють програмний продукт, права на який належать їм, і продають його. Інтеграційні компанії допомагають клієнтам кастомізувати та інтергрувати продукти продуктових компаній. Аутсорсингові компанії розробляють програмне забезпечення на замовлення; при цьому права на продукт належать замовнику. Наступна схема роботи більше стосується аутсорсингових фірм, адже саме вони є найбільш розповсюдженими в Україні.
Спочатку менеджер спілкується з замовником і формує документ з вимогами. Тут важливою є роль продакт-менеджера. Він/вона повинні правильно сформулювати вимоги замовника у технічне завдання, оцінити можливості реалізації. Надалі продакт-менеджер складає план робіт для команди програмістів, оцінює кількість годин, що потрібні для кожного етапу робіт. В процесі розробки слідкує за виконанням плану, спілкується з клієнтом щодо ходу роботи, змін у завданні та можливих проблем. Продакт-менеджер має розуміти як працює програма, проте він/вона зазвичай не працює безпосередньо з кодом. Ця робота потребує високих комунікативних та управлінських здібностей і більше пов'язана з бізнес-процесами. Інколи в компаніях є люди, які de facto є помічниками продакт-менеджерів та можуть називатися по-різному, наприклад, консультантами. На таку посаду можна претендувати й одразу після університету.
Після того, як початкові перемовини завершилися, в великих та середніх компаніях розпочинає роботу архітектор програмного забезпечення. Він/вона має бути людиною, яка добре знається у всіх тонкощах програмування, розуміє різноманітні патерни і парадигми програмування та вміє їх використовувати. Архітектор є більш інженерною посадою, найкращі з них стають технічними директорами (СТО). В маленьких фірмах розробкою архітектури займаються програмісти.
Коли план робіт та архітектура готові, до роботи приступає команда програмістів, яка втілює все це в життя. Програмісти пишуть і відлагоджують програмний код. Зазвичай в команді працюють менш і більш досвідчені програмісти (junior, middle & senior). Досвідчений програміст виступає лідером команди (тім-лідом), керує членами своєї команди, співпрацює з продакт-менеджером і архітектором. Випускники ФІ зазвичай спочатку претендують на посаду молодшого програміста (junior developer) і рухаються по кар'єрній драбині далі, набуваючи досвіду.
Важливою в розробці також є команда тестувальників. Тестувальники перевіряють продукт на працездатність та відповідність вимогам. Ще не вдалося написати жодного продукту, в якому б зовсім не було помилок (багів). Тестувальники відловлюють їх та повідомляють про них програмістам, підвищуючи якість кінцевого продукту. Тестувальником можна стати одразу після університету.
В деяких компаніях є окремий підрозділ спеціалістів технічної підтримки. Наприклад, якщо компанія випускає свій продукт, то вона зазвичай має команду, яка відповідає на питання і скарги клієнтів, що виникають в процесі експлуатації. Інколи це просто консультування, а інколи клієнти виявляють помилки, які були пропущені тестувальниками. Тоді працівники help desk повинні це задокументувати й звернутися до інших підрозділів з тим, щоб у наступній версії програми ці помилки були виправлені.
Поговоримо також трохи про веб-розробку, яка трохи відрізняється від інших видів розробки. Подивіться на будь-яку сторінку в інтернеті. Ви бачите інтерфейс: панелі, кнопки, форми, текст, таблиці тощо. Дизайн всього цього малює веб-дизайнер. Це людина, яка має одночасно розбиратися і в дизайні, і в технічній стороні питання. Верстальник втілює дизайн в коді (найчастіше HTML/CSS). Веб-програміст пише програмну логіку, яка стоїть за інтерфейсом. Частково результат роботи верстальника/програміста можна подивитися, якщо натиснути Ctrl+U в браузері (цей код діючий, але спотворений з технічною метою). Контент-менеджер пише тексти для наповнення сайтів. Добре якщо контент-менеджер є також seo-спеціалістом (знає як підвищити позицію сайту у видачі пошукових систем та відвідуваність, від чого залежить прибуток).
Юлія Ісаєва, ФІ НаУКМА`17