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