Требования для Junior web developer
- Знание HTML и возможность сверстать средний проект с небольшой помощью более опытных разработчиков
 - Знание CSS с пониманием, как строить сетки и как создавать адаптивный интерфейс
 - Будет плюсом умение работать с препроцессорами, знание семантической верстки и БЭМ (Основные понятия)
 - Знание JS на уровне — «Знаю базовые методы всех типов данных. Знаю, что такое замыкание, рекурсия и контекст, а также умею писать запросы»
 - Умение создавать SPA с помощью любого современного фреймворка/библиотеки и знание базовых понятий технологии
 - Умение работать с одним из State-manager (Redux/MobX/Vuex и тд…)
 - Знания git на уровне pull, commit, pull request
 - В общем понимании джун должен уметь закрывать несложные/рутинные задачи (можно и спросить у кого-то), когда опытные разработчики будут заниматься более сложной логикой работы web-приложения
 
Требования для Middle web developer
- знание вёрстки и возможность сверстать средний проект (flex, grid)
 - уверенная работа с Git и терминалом в частности
 - понимание работы браузера и того, как данные попадают на сайт (http, udp, ws протоколы)
 - умение работы с DOM
 - знание и опыт работы с любым современным фреймворком (React, Angular, Vue, Yii2, Laravel и пр.)
 - знать и уметь применять нормальные формы в БД. Нормализация/денормализация/формы нормальности.
 - знать и понимать RESTful интерфейсы
 - знать одно из SASS/SCSS/Less/PostCSS
 - понимание SOLID, Dependency Injection
 - знать, что такое шаблоны проектирования и зачем они нужны. Понимать различия между ними.
 - опыт разработки серверного кода под Node.js, TypeScript
 - опыт работы с TDD/BDD, тест-фреймворки (Mocha, Should, Chai, Jest, PHPUnit и пр.)
 - знание и умение провести нагрузочное и регрессионное тестирование
 - знать три столпа ООП (наследование, полиморфизм и инкапсуляция)
 - мидл должен иметь достаточный опыт работы, что позволяет ему декомпозировать задачи более-менее правильно. Мидл умеет декомпозировать, а значит он может точнее оценивать задачи. Он должен уметь соблюдать сроки.
 - очень важное для мидла — это знать как изнутри работает используемая тобой технология, твой фреймворк. Не то, как он производит рендер (с помощью VDOM и т. п.), а как код написан, как происходит магия. Открой GitHub, посмотри исходники React — как, например, this.setState заставляет компонент делать рендер
 
Если вы знаете и умеете гораздо больше перечисленного +
- умеете проработать архитектуру проекта и защитить ее
 - успешно общаетесь с заказчиком и РП с целью выяснить реальные потребности для оценки сроков реализации
 - внимательны к мелочам
 - знаете и умеете применять оценочные метрики работоспособности проекта
 - еще куча полезных скиллов… ))
 
то я вас поздравляю… Вы — Senior Developer
https://kb-liga.phoenixit.ru/pages/viewpage.action?pageId=102172279