Як стати веб-розробником: що радять експерти NIX

17 Липня 2020

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

У Ніксах почали навчати новачків ще до того, як це стало мейнстрімом: навчали їх на внутрішніх безкоштовних курсах, читали лекції студентам та створили безкоштовну онлайн-програму навчання. Практичний досвід Ніксових експертів та знання реальних вимог IT-ринку допомогли відібрати ефективні інструменти для самонавчання та скласти гайд, завдяки якому ваш шлях до IT стане набагато легшим. Інформація вкрай таємна. Передавати іншим обов’язково :).

7b8a8213

Чим займаються веб-розробники

Саме вони створили сторінку, на якій ви зараз читаєте цю статтю, пошуковик, у якому ви знайшли посилання на неї, вашу стрічку у Facebook, Вікіпедію та улюблені Youtube-блоги. Виходить, що ми вже не уявляємо життя без інтернету, а інтернет – без веб-розробників :).

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

При виборі напряму можна орієнтуватися однією із двох підходів. Перший – вибирати за критеріями (популярність, простота, поширеність тощо). Другий — вибирати у прикладній області, до якої лежить душа в людини. Думаю, другий підхід правильніший з погляду душевного спокою людини і взагалі любові до своєї професії. Наприклад, якщо вам цікавий світ web (сайтобудування, бекенд для додатків, інтернет магазини, інтеграції різних сервісів і т. д.), варто вивчати PHP, Go, Ruby. Якщо більше цікавить математика, складні обчислення, а такі слова, як “machine learning” та “big data” викликають справжнє трепет, варто подивитися у бік Python та інших схожих мов. Кожна мова програмування по-своєму прекрасна. Тут важливим є те, чим хочете займатися саме ви :).

Дмитро Троян, Tech Lead of PHP Department

Веб-розробники можуть працювати в одному з двох напрямків – Frontend (видима частина проекту – те, як бачить сайт або програму користувач) та Backend (серверна частина, яка відповідає за передачу/збереження/використання даних). Є й третій напрямок, який перетворює фахівців на “універсальних солдатів” – Fullstack. Тут вам доведеться працювати одночасно і з фронтендом, і бекендом.

Вибираючи один із цих напрямків, ви вже робите свій перший крок до кар’єри IT Developer. Але давайте про все по порядку.

img_3264

Frontend, Backend, Fullstack

Отже, у класичному варіанті самонавчання у вас є два шляхи – Frontend та Backend. Але є ті, хто ризикує та обирає третій варіант – йде двома доріжками до звання Fullstack Developer. Так би мовити, намагається сісти відразу на два стільці :). Це одночасно і сміливе, і небезпечне рішення — без базових знань хоча б в одному напрямку вивчати одразу два стеки технологій буде складно. І нехай ніхто не говорить про те, що це неможливо, краще все ж таки почати з початку, і не ускладнювати собі і без того непросте завдання :).

Frontend Developer займається зовнішньою частиною сайту та надає користувачеві можливість зручної взаємодії з ним. Головне завдання frontend-розробника – контролювати візуальне виконання проекту. Основні технології: HTML, CSS та JavaScript.

Думаю, вибір напряму залежить від людини. Неможливо сказати однозначно або описати за пунктами план становлення веб-розробником – можна допомогти знайти свій шлях і дати настанови, як це зробити правильно. Є люди, які хочуть бачити чи показувати іншим результати своєї роботи. У такому разі фронтенд буде кращим. Завжди можна буде скинути посилання другові і з гордістю сказати: “Все, що ти бачиш, зробив я!” Тут розробник стає експертом у створенні хороших інтерфейсів для користувача, пізнає всі тонкощі компонентно-орієнтованого програмування.

Але будемо чесними. Сам собою фронтенд рідко існує. Завжди знайдеться місце бекенду, який організує зберігання даних, їхню обробку та доступ до них. І ось якщо вам цікаво, що там “під капотом” у сайту або додатку, то вам точно бекенд. Наприклад, я позиціоную себе FullStack розробником, тому що вважаю, що не можна розібратися у всіх тонкощах веб-розробки, знаючи лише один Фронт або Бек. Розуміння взаємодії між ними дає ширший світогляд проектування систем, створення архітектури та її подальшого масштабування.

Микола Галкін, Team Lead of JS/UI and Python Department

Backend Developer — це спеціаліст, який займається всім, що знаходиться під капотом сайту: коректною обробкою запитів користувача, безперебійною обробкою серверних даних, виконання команд користувача на сайті, забезпечує взаємодію з базою даних, завантаження файлів і так далі. У своїй роботі backend-розробники використовують PHP, Ruby, Python, Go, ASP.NET та багато інших.

Fullstack – розробник повного циклу. Може працювати одночасно з візуальною та функціональною частиною сайту та самостійно створювати веб-продукти, проте як правило має не таку велику експертизу по кожному з напрямків окремо.

beddbb5dbf95d9ee9c20e

Рядок теорії = рядок коду

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

І ось цю частину за вас вже зробили експерти NIX, розробивши безкоштовні онлайн-курси PHP для самонавчання. Для комфорту студентів вони відібрали актуальну літературу, розбили курс на 3 етапи для різних рівнів знань (починаючи від новачків та закінчуючи Junior), подбали про експертну підтримку та побудували завдання таким чином, щоб теорію можна було одразу застосовувати на практиці, працюючи над реалізацією особистого проекту .

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

Дмитро Троян, Tech Lead of PHP Department

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

492a9553

Що питати у Google і куди йти за порадою

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

Для цього потрібно навчитися ставити Google правильні питання та шукати потрібну інформацію у правильних джерелах:

  • Блоги. Орієнтуйтеся на ті матеріали, які регулярно оновлюються, де пишуть та розповідають про останні тенденції сфери, дають огляди на актуальні теми та де можна обмінятися думкою, попросити поради у однодумців. Наприклад, Codeproject або Codeonion.
  • Хабр. Найбільш відвідуваний ІТ-ресурс, де можна читати статті на будь-які професійні теми, знайти відповіді на питання, що часто ставляться, і стати частиною величезного ком’юніті розробників по всьому світу.
  • Профільна література. Кожна мова має свій базовий набір книг, які доступно і легко пояснюють базові теми. До списку базової літератури можна додати книги, рекомендовані туттут и тут.
  • Гайди експертів NIX.Актуальна добірка матеріалів для базового вивчення найпопулярніших напрямків у ІТ. Гайд є список з літературою, бібліотеками та іншими матеріалами, які допоможуть швидко освоїти ази напряму та приступити до роботи над своїм першим проектом.
  • Документація. Вона є письмовим оформленням будь-якого готового проекту, включає описи всіх етапів розробки, допомагає орієнтуватися в проектному просторі і спрощує іншим веб-розробникам процес написання коду завдяки вже готовим і працюючим наочним прикладам. Зверніть увагу, що будь-яка офіційна документація буде представлена ​​англійською мовою, тому хочете вивчати IT – паралельно вивчайте англійську :).
  • Онлайн-лекції та онлайн-уроки. Щоб знайти хорошого коуча або канал із якісним контентом, звертайте увагу на кількість передплатників на каналі, наскільки автор комунікує з користувачами, відповідає на запитання та як часто викладає нові матеріали. Структура уроків та лекцій має бути простою, зрозумілою та обов’язково з прикладами. Наявність рекомендаційної бази для детальнішого ознайомлення з темою стане великою перевагою. Корисні інтерактивні уроки з PHP, Python та Ruby можна знайти тут. Відмінним помічником можуть стати платформи Coursera та Udemy, а також інші аналогічні ресурси.

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

4w9a0082

Симбіоз теорії та практики – must have новачка

І ось ви вирішили спробувати одну з мов, зайнялися самонавчанням, і раптом зрозуміли, що це не для вас – після пари годин занять у голові звучить монотонне “бззззз”, а рядки коду перетворюються на маленьких і кудись поспішають мурах. Така ситуація знайома багатьом, і якщо ви вирішили поставити хрест на кар’єрі веб-розробника, то не поспішайте :). Можливо, вирішенням вашого питання стануть профільні курси.

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

Або не шукати зовсім, а відразу піти на безкоштовні курси з frontend та backend розробки в NIX, успішне закінчення яких може перетворитися на пропозицію стати частиною Ніксової сім’ї і чи не з перших днів розпочати роботу над справжнім комерційним проектом. Щоб потрапити на них не потрібно мати ніяку магію — достатньо знати ази обраного напрямку (пам’ятаємо про гайди Ніксових експертів :)) і успішно пройти тестові завдання. І ось ви вже серед студентів невеликої групи новачків навчаєтесь писати рівні рядки коду, паралельно вивчаючи теорію під менторством досвідчених експертів NIX. А потім раз — і ви стали успішним випускником курсів та отримали запрошення стати частиною Ніксової сім’ї.

І виходить, що ми опинилися в замкнутому колі: щоб потрапити на курси, потрібно знати ази мови, а щоб вивчити ази, потрібно зайнятися самонавчанням, а ми щойно з’ясували, що самонавчання це не для вас. І як бути? Все просто:

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

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

Тому ось порада з мого особистого досвіду – напрацьовуйте практичну навичку з першого дня. Почати можна з коротких уривків коду, які допоможуть зрозуміти та закріпити синтаксис мови, пізніше перейти до алгоритмів та проектування архітектури. Але чи цього достатньо? Сьогодні вже ні. Вам доведеться навчитися працювати з бібліотеками сторонніх розробників та сервісами з API. А після цього ще доведеться розібратися з процесами командної розробки проекту.

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

Євген Котельницький, Head of Department

Самостійно вивчити ази однієї з IT-мов досить легко. Головне – це відразу застосовувати їх на практиці. Без цього слова так і залишаться словами, а рядки кривого коду ще довго переслідуватимуть вас у кошмарах.

leo_1273

Натискайте правильні педалі

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

Виправити стан речей допоможе робота над помилками – поверніться до теми, яка видалася вам найскладнішою і пройдіть її ще раз. Спробуйте використати інші інструменти або зверніться до досвідченого товариша, напишіть про проблему на форумі, спробуйте знайти відповідь у Google. Головне ваше завдання – знайти проблему та підійти до її вирішення з іншого боку.

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

P. S. Раджу новачкам кожну тему вивчати ґрунтовно, щоб крокуючи до своєї мети ви отримували не тільки задоволення, а й нарощували мускулатуру. Тоді досягши бажаного результату, ви з легкістю підніміть кубок переможця у себе над головою:).

Петр Марченко, Group Lead of PHP Department

Не забувайте, що головний інструмент самонавчання це ваша особиста мотивація. І коли вона закінчується, треба знати, де ще взяти. Це як кофеїн, тільки дуже корисний :).

492a0125

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

На мій погляд, ефективність навчання будується на систематичності, наполегливості, терпінні та вашому оточенні. Виберіть потрібну програму навчання (ми тут вже зібрали корисні гайди :)), і поставте в свій розпорядок дня регулярні заняття для вивчення матеріалів. Підпишіться на розсилку новин з обраної мови, вступіть до спільноти розробників у вашому місті, почніть з ними спілкуватися – зазвичай хлопці раді допомогти новачкам. Знайдіть собі постійного ментора, який допомагатиме вам виходити із заплутаних хитросплетінь коду. Використовуючи ці поради і прикладаючи навіть трохи зусиль, незабаром ви побачите результат. Пробуйте, не опускайте руки та все обов’язково вийде!

Дмитро Троян, Tech Lead of PHP Department

Якщо не знаєте, з чого почати, почніть з простого – відвідайте NIXMultiConf, станьте слухачем однієї з безкоштовних онлайн-лекцій NIX, де виступають не тільки Ніксові, але і запрошені експерти, або спробуйте свої сили у вивченні PHP на безкоштовній онлайн-платформі.

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

Антон Шевчук, Team Lead of Ruby Department 

Тепер вірите, що стартувати веб-розробником може кожен? А з підказками Ніксових експертів зробити це стало ще простіше – залишилося тільки почати і ось уже не за горами: “Привіт, курси навчання” або “Заради вітати вас в офісі NIX, Junior Developer”:).

Вибір за вами – продовжувати шукати відмовки або перетворити мрію на реальність. Ми завжди будемо раді підтримати вас на шляху до мети.