Чтоб ответить на этот вопрос достаточно убрать домыслы и подключить факты. Уровни (junior, middle, senior) придуманы людьми для приблизительной оценки опыта и не имеют в реале никаких чётких границ. По-сути, сказать, что кто-то middle уровня разработчик — ничего про него не сказать. Каждый человек получает опыт в соответствии со своим развитием (сюда можно включить огромный спектр возможностей человека), так что ответ на ваш вопрос в каждом из случаев будет разный. На счёт того стоит ли позиционировать себя как middle коллега выше уже ответил. Я добавлю от себя, что это зависит от уровня вашей уверенности в своих силах. Если уверены, то хоть сеньором себя позиционируйте — люди поверят. А опыт — это побочный продукт, наработаете в процессе.