Если Fullstack Developer должен всё знать, то почему он может быть не сеньором, а например джуном?
Как он будет строить целую систему, если он не сеньор и мало чего знает, мало что умеет? В то время, как сфера его ответственности -- вся система? Что это за система такая, которую может написать фулл-стек джун, и которая будет вполне работоспособна в продакшене? накидайте примеров. Ну, и историй создания, если есть.
Юниор, середнячок, сеньор - это не уровень знаний (если юниор имеет полноценное высшее образование, его уровень знаний мало отличается от такового у сеньора), а уровень опыта, позволяющий правильно эти знания применять. И получить этот опыт можно только многолетней реальной работой.
Вопрос не в том, сможет ли юниор написать сложную систему. Да, сможет. Вопрос в том, насколько качественно эта система будет написана. Те подзадачи, которым юниора обучили, он и будет делать как научили: бездумно воспроизводя типовой код. Но любая нетривиальная подзадача будет сделана через жопу: из склеенных "вторичным продуктом" кусков велосипедов.
P.S. Full-stack - это всего лишь знание на пару языков / технологий больше, чем отдельные back-end или front-end. Область использования программирования, но не опыт работы.
P.P.S. Типичная реакция программиста на свой код годичной давности: "какой же бред я тогда писал". За год работы уровень опыта уже поменялся.
Вы правы, термин "Fullstack Developer" может вводить в заблуждение. Он не означает, что разработчик знает всё о всех технологиях.
Fullstack скорее описывает широту навыков, а не их глубину.
Джун Fullstack Developer - это разработчик, который:
Имеет базовые знания и навыки во всех слоях веб-разработки: фронтенд (HTML, CSS, JavaScript), бэкенд (какой-либо язык программирования, базы данных), и, возможно, DevOps (развертывание, CI/CD).
Способен создать простой, но функциональный веб-проект от начала до конца.
Постоянно учится и углубляет свои знания.
Примеры проектов, которые может создать Fullstack Junior:
Блог: Простой блог с возможностью создавать, редактировать и удалять посты, системой комментариев и авторизацией пользователей.
Интернет-магазин: Небольшой интернет-магазин с каталогом товаров, корзиной и системой оформления заказов.
Личный сайт-портфолио: Сайт, демонстрирующий навыки и проекты разработчика.
Внутренние инструменты компании: Простые приложения для автоматизации задач, например, трекер задач, система учета рабочего времени.
Важно понимать:
Джун Fullstack Developer не будет создавать сложные, высоконагруженные системы. Для этого нужны глубокие знания и опыт, которые приходят со временем.
Джун Fullstack Developer обычно работает под руководством более опытных разработчиков. Они помогают ему учиться, решать сложные задачи и избегать ошибок.
Fullstack - это путь развития, а не конечная точка. Со временем Fullstack Developer может стать Middle, Senior или выбрать специализацию в определенной области (фронтенд, бэкенд, DevOps).
Истории создания:
В интернете можно найти множество историй о том, как начинающие разработчики создавали свои первые проекты. Часто это небольшие, но функциональные приложения, которые решают конкретную задачу. Например, кто-то создал приложение для отслеживания своих финансов, кто-то - сайт для поиска рецептов, кто-то - игру.
Главное - не бояться начинать и постоянно учиться. Fullstack - это увлекательный путь, который открывает множество возможностей.
Увы, вместо того, чтобы учить сами языки непосредственно, люди начинают разбрасываться околоайтишными терминами, которые в корпоративной среде то далеко не везде действуют. Да, в вакансии могут написать junior или senior, но в итоге берут на работу в программисты без каких-либо околоайтишных приписок в должности, а саму вакансию уровня "мидл-хакер-супер-мастер-программист" писал человек, далёкий от программирования (например, кадровик).
Потому что планка определения уровня владения языками пляшет от одной компании к другой. Типа "это там ты был сеньор, а здесь ты показал себя как джун".
Каша