
Курс «Front-End з нуля » в Web Academy один із найпопулярніших неспроста. Адже перевага Front-End у тому, що розробник одразу бачить результат своїх зусиль. А це дуже впливає на бажання розвиватися та працювати далі.
Команда Web Academy вирішила додати вам ще більше мотивації для вивчення програмування. Тому розпитали фахівців рівня Senior про те, на що робити акценти початківцям у Front-End та яких помилок уникати, щоб розвиватись у сфері.
Ілля Литвинов
Senior Front-End Engineer в Wix.com
Для розробника Junior всі технології будуть корисними, але акцент я б робив на фундаментальних знаннях в CSS і JavaScript. Плюсом також буде знання основ одного з найпопулярніших фреймворків: React або Angular, можливо, Vue. І звичайно, не варто забувати про знання таких інструментів як npm та webpack. Це теж добрий плюс на старті.
За hard skills потрібно підвищувати експертизу у перерахованих вище технологіях. І, звичайно, знати і регулярно покращувати свою англійську.
З soft skills – навичка комунікації. Потрібно банально вчитися спілкуватися з колегами однією мовою, вчитися висловлювати м’яко критику.
Для Junior’a важливо адекватно реагувати на критику з боку колег. Цього дійсно часто не вистачає розробникам-початківцям.
Звичайно можна. Все залежить тільки від прагнення та здібностей кожної людини.
Якщо людина має інженерну освіту (будь-яку), або просто швидше розбирається в усьому новому, то їй буде трохи простіше. Але навіть якщо ви гуманітарій, це не привід наперед здаватися і нічого не пробувати. У будь-якому разі успіхи залежатимуть лише від вас.
Наталія Теплухіна
Principal Engineer в GitLab
HTML, CSS, JS — в першу чергу. Зауважую, що зараз побільшало розробників, які намагаються розпочати навчання одразу з фреймворків, пропускаючи базу. Я вважаю, що це не правильно. У тій же документації Vue ми припускаємо, що читач добре знає все перераховане вище.
Освоїли основи — вивчіть один з фреймворк на рівні «можу зробити простий додаток». Один, бо так не заплутаєтесь. А потім переходити «з фреймворку на фреймворк» відносно нескладно.
Невелика порада: при вивченні JS приділіть увагу розумінню асинхронності та об’єктів як типів. На мій досвід, багато розробників-початківців фейляться саме в цих двох областях.
Ще з обов’язкового:
Про hard skills читайте вище.
Серед soft skills для мене найважливіше вміння комунікувати. Не бійтеся ставити запитання, не бійтеся здатися дурним чи некомпетентним, якщо чогось не зрозуміли! Набагато гірше приховувати нерозуміння, і зрештою затягувати виконання завдання.
Також намагайтеся конструктивно сприймати фідбек від колег, коректно озвучуйте свою незгоду, якщо справді не згодні.
Комунікація – наріжний камінь роботи в команді. З досвіду, 90% проблем навіть не сталися б, якби була б грамотна комунікація сторін.
Так, можна. Один із найкращих розробників, яких я знаю, автор більш ніж половини документації Vue.js — у минулому вчитель німецької мови. Що ще тут додати.
Сергій Бабіч
Lead front-end developer в Jonny Git
Це складне питання, адже ринок своєрідний. У нас шукають не Front-End розробників, а дуже вузько заточених спеціалістів. Тобто всі хочуть найняти React-розробника чи Angular, того, чий сет навичок дозволяє на мінімальному рівні задовольнити вимоги проєкту.
В підсумку, звісно, всі задоволені: людина отримує гроші, замовник — який-не-який результат. Але це призводить до великих проблем в індустрії загалом, адже люди відмовляються вчитися й розвиватися, бо вважають, що фреймворк, з яким вони працюють, єдино вірний і правильний, а решту треба спалити на вогнищі. Я вважаю, що це дуже шкідливі думки.
Щоб стати хорошим спеціалістом, треба спочатку вивчити основи. Необхідно знати HTML, CSS, JS.
Причина дуже проста: фреймворки — це лише абстрактні концепції, які використовують можливості платформи. І якщо вчити суто ці концепції, то, по-перше, не буде розуміння, як працює сама платформа, а по-друге, буде дуже важко міняти напрями роботи. Я завжди раджу початківцю вчити основи. Маючи таку базу, завжди легше опанувати щось нове.
Я тут дуже люблю проводити аналогію з інструментами теслі. Так, є люди, які навчилися забивати цвяхи молотком, і вони намагаються розв’язати всі завдання за допомогою молотка. Вони не розуміють, що таке дерево, які існують породи дерева, чому дерево реагує тим чи іншим чином на якісь фізичні впливи.
Вони знають, що якщо взяти в одну руку молоток, в іншу цвях, вдарити молотком по цвяху, то цвях опиниться в дереві. На цьому їхнє розуміння роботи завершується. І коли такій людині, умовно кажучи, даси в руки пилку, вона не зрозуміє, що з цією пилкою робити, та почне забивати нею цвяхи.
Для Middle Front-End Developer’а, я вважаю, soft skills менш пріоритетні, ніж hard skills. Middle — це, по суті, робоча конячка, яка тягне на собі більшість завдань проєкту.
Головне, щоб він вмів розв’язувати ці завдання самостійно, бо якраз самостійність є тою рисою, яка відрізняє Middle розробника від Junior’а.
На цьому етапі людина здатна сама розібратися в завданні, визначити ризики, зробити оцінку, все спланувати й завершити завдання в межах своєї компетенції без особливих проблем. Звичайно, ніхто не каже, що він має закритися від інших — комунікація повинна бути, але від такого спеціаліста очікують самостійності.
А от завдання Junior Developer’а в нормальних компаніях і колективах — вчитися на практиці. До нього не висувають якихось надзвичайних вимог чи очікувань.
Якщо Junior здібний, він швидко стане хорошим Middle. Якщо людина вміє вчитися, це означає, що вона вміє говорити з людьми, вміє вчасно подавати сигнали, коли щось іде не так, коли вона чогось не розуміє. Тобто основний soft skill для Junior’а — вміння розмовляти й визнавати свої слабкості, вчасно просити про допомогу. Хоча багато людей мають внутрішній психологічний блок щодо цього.
Насправді наша галузь специфічна тим, що людина, яка не просить про допомогу, не досягає результатів взагалі, тому що захлинається від кількості інформації. А ще це дає тривожні дзвіночки щодо того, що якщо людина перейде до якихось наступних рангів, вона не зможе бути достатньо самостійною.
Hard skills — річ набувна. Стукати по клавіатурі можна будь-кого навчити. А користуватися тим, що ви настукали — ні. По суті, hard skills — це знання теорії, яку в 90 % повсякденної роботи ти не використовуєш. Набагато важливіше те, як ти користуєшся інструментами, які знаєш. Можна знати все, але не вміти нічого.
Можна. Я тому приклад, адже не маю профільної освіти (хіба один предмет «Алгоритмічні мови та основи програмування» на перших курсах вчив). Специфіка Front-End розробки й загалом програмування якраз цікава тим, що тут не потрібна супер профільність.
Програмування ну дуже просте, а стати Front-End Developer’ом може будь-хто за дуже короткий час. Звісно, це не буде Senior за три місяці, як дехто обіцяє, але отримати базу в такі терміни реально.
Я у Твіттері час від часу бачу дуже круті дописи з хештегом #100DaysOfCode, в яких люди пишуть: «Мені 50, я нічого не знав про програмування, але почав кодити». Свої історії успіху розповідають колишні маркетологи, офіціанти — будь-хто, хто знайшов у собі сили й бажання займатися.
Основна риса, яка дозволяє сьогодні стати розробником — це посидючість. Просто вчити й слухати подкасти чи дивитися відео недостатньо. Треба писати, писати, писати, видаляти й знову писати код. Я, коли починав свій шлях, перші два місяці взагалі не розумів, що роблю (хоча зарплату вже отримував). Якось складав код докупи, воно якось працювало, але що відбувалося — не розумів. А потім в один день все склалося в одну картинку.
Дуже крута риса Front-End у тому, що ти швидко бачиш результат своєї роботи. В одному вікні пишеш код, в іншому — оновлюєш сторінку й бачиш зміни одразу. Front-End дуже відкритий до людей. Головне — хотіти розібратися й мати бажання працювати.
Наша галузь побудована на людях. А якщо ви новачок, то спілкуватися й знайомитися — це ваш обов’язок.