Розробник: вступ до професії
Якщо раніше всі хотіли стати космонавтами, то зараз – розробниками. За даними кадрового порталу grc.ua, розробники входять до топ-5 найбільш затребуваних спеціалістів в Україні.
Технічний стек та творче мислення – ось два стовпи, що тримають розробницьку професію. Так-так, писати код – теж свого роду мистецтво. Це підтверджує Middle С++ розробник у CHI Software Володимир Білокопитий. Що ще корисно знати про цих спеціалістів? Як стати програмістом?
Разом із Володимиром розповідаємо, хто такі розробники та що потрібно новачку, щоб створювати витвори мистецтва. Тобто код!
Хто такий розробник?
У сучасному світі інформаційних технологій жоден проєкт не обходиться без розробників – спеціалістів, які займаються створенням цілого ряду продуктів: веб-сайтів, мобільних додатків, комп’ютерних ігор. Специфіка діяльності розробника напряму залежить від обраного напряму. Розглянемо їх далі.
Веб-розробка
Спеціалісти цього напряму створюють та підтримують програми World Wide Web за моделлю клієнт-сервер. Веб-розробник має три спеціалізації:
Frontend-розробник – це програміст, який створює інтерфейс, тобто видиму частина продукту, яку ми бачимо, заходячи на сайт. Frontend-розробники працюють із так званим «вічним» стеком мов програмування: HTML, CSS, JavaScript.
За роботу зсередини, серверну частину, відповідає Backend-розробник. Він пише код, який працює «під капотом» продукту, використовуючи бекенд-мову програмування (наприклад, JAVA, Python, PHP або C++). Якщо в онлайн-магазині побутової техніки ви додали до кошика чайник, а в самому кошику виявили пательню, до Backend-розробника з’являться питання.
Fullstack-розробник – це backend і frontend в одній особі. Такий спеціаліст працює над клієнтською та серверною частинами одночасно та повинен мати просунуті знання в обох сферах.
Як стати веброзробником?
Для цього важливо вибудувати для себе план навчання й знайти ментора, який би спрямовував тебе на правильні джерела та давав практичні завдання. Такого вчителя ти зможеш знайти на курсі Frontend for Backend Developer від CHI IT Academy. Зазирни на сторінку курсу та ознайомся з програмою — це може тобі допомогти!
Розробка мобільних додатків
230 мільярдів! Уявіть собі, 230 мільярдів мобільних додатків було завантажено за 2021 рік. Це понад 435 тисяч завантажень у хвилину. Кількість застосунків прогнозовано збільшуватиметься, адже це ефективний спосіб комунікації з клієнтами. Бізнес це особливо зрозумів під час Ковід-пандемії. Та й розробники швидко адаптувалися до потреб юзерів та стали створювати ще більше додатків для смартфонів, планшетів, смарт-годинників, фітнес-трекерів і таке інше. Більшість із цих пристроїв працює на операційних системах Android та iOS – мобільні розробники пишуть софт саме для однієї з них.
Розробка ігор
Вдосконалені мобільні пристрої та останні інновації дозволяють розробникам реалізувати сміливі та захоплюючі ідеї. Game development – це процес створення гри, що включає такі навички як програмування, творчий підхід, дизайн й тестування.
Що потрібно знати й вміти розробнику?
У залежності від обраного напряму перелік технічних знань може бути різним, але є й універсальні для будь-якого розробника. До ключових навичок відносяться:
- знання синтаксису обраної мови та розуміння принципів роботи з нею;
- англійська мова, не нижче рівня Intermediate;
- вміння впроваджувати різноманітні бібліотеки та орієнтуватися в їх роботі;
- використання систем контролю версій;
- вміння читати чужий код та аналізувати його.
Знання JavaScript та робота з базами даних – це важливо, водночас лише технічними навичками максимального комфорту розробнику не досягти. Чому? Відповідь очевидна – він працює в команді. Від злагодженої взаємодії з іншими розробниками, а також менеджерами, аналітиками, тестувальниками та іншими членами команди залежить успіх релізу проєкту.
Ділимося з тобою кількома особистісними навичками, якими бажано володіти розробнику будь-якого рівня, від джуна до сеньйора, для ефективної роботи.
Комунікабельність
На думку Джефа Уейнера, СЕО LinkedIn, у розробників навички комунікації розвинені недостатньо, але ж спілкування – частина робочого процесу. Зрештою, розробка продукту – це колективна робота. А тому важливо екологічно комунікувати з колегами, вміти домовлятися та доносити свої думки, вести перемовини та презентувати свою роботу.
Тайм-менеджмент
Розробнику важливо дисциплінувати себе та вміти розставляти пріоритети. Враховуй усі види своєї роботи: написання коду, мітинги з колегами, менторинг та інше. Слід розподіляти свої ресурси таким чином, щоб вчасно закривати задачі та не тормозити роботу команди.
Критика та фідбеки
У розробників розповсюджена практика code review – перевірки програмного коду іншими розробниками для подальшого покращення якості роботи. Для того, щоб code review приніс найкращий результат, кожен член команди повинен вміти критикувати конструктивно й водночас спокійно сприймати фідбек від інших. У команди спільна мета – створювати класні продукти разом.
Креативність
Те, про що ми писали на початку статті. Розробнику доводиться знаходити нестандартні рішення до поставлених завдань. Він має розвинену уяву, щоб “намалювати” схему програми й зрозуміти, що в цій системі може йти не так. Саме такі навички є проявом розробницького креативу.
Звичайно, це не весь перелік особистісних навичок, які бажано мати розробнику. До них можемо також віднести ініціативність, стресостійкість, лідерство та інші. Чим більше таких навичок у тебе, тим більше шансів на успіх.
Наскільки складно стати програмістом?
Однозначної відповіді на це запитання просто не існує. Хтось володіє неабиякими навичками вирішувати складні завдання, хтось уміє вчитися та швидко поглинає інформацію, хтось банально має сильне бажання. І, очевидно, остання характеристика є вирішальною в опануванні програмування: якщо в тебе є достатня мотивація та бажання, то великий обсяг даних, які потрібно обробити й вивчити, буде не проблемою.
Проте слід пам’ятати, що стати програмістом з нуля — це не лише вивчити мову програмування. Розробник має постійно слідкувати за тенденціями ринку, трендами розробки й вивчати нове й корисне для свого кар’єрного шляху. Треба вміти слухати, бути зосередженим та вміти працювати як наодинці, так і в команді. Це і формує успіх програміста.
Отже, стати програмістом складно, але якщо в тебе вдосталь мотивації вчитися й працювати, це не стане проблемою в опануванні програмування.
Як обрати свою мову програмування та як стати розробником – впевнені, ці питання хвилюють кожного початківця. Middle C++ розробник Володимир Білокопитий готовий поділитися власною історією успіху та відповісти на актуальні запитання.
Коли ти зрозумів, що хочеш стати розробником?
Ще в школі я любив і добре знав математику. Вибір майбутньої професії був для мене бажаним й очевидним – програмне забезпечення. Тож я вступив на цю спеціальність до Львівського Політехнічного Університету. Паралельно з навчанням я мав активне студентське життя: організовував проєкти для студентів, їздив за кордон на програми обміну, прокачував софт скіли. Це надавало мені енергії та мотивації займатися далі тим, що подобається.
А вже пізніше – освітні курси, власні невеликі проєкти, перша робота й перші серйозні продукти. Моїми розробками на старті були розумне радіо для машини, програма штучного додавання реклами до спортивних трансляцій, GUI-гаманець криптовалюти та лазер для викарбовування медичних приладів.
Отже, відповідаючи на часте питання “Чи можна стати програмістом без освіти?”, хочу сказати, що так — можеш спробувати, але буде дуже складно, якщо в тебе немає університецької бази.
Ти пишеш код на C++. Чому саме ця мова програмування?
С++ вважається однією з найважчих мов програмування, але від того й цікавіше. C/C++ – низькорівнева та має максимально швидке виконання коду порівняно з більш високорівневими мовами (Python, C#, Java).
Знання С++ допомагає зрозуміти всі деталі процесу роботи операційної системи зсередини. Так, цією мовою написані Linux, Microsoft Windows та MacOS. Крім того, С++ постійно оновлюється та поповнюється новими інструментами.
Також мені подобається рівень абстракції цієї мови, робота на ній дає контроль над тим, що робиш. Простіше кажучи, я знайшов СВОЮ мову, насолоджуюся процесом написання й раджу всім розробникам відчути те ж саме.
А як новачку обрати свою мову програмування?
У світі нараховують кілька сотень мов програмування, Вікіпедія про всі розкаже. Але тобі достатньо знати хоча б одну-дві з найпопулярніших, ті, якими частіше пишуть, та ті, що цікавлять потенційних роботодавців.
Вибір мови програмування для конкретного проєкту залежить від напряму розробки, від характеру проєкту та від ОС, на якій він створюється. Для початку обери спеціалізацію, в якій будуватимеш кар’єру – веб-розробка, ігри, мобільні додатки, робота з даними. Кожна з них має свої мови програмування, одну з яких і потрібно обрати. Та знай, що мова – лише інструмент, з яким ти працюватимеш. Спочатку закцентуй свою увагу саме на виборі спеціалізації.
Я знаю кілька мов, серед яких, окрім С++, є JavaScript і Python. Звісно, знаю й базу: CSS, HTML. Початківцям раджу вивчати JavaScript, Python, Java, C/C++. С++, як на мене, найбільш оптимальна, та з неї легко перейти майже на будь-яку іншу мову програмування.
Над яким проєктом ти зараз працюєш?
У CHI Software я займаюся розробкою математичного ядра для систем домашніх асистентів (Amazon Alexa, Hey Google і тд.) для людей з вадами мовлення. Для мене це неймовірно цікавий і вагомий проєкт. Суть системи в тому, що є аудіофайл (людина з вадами мовлення на мікрофон записує повідомлення), а спеціальна програма обробляє запис і виводить у текст. Щоб перетворити аудіо в текст, потрібен код, який і є посередником зчитування. Розуміння того, що система допомагає людям із вадами мовлення легше спілкуватися з іншими, дуже надихає.
У розробці яких проєктів хотів би ще попрацювати?
Це однозначно буде геймдев, розробка ігор. Мене захоплює цей напрям. Це зазвичай грандіозні проєкти, за результатом яких цікаво слідкувати – що пішло так, а що не так під час його розробки. Але до цього етапу я перейду, коли візьму максимум від позиції C++ розробника. Також бачу себе в менеджерській роботі та мрію стати тім лідом команди.
Як стати програмістом з нуля?
Почни з чіткого розуміння того, що саме ним ти себе бачиш. Знати математику, англійську й писати код як хобі – це успішне комбо для тих, хто точно хоче в розробку.
Люби вчитися: визначся, як краще сприймаєш інформацію: читаючи книги, проходячи курси, дивлячись блоги. А краще – використовуй усього потроху й доповни ці знання спілкуванням із розробниками на форумах та мітапах. ІТ-сфера постійно перебуває в динаміці, і бажання завжди розвиватися й наздоганяти сучасні тренди – корисна риса для розробників.
До слова, раджу бути обережним із фрілансом. Відусюди кажуть, що це ж self-employment, мовляв, реєструйcя на фрілансерських платформах, бери перші проєкти й злітай. Можливо й так, але, як на мене, то лише ілюзія – фрілансерські проєкти забирають багато твого часу та навіть можуть призвести до вигоряння.
Зрештою, слухай себе, свої бажання, не нехтуй комфортом та власним спокоєм – обирай професію й напрям, від яких ти отримуватимеш задоволення та зростатимеш. Вірю в тебе!
курси, які можуть тебе зацікавити
Цей матеріал ще ніхто не прокоментував
Може, ти станеш першим?