Junior разработчик имеет мало опыта, постоянно изучает что-то новое, пробует себя в тех или иных технологиях, допускает много ошибок и он не может разрабатывать проект в одиночку, ему обязательно нужен наставник.
Про middle можно сказать, что такому рангу разработчиков можно частично доверять проекты. Middle разработчики уже имеют какой-то определенный опыт работы с реальными, большими проектами в команде и имеют практически полную самостоятельность.
Про Senior можно сказать то, что такие специалисты очень хорошо владеют технологиями, с которыми работают, абсолютно самостоятельны, имеют большой опыт работы в команде на больших проектах, постоянно развиваются и уже могут обучать каких-нибудь junior разработчиков.