Якщо ви досі не подивилися "Матрицю", відразу попереджаємо: СПОЙЛЕРИ!
А якщо дивилися, то пропонуємо насолодитися моментами з фільму і при цьому зробити кілька хороших кроків на шляху до веб-розробки.
Якщо ви вирішили стати хорошим веб розробником, перед вами відкривається непростий шлях, пройти який зможуть лише ті, хто дійсно захоплений програмуванням.
У цій статті ми дамо поради про те, як стати професійним веб розробником з нуля. Вам потрібно буде багато всього вивчити, а також найкращим способом буде, якщо ви знайдете собі ментора, який перевірятиме ваш код.
Для початку розберемося з визначеннями.
Чим займається веб-розробник?
Веб розробник займається розробкою та підтримкою веб-сайтів і веб-додатків. Процес створення дробиться на етапи, кожен з яких виконують різні розробники. Ви можете працювати з кодом, який відображається в браузері, а можете зосередитися на серверній частині.
З чого почати?
Отже, для того, щоб у перспективі влаштуватися на роботу в хорошу компанію, потрібно вчитися. Ми рекомендуємо вивчити основи, на яких будується будь-яка серйозна мова, втягнутися в принципи програмування і потім вибрати те, що найбільше підходить душі.
Незабаром на тебе чекає вибір - Backend або Frontend.
- Вивчаємо HTML
HTML - це база баз, з якої починає будь-який програміст. Ця мова потрібна для того, щоб контролювати вміст і розмітку веб-сторінок.
- Вивчаємо CSS
Каскадні таблиці стилів необхідні нам для того, щоб налаштовувати зовнішній вигляд елементів на веб-сайті.
- Вивчаємо JavaScript
Ця мова дуже популярна, велика кількість сайтів і веб-додатків містить код, написаний JavaScript. Вона стане в пригоді вам, і якщо ви хочете стати front end-розробником, і якщо хочете працювати на back end
- Вивчаємо jQuery
jQuery - це бібліотека, яка використовується під час розробки на JavaScript. Для початкового рівня достатньо вміти підключати плагіни за допомогою бібліотеки.
Коли ви вивчите основи цих мов, ви зможете перейти до вибору свого покликання - front end або back end. Різниця в тому, що перший код взаємодіє з користувачем, а другий взаємодіє з даними на сервері.
Пам'ятаєте, як Меровінген запрограмував тортик для дівчини в червоному? Так ось Меровінген - бекендщик, а фронтендщик у цьому випадку домалював трояндочку на тортику.
Що робити, якщо я хочу стати front end-розробником?
Шлях від верстальника до фронтендщика - це як вийти з матриці й почати розуміти, як усе працює, вивчити JavaScript глибше. Ви відчуєте себе Нео, який почав бачити код Матриці.
- Необхідно поглибити знання HTML, CSS.
- Вивчити клієнтський JavaScript
- Вивчити jQuery
Для рівня frontend-фахівця необхідно не просто вміти зверстати, а прикрутити до бекенду або API.
- Вивчіть фреймворк
Будь-які завдання вирішуються за допомогою використання фреймворків, оскільки вони полегшують роботу з мовами програмування. Для того, щоб зробити вибір серед безлічі фреймворків, вивчіть вакансії та зрозумійте, яка з них має найбільший попит у компаніях, що вас цікавлять.
React JS - фреймворк для створення інтерфейсів
Angular 1 і 2 - дві версії фреймворку вийшли абсолютно різними, популярністю користується друга версія.
- Вивчити CSS-фреймворк, який працює разом із JS-фреймворком
Bootstrap
Material Design
Що робити, якщо я хочу стати back end-розробником?
Бекенд-розробник - це головний архітектор Матриці:
Програмісти працюють з API, парсерами, архітектурою баз даних. Усе має працювати чітко, ви маєте контролювати кішку і розуміти, де вона має пробігати двічі, а де ні.
Back end web-розробники обирають мову, якою їм подобається програмувати, або ж ту, яка більш затребувана у сфері.
Ви можете вибрати:
- C# (.net)
Мова відповідає за Enterprise-розробку складних високонавантажених систем, які зав'язані на Microsoft екосистемі. Використовуються для програмування і десктопних, і веб-додатків.
Проводячи аналогію з нашим фільмом, скажемо, що програмістам, які пишуть на C# і .net, дуже складно вийти з матриці, це немов матриця в матриці, оскільки мови вузькоспеціалізовані.
- Python
Ця мова легка у вивченні, ба більше, з кожним роком вона набирає популярності, особливо на західному ринку. За допомогою Python ви зможете швидко виконувати поставлені завдання. Писати нею можна все, що завгодно, але здебільшого, мова націлена на скрипти додатків і на ОС Linux.
- JavaScript
Ця мова використовується як для фронтенду, так і для бекенду. Ви можете розширити навички, вивчити Node.JS (Швидка мова для розробки навантажених проєктів: чатів, аукціонів. Основне призначення - обробляти багато маленьких запитів) Express (фреймворк для Node.JS), MongoDB (один із движків бази даних, документоорієнтований).
- PHP
Як сказав один із наших розробників, знаючи PHP, можна все:) PHP - як агент Сміт у "Матриці" - може бути ким завгодно. Переважно використовується для створення веб-додатків. Затребувана мова програмування, яка до того ж не складна у вивченні. На додаток вивчіть популярні фреймворки, наприклад, розробка на laravel, symfony, yii дуже затребувана зараз. Більше про те, як стати PHP-розробником, читайте у статті в нашому блозі.
Серед Backend-розробників виділяють початковий рівень - CMS-розробники (wordpress, joomla, modx evolution) і просунутий - робота з фреймворками, розуміння MVC (архітектура побудови веб-додатків), робота з патернами програмування (від рівня знання розуміння до рівня використання).
Як напрацювати портфоліо?
Вам дуже пощастить, якщо якась компанія візьме вас на стажування і ви практикуватиметеся та напрацьовуватимете портфоліо. Однак реальність свідчить про те, що для того, щоб влаштуватися на роботу, необхідне портфоліо і реальні проєкти.
Перший крок до цього - навчіться керувати кодом і публікувати його. Чудовий ресурс для цього - GitHub. Також за допомогою нього ви можете взяти участь у розробці проєкту з відкритим вихідним кодом - щось виправити або запропонувати кращий варіант.
Потім зробіть кілька простих проєктів - блог, невеликий сайт, календар, це дасть вам змогу втягнутися і набити руку.
Радимо вам переверстати наявні сайти або написати аналоги.
Хороші варіанти для напрацювання повноцінного проекту:
Напевно хтось із ваших друзів або знайомих потребує сайту або веб-додатку. Зробіть для них розробку проекту безкоштовно. Поставте дедлайн - в ідеалі менше 90 днів. Спробуйте вибудувати взаємовідносини як із клієнтом, аргументуйте свою точку зору щодо проєкту, але водночас намагайтеся прислухатися до пропозицій замовника. ще один варіант - робота з некомерційними та благодійними організаціями. Ви можете створити для них сайт або лендінг, таким чином отримавши нову роботу в портфоліо.
Як отримати першу роботу?
Коли у вашому портфоліо вже є кілька проєктів, саме час вбити в пошук "робота веб розробник" або подати резюме в компанію мрії.
Якщо вам більше імпонує робота на фрілансі, ви можете спробувати сервіси Upwork, Fiverr, PeoplePerHour, але будьте готові до того, що починати потрібно буде з маленьких зарплат.
Але якщо ви зосереджені на пошуку постійної роботи, вам допоможе створення сайту, на якому ви розмістите портфоліо. Особливу увагу приділіть опису проєктів, акцентуйте увагу на тому, як ваша робота вирішила бізнес-завдання замовника. Професійний web розробник зосереджується не тільки на особистих результатах, а й на практичній користі для клієнта.
Поради веб-розробників компанії Artjoker
- Радимо вам пробуватися в невеликі компанії, щоб набратися більше досвіду і підучитися у досвідчених розробників. Тут важливе вміння працювати в команді, спілкуватися із замовниками, розуміти, чого вони хочуть і доносити своє бачення. Також звертайте увагу на те, чи є в компанії система грейдингу і чи зацікавлений роботодавець в особистісному зростанні співробітників. У такому разі, у вас буде хороший тімлід, працюючи з яким ви зможете розвиватися.
- Не покладайтеся сліпо на курси, які обіцяють зробити з вас відразу Middl'а, без самостійної наполегливої роботи, практики результату не буде, ви просто витратите гроші.
- Якщо вас більше цікавить створення інтернет-магазину, вивчіть популярні фреймворки і CMS, на яких вони розробляються. І шукайте "свою" мову, з якою вам буде найкомфортніше працювати.
- Англійська - must have для веб-розробки, вам потрібно розуміти документацію, а в перспективі працювати із західними замовниками.
- Не женіться за модною мовою програмування - кожна мова потрібна для певних цілей. Згадайте - Тенк завантажував у мозок потрібні програми для розв'язання завдань: джиу-джитсу, щоб накостиляти агенту, а щоб завалити гелікоптер, потрібні навички управління базукою. Так і з розробкою - JavaScript хороший для написання через SPA-додатки, Node.JS швидко вирішує невеликі завдання, .NET і JavaScript - більш глобальні речі.
- Нео був обраним, але навіть у нього не вийшло з першого разу перестрибнути з одного даху на інший. Помилки загартовують - пишіть одну й ту саму програму, переверстуйте сайт доти, доки не вийде ідеально.
- Будьте скромними, як Нео:)
Якщо ви хочете дізнатися більше про життя і роботу в Artjoker, читайте "50 фактів про роботу в Artjoker" і дивіться відео:)