Курс «Front-End с нуля» в Web Academy один из самых популярных неспроста. Ведь преимущество Front-End в том, что разработчик сразу видит результат своих усилий. А это очень влияет на желание развиваться и работать дальше.
Но мы в Web Academy решили добавить еще больше мотивации к изучению программирования. Поэтому расспросили тех, кто достиг уровня Senior, о том, какие ошибки чаще всего совершают Front-End разработчики на старте своей карьеры. А еще рассказываем, что Front-End Developer должен учить в первую очередь, чтобы получить должность в компании.

Илья Литвинов (тренер Web Academy)
Senior Front-End Engineer в Wix.com
Для Junior разработчика все технологии будут полезными, но акцент я бы делал на фундаментальных знаниях в CSS и JS.
Плюсом также будет знание основ одного из популярных фреймворков: React или Angular, возможно, Vue.
И, конечно, не стоит забывать о знании таких инструментов как npm и webpack. Это тоже хороший плюс на старте.
По hard skills нужно повышать экспертизу в вышеперечисленных технологиях. И, конечно, знать и регулярно улучшать свой английский.
Из soft skills — навык коммуникации. Нужно банально учиться общаться с коллегами на одном языке, учиться высказывать критику мягко.
А для Junior’a также важно адекватно реагировать на критику со стороны коллег. Этого действительно часто не хватает начинающим разработчикам.
Конечно, можно. Все зависит только от стремления каждого человека и, само собой, его способностей.
А если человек способный, да еще с инженерным образованием (любым), то ему будет немного проще. Но даже если вы гуманитарий, это не повод наперед сдаваться и ничего не пробовать. В любом случае успехи будут зависеть только от вас.
Честно, тяжело выделить общие ошибки. Люди склонны допускать индивидуальные, так как у каждого свои проблемные зоны.

Наталья Теплухина
Staff Front-End Engineer в GitLab Inc.
HTML, CSS, JS — в первую очередь. Замечаю, что сейчас стало больше разработчиков, которые пытаются начать обучение сразу с фреймворков, пропуская базу. Я считаю, что это неправильно. В той же документации Vue мы предполагаем, что читатель хорошо знает все вышеперечисленное.
Освоили основы — изучите один фреймворк на выбор на уровне «могу сделать простенькое приложение». Один, потому что не запутаетесь и потому что переходить «с фреймворка на фреймворк» относительно несложно.
Небольшой совет: при изучении JS уделите внимание пониманию асинхронности и объектов как типов. По моему опыту, многие начинающие разработчики фейлятся именно в этих двух областях.
Еще из обязательного:
— CSS-препроцессоры. Де-факто, уже стандарт индустрии.
— Git. Его вам в любом случае придется использовать.
— Тестирование. Хотя бы очень базово.
Про 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 дуже відкритий до людей. Головне — хотіти розібратися й мати бажання працювати.