Как оценивают — известно шуту гороховому...
Знать должен то же, что и сеньор — разница, что последний натаскивает команду или разрабатывает уже саму технологию, а не на технологии (но это мое суждение).
Если по рынку — смотрел множество вакансий. Middle — полноценное ядро, специалист, в совершенстве знающий свой инструмент, свободно работающий с окружающим основной стек софтом... Должен знать множество тонкостей. Обычно это 2-4 года опыта, за это время достаточно крепко знает всю ширину языка. Должен хорошо знать работу браузера, если касательно js. За плечами несколько сложных проектов. Как правило должен с легкостью видеть плюсы и минусы разных фреймов ( в том числе не совсем модных, например ExtJS)