Оценка уровня программиста при смене языка
Ни junior, ни middle, вы будете человеком с опытом в backend разразработке без знания Java SE, EE и сопутсвующих фреймворков. Т.е. человеком в которого нужно вложить деньги и время перед тем как он начнет приносить прибыль (выполнять поставленные задачи). Так что тут зависит все от работодателя и от качества вашего опыта.
Сходите на пару собеседований junior разработчика, вот тогда и поймете как именно вас позиционирует работодатель.
Штатный вы сотрудник или фрилансер особо разницы не играет. Я видел "штатных сотрудников" которые за 2 года вообще никак не развивались и не продвинулись дальше, ибо сидели на одном двух проектах, ну или просто не хотели.
Да и было бы неплохо знать что вы знаете о java, jsf там например или еще чего.
А так все эти деления на j/m/s довольно условны и субъективны. Это влияет только на самооценку пожалуй, ибо в итоге подходите ли вы или нет решает не это. По хорошему, знание одного языка никак не влияет на уровень. Знать надо основные концепции, типовые проблемы и их решения, структуры данных, алгоритмы, паттерны... Словом вещи, которые хоть и зависят от языка, но слабо и легко переносятся на любой другой язык (в пределах разумного конечно, вы можете захотеть перейти на javascript/erlang или еще что такое, и там концепции уже будут различаться).