Сейчас почти весь фронт это React, минус часть работает с Ангуляром или Vue, и часть с динозаврами и другими менее популярными решениями.
Минимально нужно:
- HTML
- CSS
- JavaScript
- Сборка (Webpack в 99% случаев)
- React (вся экосистема, включая Redux, Saga, Router, и прочее)
- Тестирование приложений на фронте (Jest, Karma, Selenium, Puppeteer, Cucumber, Gherkin минимум)
Это самый минимум, но на самом деле надо намного больше:
- Знание архитектур ПО, видов, плюсов, минусов
- Знание принципов проектирования (шаблоны, SOLID, и другие слова)
- Изучение приемов кодирования
- Изучение работы сетевых протоколов (особенно HTTP/S)
Дальше остается миллион и маленькая тележка того, что нужно знать ЕЩЕ, и здесь уже нереально всё перечислить, например:
- Процессы отрисовки веб-страницы
- Продвинутая работа с анимацией
- Виды программирования, их плюсы и минусы, как они работают
- Изучение инструментов
- Изучение приемов балансировки нагрузки (в том числе на фронте)
...и потом еще Agile (чистый, потом Scrum, Kanban), а потом управление командами, принципы коммуницирования, принципы планирования работы, понимание процессов производства софта, и прочее и прочее..
Поэтому рекомендую минимум по React выучить, и найти работу, и по возможности начать делать пет-проекты.
Берете задачу посложнее, и делаете на нормальном стеке. В процессе соберете миллион грабель, научитесь тому минимуму, что необходимо, и так прокачаетесь.
Пет-проекты нужно делать всегда, даже если есть работа, потому что работа это устоявшиеся принципы и инструменты, а пет-проекты дают возможность изучения и использования других инструментов, подходов, поэтому это отличный способ улучшить свои навыки.