Що має знаті Senior Front-end Developer. Результати аналізу вакансій в Україні та Каліфорнії
Неможливо однаково добре знаті всі профільні технології. Ще складніше розібратись, які з непрофільних навичок можуть знадобитись. Чи дійсно ви вкладаєте сили в знання, на які є попит на ринку праці?
Щоб дізнатися, чого очікують роботодавці від Senior Front-end Developer, ми проаналізували 274 вакансії: 152 українські вакансії на DOU станом на 26 червня та 122 каліфорнійські на LinkedIn станом на 25 серпня. У Каліфорнії до дослідження серед інших потрапили вакансії Amazon, Apple, Atlassian, Cisco, Coursera, Hewlett Packard Enterprise, JPMorgan Chase, LG Electronics, Netflix, Siemens, Tesla, Visa, Walmart.
Ми брали всі вакансії, актуальні в конкретний день та опубліковані протягом останнього місяця. Ігнорувалися лише рекрутингові агенції. Щоб не бути Капітаном Очевидність, ми не враховували JavaScript, HTML та CSS. Детальніше про методику можна прочитати в попередніх випусках серії .
Битва фреймворків: React попереду
Більшість вакансій як в Україні, так і в Каліфорнії передбачають знання React. У Каліфорнії це навичка номер один з показником 73% згадок. Усі версії Angular та AngularJS разом узяті в обох локаціях мають приблизно 45%.
Але для прихильників Vue.js є хороша новина: фреймворк має стабільну нішу в 15-20% вакансій, що співставно з сукупною кількістю вакансій iOS-розробників. З Vue.js ви не пропадете.
Ember.js згадується майже виключно в Каліфорнії.
Сюрпризом стала вкрай низька частка React Native. Альо пояснення є: на сьогоднішній день React Native Developer є окремою спеціалізацією .
Англійська дає плюс $9K на рік
В Україні навичкою номер один є англійська мова з показником 61% згадок. Порівняймо компенсацію JavaScript-розробників залежно від рівня англійської згідно з альтернативним зарплатним віджетом .
- Elementary & Pre-Intermediate — $3797 на місяць після податків (23 анкети);
- Intermediate — $3635 (112 анкет);
- Upper-Intermediate — $3915 (147 анкет);
- Advanced — $4381 (28 анкет).
Найнижчі доходи мають спеціалісти з рівнем англійської Intermediate. Досягнувши рівня Advanced, можна розраховувати на суттєве підвищення доходу: (4381 — 3635) x 12 = $8952 на рік.
Високі доходи людей з англійською нижче Intermediate можна пояснити тім, що лише дуже крутий програміст може вижити в сучасному IT, погано володіючи мовою комунікації з замовником. Скоріше за все, підтягнувши мову до Advanced, ці люди могли б претендувати навіть не на 4381, а відмовлялися б від оферів на 5K :)
«Буде плюсом»: найперспективніші навички
Якщо якась навичка часто трапляється у розділі «Would be a plus», це говорити про ті, що знайті спеціаліста з такими знаннями доладно, альо самє такий спеціаліст потрібен на проекті. Настільки потрібен, що компанії готові брати на роботу без цих навичок та вкладати гроші в навчання. Вивчення технологій, які найчастіше трапляються в додаткових побажаннях, є ще одним шляхом до підвищення вашої цінності на ринку праці.
Для Senior Front-end Developer найчастіше в додаткових побажаннях в Україні вказують Node.js (16%), AWS (10%), GraphQL (7%), CI/CD (7%), Webpack (6%), React Native (6%), Docker (6%). У Каліфорнії до них додається Java (9%).
Україна vs Каліфорнія: відмінності
Здебільшого статистика вимог є схожою в Україні та Каліфорнії. І там, і там Redux має близько 30%, Webpack — близько 25% тощо. Альо є помітні відмінності.
У Каліфорнії кожна друга вакансія вімагає профільного диплому бакалавра. Для Java-розробника цей показник був ще вищим : майже дві третини. На цьому фоні тієї факт, що 84% вакансій України не згадують освіту навіть як «буде плюсом», демонструє рівень розчарування в наших університетах.
Ще в Каліфорнії чомусь вдвічі більше цінуються комунікативні навички: ~40% проти ~20% в Україні. Agile та Scrum теж згадуються в Каліфорнії вдвічі частіше, ніж в Україні.
Серед технологій в Каліфорнії помітно більше згадок Babel, jQuery, AJAX, Jasmine, Mocha, Chai, Gulp, Grunt. Частіше потрібно знаті back-end: Node.js, NPM, Python та Java.
Цікавинки, знайдені у вакансіях
Каліфорнія
Hewlett-Packard Enterprise шукала Senior UI Developer з 15 роками досвіду.
Компанія Netskope готова взяти на роботу Sr Full Stack UI Developer з дипломом бакалавра психології. А чому б ні?
Компанія Sk?na в Сан-Франциско пише : «We're dog friendly — bring along your four legged friend!»
Для компанії TravisMathew Apparel важливо , щоб співробітник по мірі необхідності був на зв'язку вечорами та на вихідних.
Україна
У компанії MOJAM (Харків) для співробітника є можливість отримати фінансування та запустити власний проект всередині компанії. А в компанії BCD TripTech (Київ) на власний проект співробітника виділяється один робочий день на місяць.
У Delphi Software (Київ) відкрита вакансія , що передбачає опціони на акції клієнта: австралійського стартапу Vervoe, що працює зі штучним інтелектом.
Працівники компанії SMARTCRAFT (Одеса) можуть взяти week off for parent's needs в додаток до 4 тижнів відпустки. Робота без овертаймів. А вісь в офісах Intellias у Києві та Львові є дитячі кімнати з професійним baby-sitter.
Компанія Shopmonkey Inc (Київ) пропонує компенсацію до 5000. Можливе віддалене співробітництво. Компанія Edgica (Київ) теж пропонує до 5000, відрядження до європейських країн та роботу в демократичній команді без бюрократії.
Для тих, хто любити подорожувати. Компанія X1 Group відправлятиме у регулярні відрядження з Харкова до Берліну. Вакансія компанії Youwe (Київ) передбачає відрядження до Нідерландів. А в компанії Corva.AI (Київ) є можливість відвідати США.
У компанії Xenoss (Харків) не обмежується робота з дому. Натомість компанія Pharos Production Inc (Київ) пропонує крісло, комфортне для spini, та кальян на кухні.
Для продуктової компанії Poster (Дніпро) буде плюсом доля в олімпіадному програмуванні.
Компанія Soft2bet (Київ) пропонує офіційне працевлаштування згідно з Трудовим кодексом України. Буде плюсом досвід з TDD.
Думки технічних експертів
Андрій Кобилін , Senior Front-end Developer в Beetroot
В першу чергу важливо вміти писати якісний, легко читається і передбачуваний код. Потрібно вміти розбивати функціональність на компоненти і комбінувати їх в інші, більш складні компоненти. Дуже корисно буде опанувати функціональне програмування на JavaScript. Воно зараз в тренді, так як такий код більш прогнозований і простий в розумінні. Рекомендую почитати книгу Composing Software Еріка Елліотта (Eric Elliott) по цій темі. Також корисно буде почитати про патерни програмування Learning JavaScript Design Patterns Едді Османі (Addy Osmani).
Senior Front-end розробники повинні оцінювати свій продукт з точки зору UX/UI. Тому також варто почитати хоча б базові книги по UI/UX, щоб розуміти, як поєднувати кольори, групувати елементи і т. д. Раджу почитати don't Make Me Think Стіва Крюга (Steve Krug).
Звичайно ж, як і будь-які інші Senior розробники, Senior Front-end девелопери зобов'язані вникати в проект, розуміти, хто є кінцевим споживачем, для чого впроваджується та чи інша фіча/можливість і яка її бізнес-цінність. Для цього потрібно орієнтуватися в предметній області. Якщо займаєшся додатком для фізіотерапевта, то потрібно розуміти процес діагностування та лікування, а якщо робиш програму для продажу ж/д квитків; — розбиратися у класифікації поїздів, складанні розкладу та маршрутів.
Клієнт завжди буде очікувати від досвідченого розробника ініціативності та регулярного спілкування. Тому задавайте питання, коментуйте, проактивно пропонуйте рішення складних проблем, про які замовник може і не підозрювати , тому що вони не лежать на поверхні. Наприклад таких, як поліпшення безпеки, продуктивності, оновлення до останніх версій бібліотек і т. д.
В першу чергу важливо вміти писати якісний, легко читається і передбачуваний код. Потрібно вміти розбивати функціональність на компоненти і комбінувати їх в інші, більш складні компоненти. Дуже корисно буде опанувати функціональне програмування на JavaScript. Воно зараз в тренді, так як такий код більш прогнозований і простий в розумінні. Рекомендую почитати книгу Composing Software Еріка Елліотта (Eric Elliott) по цій темі. Також корисно буде почитати про патерни програмування Learning JavaScript Design Patterns Едді Османі (Addy Osmani).
Senior Front-end розробники повинні оцінювати свій продукт з точки зору UX/UI. Тому також варто почитати хоча б базові книги по UI/UX, щоб розуміти, як поєднувати кольори, групувати елементи і т. д. Раджу почитати don't Make Me Think Стіва Крюга (Steve Krug).
Звичайно ж, як і будь-які інші Senior розробники, Senior Front-end девелопери зобов'язані вникати в проект, розуміти, хто є кінцевим споживачем, для чого впроваджується та чи інша фіча/можливість і яка її бізнес-цінність. Для цього потрібно орієнтуватися в предметній області. Якщо займаєшся додатком для фізіотерапевта, то потрібно розуміти процес діагностування та лікування, а якщо робиш програму для продажу ж/д квитків; — розбиратися у класифікації поїздів, складанні розкладу та маршрутів.
Клієнт завжди буде очікувати від досвідченого розробника ініціативності та регулярного спілкування. Тому задавайте питання, коментуйте, проактивно пропонуйте рішення складних проблем, про які замовник може і не підозрювати , тому що вони не лежать на поверхні. Наприклад таких, як поліпшення безпеки, продуктивності, оновлення до останніх версій бібліотек і т. д.
Alejandro Del Rio , Lead Software Engineer в Symphony Solutions
Хороший Front-end девелопер має:
- розуміти, як JavaScript виконується, що таке frame stack & call stack;
- розуміти різницю values types і reference types;
- знати, що таке functional scope, block scope, lexical scope;
- розуміння, як працює setTimeout, setInterval, requestAnimationFrame;
- вміння застосовувати OOP та Design patterns;
- розуміння і застосування lambda function (map, reduce, etc), Closure, Hoisting, Curring.
Хороший Front-end девелопер має:
- розуміти, як JavaScript виконується, що таке frame stack & call stack;
- розуміти різницю values types і reference types;
- знати, що таке functional scope, block scope, lexical scope;
- розуміння, як працює setTimeout, setInterval, requestAnimationFrame;
- вміння застосовувати OOP та Design patterns;
- розуміння і застосування lambda function (map, reduce, etc), Closure, Hoisting, Curring.
Тетяна Ільченко , Front-end Technical Lead в CodeIT
Для гарного Front-end розробника, як правило, не досить розбиратися тільки в PHP, HTML, CSS і одному з фреймворків (React, Vue.js, Angular etc.).
Хороший розробник повинен не тільки вміти реалізувати свої завдання, але і розуміти бізнес-ідею проекту, його технічні нюанси і можливості.
Must have для middle+:
- Deep knowledge of JavaScript;
- Algorithms and Data structures;
- Design patterns;
- Architecture patterns;
- Scalable project architecture;
- Page performance;
- Security.
Не зайвими буде базове знання back-end (Node.js, PHP, Java etc.). Воно дозволить краще розуміти архітектуру всього проекту, а не тільки його front-end частини, полегшить спілкування з Back-end розробниками, а також дозволить враховувати особливості роботи і можливості серверної частини.
Важливі знання UI/UX — Front-end розробник завжди тісно працює з дизайнерами і повинен вміти побачити недоліки та/або запропонувати альтернативний варіант рішення.
Знання в області ЅЕО — допоможуть у подальшому уникнути проблем при просуванні сайту.
Також ключовим моментом є і комунікативні навички. Front-end розробник виступає сполучною ланкою між бажаннями замовника, роботою серверної частини і користувачами. Тому дуже важливо вміти грамотно та аргументовано доносити свої думки як замовнику, так і іншим членам команди. Важливо не боятися проявляти проактивність та ініціативу у вирішенні складних завдань і постійно удосконалювати свої знання.
Для гарного Front-end розробника, як правило, не досить розбиратися тільки в php, html, css і одному з фреймворків (React, Vue.js, Angular etc.).
Хороший розробник повинен не тільки вміти реалізувати свої завдання, але і розуміти бізнес-ідею проекту, його технічні нюанси і можливості.
Must have для middle+:
- Deep knowledge of JavaScript;
- Algorithms and Data structures;
- Design patterns;
- Architecture patterns;
- Scalable project architecture;
- Page performance;
- Security.
Не зайвими буде базове знання back-end (Node.js, PHP, Java etc.). Воно дозволить краще розуміти архітектуру всього проекту, а не тільки його front-end частини, полегшить спілкування з Back-end розробниками, а також дозволить враховувати особливості роботи і можливості серверної частини.
Важливі знання UI/UX -Front-end розробник завжди тісно працює з дизайнерами і повинен вміти побачити недоліки та/або запропонувати альтернативний варіант рішення.
Знання в області ЅЕО — допоможуть у подальшому уникнути проблем при просуванні сайту.
Також ключовим моментом є і комунікативні навички. Front-end розробник виступає сполучною ланкою між бажаннями замовника, роботою серверної частини і користувачами. Тому дуже важливо вміти грамотно та аргументовано доносити свої думки як замовнику, так і іншим членам команди. Важливо не боятися проявляти проактивність та ініціативу у вирішенні складних завдань і постійно удосконалювати свої знання.
Василь Романчак , Senior Web Developer в Foursquare
5 років досвіду роботи з технологією Х не робить вас Senior девом. «Сіньйорність» залежить від уваги до деталей, ставлення до роботи, рівня англійської та ваших комунікативних навичок більше, ніж ті, як добре ви знаєте React/Angular/Node.
На мою думку, Senior деві повинні хендлити процес розробки самостійно, мати активну позицію (не потрібно казати, що ти не можеш зробити завдання А, бо не маєш тулзи Б), розуміти переваги та недоліки впроваджених рішень (бути дорослим і розуміти наслідки ваших дій). Накінець, вважаю, такі чуваки повинні сприймати проект, наче власний бізнес, за який вони заклали будинок у банку.
5 років досвіду роботи з технологією Х не робить вас Senior девом. «Сіньйорність» залежить від уваги до деталей, ставлення до роботи, рівня англійської та ваших комунікативних навичок більше, ніж ті, як добре ви знаєте React/Angular/Node.
На мою думку, Senior деві повинні хендлити процес розробки самостійно, мати активну позицію (не потрібно казати, що ти не можеш зробити завдання А, бо не маєш тулзи Б), розуміти переваги та недоліки впроваджених рішень (бути дорослим і розуміти наслідки ваших дій). Накінець, вважаю, такі чуваки повинні сприймати проект, наче власний бізнес, за який вони заклали будинок у банку.
Текст і аналітика: Дмитро та Юлія Скороход
Візуалізація даних:
Опубліковано: 30/09/19 @ 10:00
Розділ Різне
Рекомендуємо:
Product Marketing дайджест #0: хто такий PMM, небезпеки прайсингу
WWDC 2019: огляд і практичне застосування Custom Instruments і SF Symbols
Про останні податкові новинки, або Як припинити давати молоко безкоштовно
Проблеми з тестуванням на проекті для не QA
Кейс: Виведення сайту по ремонту мобільних телефонів, планшетів, ноутбуків в топ 5