Інтерв’ю з розробниками: як досягти успіху та в чому підводні камені професії
Чи є певний перелік знань і навичок, які допоможуть вам стати супер професійним розробником? Що варто робити на початку кар’єрного шляху? І чому ця професія така популярна сьогодні?
З усім цим переліком питань ми прийшли до інженерів-розробників Integrity Vision — Сергія Кухара та Віктора Іванченка. Дізналися про кар’єрний шлях, підводні камені та навіть випитали кілька цінних порад для розробників-початківців!
Сергій Кухар — інженер-програміст
В чому полягає твоя робота і чим найбільше вона тобі подобається?
В компанії я починав як IBM BPM розробник. Моя робота полягала в написанні скриптів на JavaScript. Зараз я працюю в команді, яка займається інтеграцією BPMS Camunda, як Java розробник.
Як стати розробником?
Я не одразу навчався комп’ютерних наук. Вже маючи дві освіти (фінансову та інженерно-авіаційну), навчався в комп’ютерній академії “Шаг” на спеціальності Розробник програмного забезпечення. Тому, в ідеалі, варто одразу йти в університет на computer science — але мій шлях був іншим.
У суспільстві трохи ідеалізують професію девелопера. Як виглядає ця сфера зсередини? І які є підводні камені?
Якщо мрієте стати інженером-розробником — маєте бути готовими до постійного навчання та овертаймів. А ще вам часто доведеться жертвувати часом із сім’єю у свій вільний час та у вихідні для навчання. Якщо складнощі вас не лякають — тоді сміливо обирайте цю професію!
Що має знати розробник сьогодні, щоб бути успішним завтра?
Дуже важливий момент в цій професії — розробнику потрібно розвивати та підтримувати свої знання up-to-date до того стеку технологій, на якому він працює. А також постійно відстежувати тенденції у сфері.
ТОП-3 поради для розробників-початківців від тебе?
- Багато навчатися, щоб мати сильну базу і розуміти як все працює “під капотом”
- Багато практики.
- Не опускати руки, коли не виходить — майте трохи терпіння та наполегливості!
Віктор Іванченко — керівник команди Camunda
В чому полягає твоя робота та чим найбільше вона тобі подобається?
Моя робота полягає в створенні продуктів/сервісів, які дозволяють нашим замовникам:
- Надавати послуги своїм клієнтам швидше та якісніше;
- Підвищити швидкість виконання, прозорість і якість своїх внутрішніх корпоративних процесів.
Мені подобається в роботі те, що я можу своїми руками створити щось нове (хоч до цього і не можна доторкнутися). Ідеально для мене — якщо це нове до того ж і корисне.
Як стати розробником?
Потрібно почати щось розробляти, можливо, почати з банальної автоматизації якихось рутинних дій (за умов, що твоя робота вже якось пов’язана з ІТ — наприклад, адміністратор, контент-менеджер). Підготувати парочку bash-скриптів (можна скачати книжечку з прикладами та практичними завданнями, спробувати їх пройти, а потім не побояться застосувати знання на практиці). Або спробувати зверстати HTML сторінку. Мені здається, що почати освоювати розробку з HTML — буде найлегше для старту. Для цього не потрібно взагалі ніякі додаткові інструменти. Ти відразу можеш побачити своє творіння і відразу зрозуміти — розробка це взагалі твоє чи ні.
Потім, звісно, варто пройти професійні курси, щоб якось розширити кругозір і зрозуміти для себе — в якому напрямку варто рухатися та розвиватися далі.
Для людини, яка хоче стати розробником і при цьому не працювала до цього в ІТ, варто почати зі спеціалізованих курсів. Але краще за скриптовими мовами програмування, вони легше заходять + на них можна писати абияк. Але так чи інакше варто розуміти — “твоє це чи ні”.
У суспільстві трохи ідеалізують професію девелопера. Як виглядає ця сфера зсередини? І які є підводні камені?
Існує розповсюджена думка що, будь-який розробник, навіть початківець, з ходу отримує захмарну зарплату. Хотілося б відзначити, що дійсно, з навичками та досвідом кваліфікований розробник може отримувати непогані гроші. Але це явно не космічні суми та точно не межа для українського суспільства. Саме по собі ІТ та сфера розробки — це галузі, які обслуговують фінсектор, енергетику, телекомунікації, торгівлю. Через це, мені здається, якщо людина хоче заробляти багато — їй варто дивитися в цей бік. Інше питання в тому, що зараз в ІТ галузь увійти легше і розробники мають великий попит.
Зі сторони може здатися, що розробники працюють самі по собі, постійно в комп’ютері, ні з ким не спілкуються — це не зовсім правда. Так, дійсно, є частково правдиві коментарі. Проте переважно розробка — це командна робота. Особливо, якщо йдеться про якісну розробку нового продукту або підтримку чинного. На сьогодні розробникам потрібно багато спілкуватися в команді, обмінюватися досвідом, спільно знаходити, обговорювати та приймати рішення.
Що має знати розробник сьогодні, щоб буті успішнім завтра?
Думаю, спершу варто пам’ятати те, що він засвоїв вчора і позавчора.
Зараз дуже популярний тренд мікросервісов, хмарної розробки та т.п. Але, попри всі новомодні віяння, мені здається, вони на наш ринок вони зайдуть ще не скоро. Більшість замовників все ще орієнтуються на класичну архітектуру, класичні варіанти розгортання і супроводу продуктів. З усім тим, рано чи пізно тренд дійде і до нашого ринку, і розробникам однозначно варто дивитися в бік розробки cloud-ready додатків, створення програмного забезпечення, що базуються на розподіленій та мікросервісній архітектурі. І найголовніше — розуміти, де це все застосовувати доречно, а де — ні.
ТОП-3 поради для розробників-початківців від тебе?
- Навчіться читати стек-трейси та логи помилок. Це дуже сильно допомагає при розборі інцидентів і проблем.
- Потрібно добре розібратися в тому, як працює стек протоколів TCP/IP, разом з прикладними протоколами. І особливо TLS.
- Пишіть юніт-тести відразу в міру розробки/навчання. Навичка написання тестів є вагомим не лише під час співбесід, але ще й дуже добре допомагає вам під час розробки. До того ж написання тестів — must have для будь-якої якісної розробки.