Эти навыки не бесполезны в принципе — но для стажеров и джунов, и уж тем более не для тех, кто еще не работает, эти навыки избыточны и не помогут ни устроиться, ни повысить ценность. Оцениваем по двум критериям: польза на работе и спрос на собеседованиях.

1. Unit-тесты

Польза на работе: ⭐☆☆☆☆ (1/5)

В большинстве проектов unit-тесты либо отсутствуют, либо пишутся «для галочки».

Для реально полезных тестов нужно знать тонны теории (граничные случаи, mock-объекты), но джунам это почти не пригодится.

ИИ уже умеет писать базовые тесты.

Спрашивают на собеседованиях: ☆☆☆☆☆ (0/5)

За мои 100+ собеседований — unit-тесты спрашивали 2 раза, и то формально.

Что делать вместо:

Потратьте 2 часа на написание 10 тестов в пет-проекте и посмотрите видео (UlbiTV Тестирование JavaScript от А до Я) про тестирование — этого хватит для понимания основ.

2. Алгоритмы и «глубокий» JavaScript

Польза на работе: ⭐☆☆☆☆ (1/5)

Базовое понимание (например, O(n^2) vs O(n)) полезно, но:

  • 99% задач решаются встроенными методами JS (filter, map, Set).

  • Углубление в алгоритмы мешает решению бизнес-задач (джуны часто «оптимизируют» то, что работает и так).

Спрашивают на собеседованиях: ⭐⭐⭐⭐⭐☆ (4/5)

Вот тут уже грустно, они нужны для прохождения собеседований, спасибо Гуглу и Яндексу, теперь у нас каждый джун должен уметь написать свою sort и filter, как будто взять готовый из JS — это стыдно. В последнее время вроде есть тренд на собеседования без жести, но у крупных компаний этого тренда явно нет. Так что учить их нужно, но только в рамках подготовки к собеседованиям.

Что делать:

  • Учите ровно столько, сколько нужно для прохождения собеседований.

  • Тренируйтесь на codewars или leetcode (но без фанатизма).

3. CI/CD и Docker

Польза на работе: ☆☆☆☆☆ (0/5)

  • Я не знаю junior-разработчиков, которым пришлось бы настраивать что-то в docker или править пайплайны CI/CD — этим занимаются DevOps или тимлиды.

  • Современные хостинги (Vercel, Netlify) автоматизируют деплой в 1 клик. (Для пет-проектов)

Спрашивают на собеседованиях: ⭐☆☆☆☆ (1/5)

  • Вопросы в духе: «Что такое CI/CD

Что делать вместо:

Освойте базовый Git до автоматизма:

git rebase vs git merge — когда что использовать (и почему rebase опасен в общих ветках).

Как решать конфликты без паники (алгоритм: git pull → правки → git addgit commit).

Простые команды для ежедневной работы.

Разберитесь, как работает сборка проекта:

Что делает npm run build в вашем проекте?

Куда смотреть, если сборка падает?

Ошибки в консоли (чаще всего — синтаксис или зависимости).

Научитесь работать с npm-пакетами:

Как читать package.json (ключевые поля: dependencies, scripts).

Почему npm install может сломаться.

4. Английский язык

Польза на работе: ⭐⭐☆☆☆ (2/5)

ChatGPT/YandexBrowser переводят за секунды.

В российских компаниях документация, коммиты и комментарии часто на русском, а других сейчас маловато, и джунов они почти не ищут. Если ваш уровень ниже А2, стоит потратить немного сил для изучения основных терминов и базовой грамматики, дальше только по собственному желанию и не с мотивацией «это для работы».

Спрашивают на собеседованиях: ⭐☆☆☆☆ (1/5)

HR иногда спрашивают: «Технический английский?» (Технический = умею гуглить на английском, уровня А2 будет более чем).

Что делать вместо:

  • Учите технические термины.

  • Тренируйтесь читать ошибки в консоли.

5. Linux и терминал

Польза на работе: ⭐☆☆☆☆ (1/5)

VS Code/WebStorm делают 99% работы за вас. А если случится что-то, что не может решить IDE, эту проблему решит ИИ и гугл.

Спрашивают на собеседованиях: ☆☆☆☆☆ (0/5)

Я не слышал ни одного вопроса по Linux, просто не нужен для работы, фронтенд не зависит от ОС, на которой его разрабатывают, так что в одной команде могут спокойно (почти) жить Windows, Linux и Mac. В общих списках вопросов и разнообразных мок-собеседованиях таких вопросов нет.

Что делать вместо:

  • Освойте Chrome DevTools.

  • Учите базовую безопасность (CORS, HTTPS, XSS).

6. Чистый код

Польза на работе: ⭐⭐☆☆☆ (2/5)

Вот сейчас важно, чистый код — это абстрактное понятие, нет великого мерила чистоты кода, тем более для фреймворков по типу React. Чистый код — это тот, который удобно читать вашей команде, и который не противоречит логике и здравому смыслу, не нужно изучать книжки «Чистый код», «Совершенный код», «Чистая архитектура» и т. д. Во-первых, они уже устарели, да, частично, да, там много полезного и еще больше для размышлений, но оно нужно на более высоком уровне, на уровне джуна это будет только мешать. И еще момент, я знаю всего пару человек, которые пишут чистый код сразу, обычно это выглядит так:

Решил бизнес-задачу (код ужасен или близок к этому) → Рефакторинг под правила проекта (код читаемый, но с проблемами) → Ревью кода (если есть время, правим, если нет, в бэклог)

Все пишут ужасный код, и это нормально, не старайтесь научиться сразу писать хорошо, это долго и сложно, и не всегда эффективно. Не убивайтесь об SOLID и ему подобных, чтобы быть хорошим разработчиком, достаточно DRY, YAGNI, Избегайте преждевременной оптимизации и KISS.

Спрашивают на собеседованиях: ⭐☆☆☆☆ (1/5)

Вот тут главное не путать чистый код и правила фреймворков, чистый код спрашивают редко, и часто делают это очень странные люди, а вот правила написания кода в фреймворке и способы оптимизации в конкретном фреймворке — это уже надо, но с чистым кодом это не связанно.

Что делать вместо:

  • Осваиваешь DRY, YAGNI, Избегайте преждевременной оптимизации и KISS.

  • Изучаешь, как правильно писать в твоем стеке технологий.

7. Паттерны проектирования

Польза на работе: ⭐☆☆☆☆ (1/5)

Тут всё похоже на чистый код, когда ты изучаешь какой-то паттерн, ты начинаешь решать все задачи с его помощью, ведь «когда у тебя в руках молоток, все очень сильно похоже на гвоздь» для опытных специалистов учить паттерны не нужно, их все используют, но многие не знают, что вот этот кусок кода называется «умным словом», а новички получают набор инструментов и стараются их использовать везде, вместо простого и быстрого решения — разбитый на несколько паттернов кусок логики, в котором ничего не понятно, но он использовал паттерны.

Спрашивают на собеседованиях: ☆☆☆☆☆ (0/5)

Пару раз слышал вопросы про паттерны, но выше мидла, в общих списках вопросов для фронтенда таких вопросов почти нет, так что смело можно забыть.

Что делать вместо:

  • Учите композицию компонентов.

  • Разберитесь, когда нужен Redux, а когда хватит useState

Немного примеров:

  1. Разработчик, который изучал основы языка параллельно паттернам и чистому коду, через полтора года изучения в таком формате у нас случился пет-проект, и оказалось, что все проблемы, которые возникают, он старается решать через сложные, правильные и оптимизированные решения, по итогу простой экран с формой был сделан очень круто, масштабируемый, оптимизированный и технически красивый, но очень долго, две недели по 2–4 часа в день, в то время как сделать такую задачу «просто» можно было за 2 часа и еще часа 4 на рефакторинг. С одной стороны, его решение хорошее, но избыточно и долгое.

  2. Разработчик, который начал с Linux, английского, тут всё проще, просто выкинутые знания, начал изучать основы, полгода поизучал и начал тыкать Linux и английский, спустя год про Linux он просто забыл, так как работать на нем так же, а в повседневной жизни неудобно, английский для гуглений и чтение документации вроде полезно, но год изучения был потрачен на то, что не продвинуло к устройству на первую работу.

Итог: Как начинающему фронтендеру не потерять год на бесполезные навыки

Главный парадокс входа во фронтенд: 50% того, что учат джуны, не пригодится им на первой работе. Алгоритмы, unit-тесты, паттерны — всё это важно, но не для старта карьеры.

Что запомнить:

  1. Фокус на реальных задачах

    • Легаси-код, гугление ошибок и работа в команде дадут вам больше, чем знание SOLID.

    • Учите то, что спрашивают на собеседованиях (алгоритмы — да, но без фанатизма).

  2. ИИ — ваш помощник

    • Не тратьте месяцы на то, что ChatGPT делает за 5 минут (например, unit-тесты).

    • Но не доверяйте слепо — учитесь проверять его решения. (vibe coding = зло)

  3. Главные навыки 2025

    • Умение писать и читать код на вашем стеке (язык, фреймворки, библиотеки)

    • Понимание производительности (почему тормозит интерфейс?).

    • Коммуникация (как объяснить проблему менеджеру).

  4. Небольшой чек-лист

    1. Верстка — умение сверстать простую страницу, множество сайтов в помощь.

    2. Базовый JavaScript (работа с DOM, ES6+) — можешь решать задачи на Codewars/Leetcode без необходимости гуглить стандартные методы языка.

    3. Основы фреймворка (React/Vue) — можешь сделать небольшое приложение САМОСТОЯТЕЛЬНО! (Гуглить можно, но не заставлять нейросеть писать за тебя): ToDo list, трекер, менеджер финансов, что угодно, где вам придется использовать основные механизмы вашего фреймворка.

    4. Основы state manager'а — базовые знания одного state manager'а и понимания концепций управления стейтом (можешь интегрировать его в свое приложения).

    5. Основы Gitgit pullgit commitgit push. Решение мерж-конфликтов.

    6. TypeScript — основы типизации.

  5. Полезные ссылки

    Первая часть Roadmap:https://habr.com/ru/articles/800579/

    Вторая часть Roadmap:https://habr.com/ru/articles/802047/

    Telegram канал: https://t.me/frontend_nomagic

Комментарии (16)


  1. SeokkySss
    11.08.2025 07:58

    Чистый код — это тот, который удобно читать вашей команде, и который не противоречит логике и здравому смыслу, не нужно изучать книжки «Чистый код», «Совершенный код», «Чистая архитектура» и т. д.

    А, не нужно, да? Хорошо, Айти Вавилон, не будем. Действительно, что это мы.

    И еще момент, я знаю всего пару человек, которые пишут чистый код сразу, обычно это выглядит так:

    Решил бизнес-задачу (код ужасен или близок к этому) → Рефакторинг под правила проекта (код читаемый, но с проблемами) → Ревью кода (если есть время, правим, если нет, в бэклог)

    Все пишут ужасный код, и это нормально, не старайтесь научиться сразу писать хорошо, это долго и сложно, и не всегда эффективно.

    Какая у вас замечательная команда. Сразу видно - профессионалы!

    Рекомендую ознакомиться с историей погибели браузера Netscape и её причинами, мой юный начинающий фронтендер.


    1. IT-VAVILON Автор
      11.08.2025 07:58

      Вот я вас не пойму, вроде написано что для тех кто еще не пишет продакш код, кто только учится и вместо основ языка учит паттерны и SOLID, а у вас все одно, пока 10 лет на computer science не потратил, не разработчик


      1. dmitrijtest24
        11.08.2025 07:58

        Посыл наверное в том что бы сразу начать писать более менее вменяемо, а не херак, херак и в продакт.


  1. TrueRomanus
    11.08.2025 07:58

    1. ИИ — ваш помощник

      • Не тратьте месяцы на то, что ChatGPT делает за 5 минут (например, unit-тесты).

      • Но не доверяйте слепо — учитесь проверять его решения. (vibe coding = зло)

    Не тратьте месяцы на изучение того что делает ChatGPT за 5 минут, но в следующем же пункте Вы говорите что надо его проверять но чтобы его проверить надо потратить месяцы на изучение чего-то чтобы в этом хорошо разбираться. Оба пункта противоречат друг другу.


    1. IT-VAVILON Автор
      11.08.2025 07:58

      Я имел ввиду что нет смысла тратить время на написание, к примеру, unit тестов, когда это может сделать ИИ, но не нужно слепо копировать, прочитайте код, проверьте, похож ли тест на что то имеющие смысл


      1. TrueRomanus
        11.08.2025 07:58

        Для реально полезных тестов нужно знать тонны теории (граничные случаи, mock-объекты), но джунам это почти не пригодится.

        Из Вашей же статьи, оказывается знать надо много, и самое главное понимать то ли тестируют тесты и вообще нужны ли они.


        1. IT-VAVILON Автор
          11.08.2025 07:58

          Да, поэтому я пропагандирую вариант что вообще их писать не нужно, до определенного момента, если уж очень хочется, сходите к ИИ, а не тратьте недели на написание тестов


  1. niki_nu
    11.08.2025 07:58

    • Не тратьте месяцы на то, что ChatGPT делает за 5 минут (например, unit-тесты).

    Как часто вы сливаете коммерческий код чату гпт? Не думаю, что кого либо похвалят за такую работу.


    1. IT-VAVILON Автор
      11.08.2025 07:58

      Название статьи прочитайте, пожалуйста, речь идет о людях, которые только учатся.

      Про сливать коммерческий код: если это код утилит или хуков без специфичной бизнес-логики (ключей, API и т. д.), то я проблем не вижу. Если вы думаете, что очередной специфичный конвертер телефонов нельзя залить в ГПТ для написания тестов, дело ваше, но в нем нет ничего, что может создать уязвимость. (Скорее всего, этот конвертер был уже взят из ГПТ или Stack Overflow.)


      1. niki_nu
        11.08.2025 07:58

        речь идет о людях, которые только учатся.

        учатся все)

        для начинающих фронтендеров


        Есть такая тенденция, скидывать джунишкам монотонную и не сложную работу. Например, юнит тесты. Не думаю, что они будут разбираться, взяли это со stackoverflow или откуда еще. Просто скормят все что можно. Была уже такая ситуация)


        1. IT-VAVILON Автор
          11.08.2025 07:58

          Ну, скидывать джунам юнит-тесты..... Ну, это очень странно, я никогда не видел, чтоб джунам давали писать юнит-тесты на чужой функционал (при условии, что это не джун с 2 годами опыта). Так как писать нормальные тесты сложно, скорее всего, если так делают, то задача не написать тесты, а сделать покрытие 90%, и плевать на качество тестов и способ их написания. Если уж так случилось, что нужно дать задачу хоть какую-то, чтоб работал, дайте писать тесты на утилиты, там не должно быть бизнес-логики.


          1. niki_nu
            11.08.2025 07:58

            так, стоп. ты сам пишешь про юнит тесты и джунов. Теперь называешь это странным. Надо как то определится.


            1. IT-VAVILON Автор
              11.08.2025 07:58

              Так я пишу что это не надо учить


              1. niki_nu
                11.08.2025 07:58

                все верное, а по какой причине не надо?
                ладно, я сам отвечу за тебя, потому что устал это развивать.

                Ты пишешь, что не стоит джуну развиваться в области юнит тестов, потому что ии все может сделать сама за 5 минут(это одна из причин).
                Теперь вернись к первому комментарию.

                Хотя если ты раздаешь грейды людям, которые пишет только пет проекты, без коммерции, то приношу извинения. Я что то в этой жизни упустил..


                1. IT-VAVILON Автор
                  11.08.2025 07:58

                  Грейды я не раздаю, но если человек уже хорошо пишет код и умеет в бизнес задачи, а нынешний найм работает по паттернам VK, которые способны к поиску кого угодно, но не адекватных разработчиков, то человека можно назвать джуном (и давно джун это грейд?)
                  Про тесты, их вообще мало кто пишут во фронтенде, а нормальные тесты пишут еще меньше, если мы говорим про галлеры, там там часто пишут тесты ради тестов, и нафиг там не надо уметь их писать, пишешь что то что повышает покрытие тестами. А там где тесты пишут нормально, там объясняют что и как нужно тестировать, потому что нельзя взять часть проекта, дать ее джуну (Который ни бизнеса не знает, ни технических тонкостей) и ждать нормальных тестов


  1. goldexer
    11.08.2025 07:58

    Вот вроде нормально все по пунктам расписано с большим упором на рациональность. Джуны не знают, что они толком знают, а что не очень и вынуждены в сжатые сроки учить всего и много. Как правило, знания плохие во всём (начинающий) и потому джуны часто просят реальные задачи для тренировок. При этом каждый комментатор ставит его на место специалиста. Неужели вы не видите, что автор совсем не утверждает, что что-то знать не надо вообще, а что надо сделать упор на некоторые области. Вы просто вырываете любую фразу из контекста и жонглируете словами, подменяя вложенный смысл собственной точкой зрения. На работе тоже так с коллегами или они за себя могут постоять?