Как оценить свой skill level в WebDev

Автор: | 04/08/2022

Требования для 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