В современном фронтенде можно как-то так:
1-ый год: вы пришли в компанию с хорошими фундаментальными знаниями, знаете базовые API инструментов с которыми будете работать. На github лежит красивый ToDo List или WeatherApp на любимом фреймворке, а к его коду особо и не придерешься. Вас взяли на вашу первую работу в хорошую компанию, выбрали из нескольких кандидатов. Вы Junior. Компания занимается разработкой серьезных проектов(социальные сети, e-commerce, финтех и пр.). Команда очень сильная. Тут используют линтеры, прекоммиты, типизацию, строгий workflow и code-review. В первый год вы успеваете поучаствовать в паре проектов. Набираетесь опыта, упорно работаете над собой, читаете статьи, смотрите конференции. Умеете успешно находить решения типовых задач. Выбираете лучшие и без труда перепишите их под текущую задачу, если они не совсем подходят.
2-ой год: вы в хорошо знаете все инструменты с которыми работаете, знаете весь инструментарий web разработчика, умеете решать многие типовые задачи, изучаете исходные коды библиотек, которые используете, знаете как лучше спроектировать ту или иную часть в конкретном случае и можете ответить на вопрос "почему так будет лучше?", влегкую развернете новый проект, что вам в итоге и доверяют. Вы уверенный Middle.
3-ий год: вы понимаете, что в первую очередь вы решаете задачи бизнеса, умеете делать это эффективно, понимаете, что в принципе нет задач, которые нельзя решить. У вас есть опыт в поддержке живых проектов(исправление багов, расширение функционала, миграции, рефакторинг, онбоардинг для новичков). Вы собеседуете новых членов команды. Начинаете очередной проект, возможно уже в другой компании, на этот раз все гораздо серьезней и ваша роль в проекте гораздо важней, тут уже все зависит от ваших решений. Проект дошел до релиза. Поддержка, новые фичи, рефакторинг.
4-ый год: Начали еще один. В вашем портфолио несколько проектов, в каких-то вы просто участвовали и внесли тот или иной вклад, но хотя бы один дошедший до релиза можно назвать вашим. Вы Senior.
Все ИМХО, конечно.