Junior требует чёткой постановки задач и регулярного контроля (т.к. в силу малоопытности может уйти не туда, допустить какие-то очевидные для опытного разработчика ошибки). В senior'а можно загрузить задачу любой сложности в весьма нечеткой постановке при минимальном контроле - все будет сделано на должном уровне. Middle - как следует из названия - где-то посредине. Senior это не столько знание языка, сколько понимание архитектуры, знание широкого круга технологий, практический опыт разработки разных систем, умение самостоятельно разбираться в новых технологиях и применять их на практике и, повторюсь, умение успешно решать сложные задачи с мутной постановкой. Может ли случится senior за 2 года - гениеев никто не отменял, но IRL мне такие люди не встречались. Встречаются люди, которые и через 5 лет всё ещё junior'ы - всё также требуют чёткой постановки задач и плотного контроля.
Ну это на самом деле странно. Я летом во многие компании собеседовался на мидла/джуна и прошел только в 3, но собесов я очень много проходил. бввало и по 2 в день. Кто-то говорил, что я интерн, кто-то давал джуна, кто-то давал джун+, а кто-то и мидла.
Сейчас работаю в крупной компании. Пишу плагины для jira. В отделе я 1 разработчик. Задачи понимаю на абстрактном уровне. Например: мне говорят, что нужна интеграция jira-редмайн и я ее иду и реализовываю. Вроде все сам делая (хз как по качеству т.к. я и разработчик и ревьювер =)), но задачи реализованы, нагрузка не повышается, Но при этом меня многие в джуны определяли. Вроде в jira я использую весь стек, который требуется сейчас. Спринг, ОРМ и т.п. Сейчас выпросил часы на кафку (буду поднимать)
Вот я и не понимаю. Как определяют.