Історія спеціальності
Ввиникнення програмування як занять і, особливо, як професійної діяльності важко датувати однозначно. Часто першим програмованим пристроєм прийнято вважати жаккардовий ткацький верстат, побудований в 1804 Жозефом Марі Жаккаром, який зробив революцію в ткацькій промисловості, надавши можливість програмувати візерунки на тканинах за допомогою перфокарт. Перший програмований обчислювальний пристрій, "Аналітичну машину", розробив Чарльз Беббідж (але не зміг її побудувати). 19 липня 1843 графиня Ада Августа Лавлейс, донька великого англійського поета Джорджа Байрона, як прийнято вважати, написала першу в історії людства програму для Аналітичної машини.
У своїй першій та єдиній науковій роботі Ада Лавлейс розглянула велику кількість питань. Ряд висловлених нею загальних положень (принцип економії робочих осередків пам'яті, зв'язок рекурентних формул із циклічними процесами обчислень) зберегли своє важливе значення й у сучасного програмування. У матеріалах Беббіджа та коментарях Лавлейс намічено багато понять, які стали вживатися лише у 1950-х роках
Аду Августу, графиню Лавлейс, прийнято вважати почесним першим програмістом (хоча, звичайно, написання однієї програми за сучасними мірками не може вважатися родом занять чи професійною діяльністю). Історія зберегла її ім'я в назві універсальної мови програмування «Ада» Перший програмований комп'ютер (1941 рік), перші програми для нього, а також (з певними застереженнями) першу мову програмування високого рівня Планкалкюль створив німецький інженер Конрад Цузі.
Напрямок у веб-розробці
В області веб-розробки існує три напрямки:
- Front-end developer. Такий співробітник концентрується на візуальній частині проекту, що включає зовнішній вигляд ресурсу, його інтерфейс, всілякі додатки. Він робить максимально комфортним користування кожною сторінкою сайту, тобто орієнтується на клієнтську сторону ресурсу. Його основні інструменти - CSS, HTML, JavaScript. Цей перелік доповнюється ще цілим переліком програм, призначених для покращення роботи сайту: Bootstrap, jQuery, AngularJS, LESS, Sass/SCSS та інші.
- Back-end developer. Цей спеціаліст займається серверними технологіями. Він отримує запит від фронт-енду, обробляє його і передає назад у доступній для клієнта формі. Те, що відбувається на стороні сервера, користувачеві недоступне, він бачить лише кінцевий результат і не може втрутитися ззовні в роботу програми. Розробник з бек-енду використовує наступний інструментарій: різні мови програмування (PHP, Perl, Java, Python, Ruby), фреймворки (Kohana, Codeigniter, Yii), а також MySQL для збереження даних.
- Fullstack-розробник-професіонал, який вміє виконувати завдання backand та frontend-розробника. Таких майстрів досить мало, бо дуже важко освоїти весь спектр знань.
Навички та вміння frontend-разработчика
SOFT SKILLS
- Комунікабельність та вміння правильно зрозуміти задум замовника
- Увага, терплячість та усидливість
- психологічна стійкість, особливо при невдачах
- Готовність до командної роботи
- Здатність переносити розумові навантаження
HARD SKILLS
- Хоча б трохи писати unit-тести
- Розуміти, як влаштований протокол HTTP
- Малювати клікабельні прототипи в Figma
- Працювати с сітками Bootstrap та Grid Loyout
Популярні мови та технології для frontend-розробки
Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.
HTML- стандартизована мова розмітки документів для перегляду веб-сторінок у браузері.
CSS -формальна мова опису зовнішнього вигляду документа, написаного з використанням мови розмітки.
React- JavaScript-бібліотека з відкритим вихідним кодом для розробки інтерфейсів користувача.
JavaScript(JS)- мультипарадигменна мова програмування. Підтримує об'єктно-орієнтований, імперативний та функціональний стилі.
PHP- скриптова мова загального призначення, що інтенсивно застосовується для розробки веб-додатків.
Плюси та минуси професії
Плюсы
- Входить до рейтингу найпопулярніших професій.
- Заробітна плата фахівця вища за середню зарплату по країні.
- Можливості працювати віддалено.
- Не завжди потрібний диплом.
- Можливість стати фахівцем у молодому віці.
Мінуси
- Сидяча робота за комп'ютером, що потребує постійної концентрації.
- Необхідно в регулярному відстеженні останніх розробок та освоєння нових навичок.
Скільки отримують веб-розробники?
У середньому "Web-програміст" в Україні заробляє 22500 грн. Це медіана заробітних плат за даними зі 108 вакансій, розміщених на Work.ua із заголовком «Web-програміст» та за запитами-синонімами«Web developer», «Веб-программист», «Web programmer» та инші.
Рівні спеціалістів:
Junior-програміст-початківець, який знає базові речі і розуміє принципи роботи свого інструменту. Навіть якщо ви тільки недавно почали вивчати програмування, то вже можете претендувати на звання джуна – у гіршому випадку це буде вакансія стажера, що непогано для початку.
Middle-розробник, який має певний досвід у програмуванні. Він може самостійно виконувати складні завдання, але йому необхідно вказати напрямок
Senior-досвідчений розробник, який побачив багато коду, що набив купу шишок і зміг зробити з цього правильні висновки. Основне завдання синьйора - приймати правильні технологічні рішення у проекті. «Правильні» — це такі, що приносять максимальну користь бізнесу та мінімізують витрати.
Напрямок | Кількість вакансій | Junior | Middle | Senior |
Fullstack-розробникк | 340 | 20 | 43 | 66 |
Backend-розробник | 1099 | 17 | 40 | 55 |
Frontend-розробник | 2159 | 17 | 40 | 55 |
Перспективи професії
Сучасні веб-програми, як правило, клієнт-серверні. Клієнтську частину розробляє фронтенд-програміст, а серверну – бекенд-розробник. Фахівці, здатні виконувати обидві ці ролі, називаються фуллстек-програмістами. Незважаючи на те, що зараз дизайнер може за допомогою конструктора створити сайт, затребуваність у web-програмістах не зменшується, а тільки збільшується. Найчастіше для малого бізнесу досить готових рішень, але якщо потрібна автоматизація бізнес-процесів або складні програми (сайти) у мережі Інтернет, то без web-програміста не обійтися. Термін «web-програміст» дуже широкий, оскільки web-сфера різноманітна, ділиться на профілі, якими працюють вузькі фахівці.