Что такое full stack программист
Кто такой Fullstack-разработчик?
Fullstack-разработчик — универсальный солдат, который может самостоятельно реализовать проект «под ключ», охватив и backend, и frontend. Вместе с fullstack-разработчиком и ментором SkillFactory Олегом Ледвановым отвечаем на главные вопросы о профессии и разбираемся, благодаря чему fullstack’и могут работать удаленно и всегда получать много заказов.
Что делает fullstack-разработчик?
Fullstack-разработчик выполняет веб-разработку полного цикла. Обычно он создает веб-приложения, в которых занимается сразу всем: проектирует архитектуру, разрабатывает frontend- (то, как сайт или приложение видят пользователи) и backend-части ( все, что помогает сайту или приложению работать), привязывает проект к базе данных, обновляет его и занимается системным администрированием.
Где он нужен?
Fullstack-разработчики востребованы во всех сферах бизнеса. В крупных компаниях они часто занимаются небольшими продуктами, например для внутренней оптимизации. Но могут и руководить командой программистов, так как понимают особенности разных типов разработки. Много fullstack-разработчиков работают на фрилансе, потому что могут решить главную задачу малого бизнеса – быстро разработать сайт с минимальными затратами.
Пример задачи
Если fullstack-разработчику нужно создать интернет-магазин, то он:
Что ему нужно знать?
Такой разработчик должен знать один или несколько языков программирования. Для frontend-разработки используют JavaScript и фреймворки (готовые «каркасы» программы, на основе которых можно разрабатывать продукт) React, Angular или VueJS. Для backend-разработки — Python с фреймворками Django, Flask или Sanic, JavaScript с фреймворками Express или Fastify, PHP и фреймворк Laravel. Помимо этого, нужно знать язык SQL, язык разметки CSS, системы контейнеризации Docker и Git, основы системного администрирования. Важно владеть английским языком, поскольку документация обычно написана на нем.
Научитесь программировать на Python и JavaScript и станьте универсальным солдатом веб-разработки. Вот вам еще 5% скидки по промокоду BLOG.
Как выглядит его рабочий день?
В течение рабочего дня fullstack-разработчики пишут код, общаются с командой или обсуждают технические задания с заказчиками. Помимо этого, fullstack-разработчик должен быть в курсе последних новостей в своих областях, поэтому ему нужно участвовать в конференциях (например DevConf или BackendConf) и читать полезные ресурсы (например CodeProject или Stack Overflow).
Как строят карьеру fullstack-разработчики?
Традиционное деление на джуниор-, мидл- и синьор-разработчиков нечасто встречается среди fullstack-разработчиков. Обычно их делят на простых разработчиков и экспертов.
«Новички обычно осваивают один стек и пытаются применить его везде, то есть молотком не только забивают гвозди, но и закручивают шурупы. Профессионал выберет тот стек, который необходим для конкретной задачи. Он может создать полностью поддерживаемое задокументированное веб-приложение с нуля и пользоваться разными фреймворками. Он знает, как сделать код читаемым, гибким и оптимизированным под конкретный проект».
Такому специалисту легко вырасти в тимлида или архитектора, так как он разбирается в большом спектре технологий и способен руководить узкими специалистами.
Какие нужны софт-скиллы?
Насколько это востребовано?
Согласно сервису «Яндекс.Подбор слов», люди ищут информацию по запросу «fullstack» каждые 7 минут. А в марте 2021 года на сайте hh.ru было около 1,5 тыс. вакансий fullstack-разработчика.
Сколько получает fullstack-разработчик?
Зарплата зависит от компании и навыков программиста. В среднем начинающие разработчики в Москве получают от 60 тыс. руб. в месяц, продвинутые профессионалы — до 300 тыс. руб. в месяц. На сайте hh.ru можно найти вакансии с зарплатой более 400 тыс. руб. в месяц.
Плюсы профессии
Минусы профессии
В каких случаях становятся fullstack-разработчиками?
Как начать?
Можно самостоятельно изучать видео, книги (например «Изучаем Python» Марка Лутца), сайты. Важно погрузиться в контекст, ходить на конференции и вебинары, приобретать первый опыт. А можно выбрать курсы с готовой программой обучения и поддержкой менторов. Начать учиться можно в любом возрасте и независимо от того, какой у вас бэкграунд.
Вы сможете браться за фриланс заказы и откликаться на вакансии уровня junior уже во время учебы. Карьерный центр поможет в трудоустройстве.
Перевод: Кто такой Full Stack разработчик?
Привет, Хабр! Представляю вашему вниманию перевод статьи «What is a Full Stack developer?» автора Laurence Gellert.
Кто такой Full Stack разработчик?
Разумно ли ожидать, что простые смертные будут владеть всеми аспектами разработки? Скорее всего нет, но в Facebook могут попросить об этом. На OSCON (O’Reilly Open Source Convention — ежегодный съезд, посвящённый обсуждению открытому и свободному программному обеспечению) один из сотрудников Facebook сказал, что они нанимают только Full Stack разработчиков. Что это значит?
Для меня Full Stack разработчик — это человек с хорошим пониманием каждого уровня разработки и искренне интересующийся всеми программными технологиями.
Хорошие разработчики, знакомые со всем стеком, знают, как облегчить жизнь тем, кто их окружает. Вот почему я так против разрозненности на рабочем месте. Конечно, политические и коммуникационные проблемы мешают в больших организациях. Я думаю суть политики найма в Facebook заключается в том, что если умные люди используют свои головы и слушаются своего сердца, то лучший продукт создается за меньшее время.
Уровни Full Stack разработки:
Сервер, сеть и среда хостинга
A. Это включает в себя понимание того, что может сломаться и почему, не принимая никаких ресурсов как должное.
B. Необходимо надлежащее использование файловой системы, облачного хранилища, сетевых ресурсов, а также понимание избыточности и доступности данных.
C. Как приложение масштабируется с учетом аппаратных ограничений?
D. Как насчет многопоточности и состояния гонки? Скорее всего вы не примените их в своей разработке, но они используются в мире.
E. Full stack разработчики могут работать бок о бок с DevOps. Системы должна представлять полезные сообщения об ошибках и возможность логирования.
Моделирование данных
A. Если модель данных несовершенна, бизнес логике и более высокие уровни начинают нуждаться в странном (уродливом) коде, чтобы компенсировать случаи, которые модель данных не охватывает.
B. Full stack разработчики знают, как создать разумно нормализированную реляционную модель, дополненную внешними ключами, индексами, представлениями, таблицами поиска и т.д.
С. Full stack разработчики знакомы с концепцией нереляционных баз данных и понимают в чем они превосходят реляционные базы данных.
Бизнес логика
A. Понимание ценности, которую представляет приложение.
B. Знание твердых объектно-ориентированные принципов.
С. Знание фреймворков, которые могут использоваться.
Уровень API / Уровень действий / MVC
A. Как внешний мир влияет на бизнес логику и модель данных.
B. Фреймворки должны активно использоваться на этом уровне.
С. Full stack разработчики имеют способность писать четкие, последовательные, простые в использовании интерфейсы. Меня отталкивает степень запутанности некоторых API.
Пользовательский интерфейс (UI)
A. Full stack разработчики: а) понимают, как сделать читаемый макет, или b) признают, что им нужна помощь художников и графических дизайнеров. В любом случае, реализация хорошего визуального дизайна является ключевым моментом.
B. Владение HTML5 / CSS.
С. JavaScript это перспективный язык будущего и в мире JavaScript делается много захватывающих проектов (node, backbone, knockout. ).
Пользовательский опыт (UX)
A. Full stack разработчики ценят, что пользователи просто хотят, чтобы всё работало.
B. Хорошая система не дает своим пользователям синдром запястного канала или воспаления глаз.
С. Full stack разработчики пишут читаемые сообщения об ошибках. Если что-то сломалось, извинитесь за это. Иногда программисты непреднамеренно пишут сообщения об ошибках, читая которые пользователь чувствует себя глупым.
Понимание что нужно клиенту и бизнесу
A. Сейчас мы размываем черту архитектора, но это слишком большая роль.
B. Full stack разработчики имеют представление о том, что происходит, когда пользователь использует программное обеспечение. Они также имеют представление о бизнесе.
Другие важные моменты
Заключительные мысли
Очень плохая практика — жестко привязывать код к конкретной реализации (библиотека, ОС, аппаратное обеспечение и т.д.). Тот факт, что full stack разработчик понимает весь спектр технологий, не означает, что у него есть разрешение на использование самого простого пути. На самом деле они делают это, если это «проект на выброс».
Технологические стартапы нуждаются в full stack разработчиках из-за их универсальности! Однако, по мере развития организации, ей требуется всё больше и больше целенаправленных специалистов.
Я не уверен, что вы можете называть себя full stack разработчиком пока вы не поработаете на нескольких языках, платформах и даже отраслях в своей профессиональной карьере. Full stack выходит за рамки «senior engineer», поскольку он находится в том же направлении, что и программист-полиглот, но с более высоким представлением всех соединительных частей. Обратите внимание, что в моем списке только 3-5 пунктов, связанных с написанием кода.
Чем плохо быть full stack разработчиком
Минусы
В каждой отдельной области вы хуже, чем узкий специалист
Кажется довольно очевидным, но всё же поясню. Если вы потратили шесть лет на одну технологию, то с очевидностью ваши знания будут больше, чем у человека, который шесть лет занимался несколькими. У вас было больше проектов, вы больше занимались какими-то типичными решениями, больше читали и писали код.
Вам сложнее продвигаться глубже
Хороший full stack разработчик всегда сильно нагружен. И ваше время на познание нового распределяется между всеми технологиями, с которыми вы работаете. Естественно, что ваше развитие происходит медленнее, чем у программиста узкой специализации.
У вас больше вероятность перегрузки задачами
Если вы занимаетесь сразу несколькими проектами с нескольких сторон, то даже при хорошем тайм менеджменте часто будет случаться так, что все проекты требуют к себе повышенного внимания и времени. Придётся это решать или передачей части задач другим разработчикам, или распределением приоритетов, или тщательным планированием. Конечно, вероятность перегрузки есть у любого разработчика — как известно, в реальном мире любую задачу нужно делать “вчера”. Но у вас такие задачи могут внезапно появляться пачками.
Вас сложно заменить
Кому-то это может показаться плюсом — вас сложно уволить, вас любят и ценят. Но обратная сторона медали — невозможность передачи задач, звонки в любое время суток, проблемы с уходом в отпуск, сложности при попытке заняться чем-то другим.
У вас нет чёткой зоны ответственности
Если в кране нет воды — значит, виноват full stack! Какие бы проблемы не возникали, какие бы баги не вылезали — скорее всего, именно вам придётся ими заниматься, даже если проблема на самом деле должна быть в ведении другого разработчика. Просто ваша картина мира гораздо полнее, и вы быстрее сможете локализовать и исправить ошибку. К сожалению, этим часто злоупотребляют.
“О, дайте ему — он разберётся!”
В ситуации, когда необходимо разобраться с плохим или старым кодом, скорее всего задействуют именно вас. Особенно печально, когда работодатель хочет сэкономить, наняв одного разработчика на весь проект. А ты его открываешь и понимаешь, что проще это выкинуть и целиком переписать.
Вы не знаете всех наборов библиотек
Это довольно очевидно следует из первого пункта, но хочется упомянуть отдельно — хотя бы потому, что в вакансиях часто требуется опыт работы с конкретными библиотеками.
Вы не успеваете за всеми тенденциями
Опять же это следует из первого пункта. По непонятной мне причине, часто ищут разработчика, который в совершенстве умеет применить что-то, что вышло в релиз полгода назад. Увы, вы не можете одновременно знать и уметь применять ES6, рассказать об отличиях последней версии Symfony и о возможных проблемах миграции с Oracle на Tibero в текущий момент. Возможно, вы об этом читали, но попробовать просто не успели.
Вы не всегда пишете оптимальный код
Скорее всего, ваш код понятен, хорошо систематизирован и откомментирован. Но наверняка более квалифицированный специалист мог бы сделать его чуть лучше. Другой вопрос, что это обычно не критично. Действительно плохо, если каша из языков в голове заставляет вас применять подходы и решения, которые никак не годятся в текущем проекте. Ужасно видеть, как некоторые даже пишут функции, которые были бы созвучны привычным для них реализациям в другом языке.
Вы часто подглядываете в мануалы
Даже функции для работы со строками во всех языках выглядят по разному, что уж говорить о чём-то более сложном. Если вы часто переключаетесь между разными технологиями и языками, то скорее всего у вас непрерывно будет висеть мануал, в который вы подглядываете, что конечно несколько снижает скорость работы.
Вы можете начать завидовать зарплате узких специалистов
Если начать искать вакансии по самому вашему дорогому навыку, то можно огорчиться — специалисты с большим опытом работы могут получать за него весьма неплохие деньги. Скажем честно — у вас такого опыта работы с конкретной технологией нет. Но даже если вы углубитесь в эту технологию и получите необходимые знания — хотели бы вы дальше всю жизнь заниматься только этим? Например, администрированием СУБД Oracle?
Минусы в трудоустройстве
Отдельно хочется упомянуть сложности, которые случаются при смене работы.
Вас буду звать работать по случайным ключевым словам в резюме
HR не всматривается в то, что указанной технологией вы занимались на небольшом проекте три года назад. Он увидел слово, похожее на вакансию, которую надо закрыть, сделал стойку, и пытается вас туда пристроить любой ценой, не интересуясь вашими желаниями и текущими предпочтениями.
Full stack full stack’у рознь
Какой бы вы ни были широкий специалист, вряд ли вы найдёте место работы с точно таким же стеком технологий. Бывает, но крайне редко. Однако пересечения часто довольно большие, и ничто не мешает вам подтянуть недостающее и ещё больше расширить кругозор.
Вам не верят
Да, вот такая смешная и реальная проблема. Если вы указали в резюме слишком много всего, то вам просто не поверят и даже не будут пытаться проверять или спрашивать о том, на каком уровне вы что знаете. Поэтому, как ни смешно, лучший способ — безжалостно удалять из резюме все сведения, которые вы считаете неактульными для своего будущего. А ещё лучше — подгонять резюме под каждую вакансию.
Вам сложнее искать подходящую вакансию
Fullstack разработчиков ищут довольно редко, и не всегда работодатель с такой вакансией может конкурировать с вакансией узкой специализации по условиям. И возникает вопрос — какие использовать ключевые слова при поиске вакансии? Если вы, скажем, Java разработчик, то просто указали в поиске Java — и погнали кликать. Но full stack’у немного сложнее. Обычно проблема решается подпиской на несколько разных фильтров по словам, которые вам наиболее интересны — или просто выборкой по желаемому уровню зарплаты. Последнее не всегда срабатывает, поскольку к моему величайшему недоумению до сих пор висит огромное количество вакансий вообще без указаний зарплатной вилки. Видимо, HR боятся, что тогда каждый захочет описанный максимум? Странно. Если кто знает доводы в пользу такой стратегии рекрутинга — приведите, пожалуйста, в комментариях.
Плюсы
Теперь, наконец, о вкусном.
Вы можете выбирать, кем работать дальше
Вам гораздо проще сменить ориентацию (простите за двусмысленность), чем обычному разработчику. Вы видите многое в применении, можете разобраться и понять, что вас интересует. Да, вам придётся потратить время на углубление — но это будет потраченное с пользой время. Да, вам скорее всего придётся завести несколько пет проджектов, чтобы попробовать всё, что хочется. Но это опять же окупается сторицей.
Вы меньше выгораете
Если есть возможность периодически менять проекты, то вы гораздо меньше устаёте от применения одного и того же. Конечно, если вы не хардкорный фанат и не получаете удовольствие просто от того, что пишете всё, скажем, на vanilla C или asm.
Вам проще расти в тимлида или архитектора
Довольно очевидный плюс — чем больше вы разбираетесь в общей структуре, тем больше у вас шансов на рост в руководителя. Конечно, при наличии желания и коммуникативных навыков.
Вы можете отдебажить всё, что угодно
Очевидный плюс. Ваше системное мышление достигло уровня, на котором вы можете исправить что угодно и где угодно.
Работать веселее, интереснее и познавательнее
За один день вы можете получить много новых навыков и знаний в абсолютно разных вещах.
В одиночку вы можете создавать чудесные вещи на стыке разных технологий
Вы один можете сделать то, на что при стандартном подходе требуется 3-4 человека. Запрограммировать микроконтроллер для интернета вещей, который общается с веб сервером, пишет в базу данных, и данные с которого можно просматривать на веб сайте, в приложении или на мобильном устройстве? Легко! Вы один можете представить всю систему и реализовать её без согласований, недопониманий и проволочек.
Ваши решения работают быстрее и надёжнее
За счёт понимания взаимодействия различных систем, вы можете выбрать лучше пути для их комбинирования. Вы лучше понимаете каждый компонент и не боитесь его использовать. Как пример — возьмём “кляудные технологии” (мопед не мой, в публикациях проскакивало). В общем и целом, облако это чудесный способ решения огромного количества задач, в том числе задач масштабирования. К сожалению, всё чаще вижу, что облачные решения используются просто потому, что разработчик не умеет и боится решить свою задачу как-то ещё, а представляет это в виде дополнительного плюса. А многое можно сделать гораздо дешевле и лучше, если иметь хотя бы поверхностное понимание вопроса.
Вы можете пользоваться почти любыми исходниками
В мире, где решена уже практическая любая прикладная задача, тратить время на то, чтобы написать ещё один велосипед — просто преступление по отношению к длительности своей жизни. Теперь вы можете взять любой репозиторий на любом языке и воспользоваться им как отправной точкой для своего решения. Вы пролетите свежим бризом над граблями, которые до вас собрали тысячи других разработчиков.
Вы постигаете дзен
Теперь вы знаете, что нет языка разработки, которых лучше остальных. Вы знаете, что нет самой лучшей базы данных. Вы можете предположить, что какой-то инструмент подходит для ваших целей лучше… но вы вполне готовы использовать альтернативы, если на то есть какие-то основания, например, квалификация остальных разработчиков. Вы больше не пишете статей про синтетические тесты, созданные с тем, чтобы показать преимущества одной технологии над другой. Вы знаете, что прирост производительности в пять процентов скорее всего не стоит двух ваших человеко-месяцев. А освободившееся от холиваров время вы наконец можете потратить на что-то полезное. Например, чтобы наладить взаимоотношения с девушкой (для примера назовём её Катей). Вы теперь понимаете, что технологии бывают разные, что люди бывают разные, и нужно просто найти правильный способ связать всё воедино. Ты любишь мир, и мир любит тебя. Даже когда ты его используешь, чтобы выстрелить себе в ногу.
Здесь должна была быть картинка, на которой показано, как просветлённый программист в позе Лотоса медленно возносится над горами Тибета, а вокруг него танцуют, обнимаются и водят хоровод языки программирования и различные технологии в образе очаровательных девушек — но увы, такой картинки почему-то не нашёл. Пожалуйста, представьте это сами.
Кто такой Full-stack разработчик
Full-stack разработчик (произносится “фулл стек”) — это некий мастер на все руки в мире веб-разработки. Ему под силу реализовать как клиентскую, так и серверную сторону приложения, которыми, обычно, занимаются FrontEnd и BackEnd разработчики раздельно друг от друга. Таким образом, Full-stack специалист способен в одиночку вести проект от начала до конца.
Еще в далеких нулевых и ранее не существовало подобного разделения обязанностей между разработчиками. Относительная простота разрабатываемого ПО, равно как и технологии того времени, позволяли держать процессы, которые сейчас выполняют разные люди, в одних руках. К примеру, в те времена IT-специалист, именуемый веб-мастером, и внешний вид сайта создавал, и серверную часть реализовывал, и размещал сайт на хостинге. То есть, Full-stack разработчики существовали и раньше, просто никто их так не называл.
Однако, IT-сектор не стоял на месте. Требования к программным продуктам росли, появлялись новые языки и технологии, менялись подходы к разработке. Древо IT начало становиться все более и более ветвистым, порождая новые специальности. Вместе с этим, профессия универсального бойца разбилась на два отдельных направления, а затем вновь возродилась с гордым названием “Full-stack Developer”.
Споры вокруг Full-stack
Не все так гладко, как кажется с первого взгляда. Множество опытных программистов и IT-специалистов высшего звена не признают данную должность по определению. “Почему?” — спросите вы. Ведь раньше были те же веб-специалисты, которые успешно совмещали обязанности современных направлений — фронта и бэка. Почему сегодня понятие Full-stack вызывает споры?
Распространено мнение, что Full-stack разработчиков не существует, а те, кто таковыми называются, на самом деле не соответствуют требованиям этой специальности.
Например, Сергей Немчинский — программист с 20-летним стажем, руководитель и владелец учебно-производственной компании FoxmindEd — в опубликованном видео на YouTube отзывается о Web Full-stack разработчиках следующим образом (ссылка):
“В принципе, в идеале, Full-stack разработчик — это классно и замечательно. Проблема в том, что… Таких не бывает. Фактически, всё, что мы имеем на рынке из тех людей, которые называют себя Full-stack девелоперами — это примерно 50% BackEnd девелоперов, которые немножко подучили FrontEnd и уже могут Angular или React скомпилировать и, соответственно, собрать-подключить — плюс немножко понимают в верстке — даже не на уровне Junior верстальщика. Они в большинстве случаев сделать хорошо, красиво не могут никак. Максимум, что могут — сделать так, чтоб кнопка нажималась.
Либо же Full-stack девелоперы — это оставшиеся 50% FrontEnd разработчиков, которые немножко выучили BackEnd; в большинстве случаев — какой-нибудь Node.js. Может быть PHP. Такой разработчик минимально умеет что-нибудь подрихтовать, но, опять-таки, говорить о том, что он сядет и напишет вам нормальное Full-stack приложение — нет, нет и еще раз нет.
Честно скажу, мне идея с объединением в Full-stack девелоперов кажется, с одной стороны, не очень удачной, потому что фактически мы получаем “ни рыба, ни мясо”. С другой стороны, рынок требует — значит, надо. Поэтому востребованность у Full-stack девелоперов, по большому счёту, чуть больше, чем у “чистых” BackEnd или FrontEnd разработчиков. Однако, рынок уже осознал, что они (Full-stack разработчики) в своем большинстве “ни рыба, ни мясо” и потому термин “Full-stack” начинает пропадать. Теперь просто считается, что это BackEnd разработчик с небольшим знанием фронта и, наоборот, FrontEnd разработчик с небольшим знанием одного из BackEnd-языков. Мне кажется, что так гораздо правильнее”.
Другие разработчики склоняются больше к тому, что Full-stack разработка — это ни что иное, как уловки бизнеса. Работодатель не желает переплачивать за двух разных специалистов, предпочитая более дешевого аналога, умеющего всё то же самое.
По сути, весь спор касаемо Full-stack разработчика завязан на скептицизме. Сторонники мифологичности данной профессии не верят в существование разработчика, способного хорошо реализовать как FrontEnd, так и BackEnd части, поскольку за обеими скрывается множество технологий и языков, а выучить всё и работать не хуже фронтендеров и бекендщиков — практически невозможно.
Те же, кто занимаются Full-stack девелопментом, парируют, указывая на большое количество времени, проведенного за разработкой, в ходе которого так или иначе приходится заглядывать по другую сторону баррикад и разбираться во всех процессах, которые сопровождают разработку всего проекта от и до. Ну а дальше дело техники — учишь необходимые инструменты, практикуешься и можешь самостоятельно работать над целым проектом. Конечно, познания во всех используемых языках и технологиях у Full-stack специалиста будут не столь глубоки, как у узкоспециализированных собратьев по цеху, но сделать полноценный рабочий проект с нуля, реализовав как BackEnd, так и FrontEnd ему будет под силу.
Тема связана со специальностями:
Разновидности Full-stack разработчиков
Вариаций Full-stack разработчиков, на самом деле, множество: PHP Full-stack Developer, Node.js Full-stack Developer, Java Full-stack Developer и так далее. Название, которое стоит в самом начале специальности, говорит о том, какой язык/платформа берется за основу во время реализации BackEnd части. Стек технологий FrontEnd-а практически всегда одинаков и отличается лишь используемыми JavaScript-фреймворками — Angular, React или Vue.js. А вот бекенд предоставляет гораздо больше возможностей для реализации своих амбиций.
Теперь разберемся с ответвлениями в бекенде, которые указывают на популярные языки и технологии, использующиеся во время реализации серверной стороны разрабатываемых веб-приложений.
Node.js Full-stack Developer
Java Full-stack Developer
ASP.NET Full-stack Developer
PHP Full-stack Developer
Python Full-stack Developer
Также, от Full-stack специалиста могут потребовать навыки мобильной разработки, если работодатель будет намерен портировать веб-приложение на соответствующие платформы.
Как видите, список необходимых языков и технологий для создания хорошей серверной составляющей веб-приложений достаточно внушительный. В следующей главе мы разберемся, какие преимущества и недостатки подстерегают тех, кто таки намерился связать свою профессиональную деятельность с Full-stack разработкой.
Плюсы профессии Full-stack Developer
Возможность самостоятельно вести целый проект
Очевидное преимущество разработчика данной направленности заключается в объединении двух течений — FrontEnd и BackEnd — в одном специалисте. Помимо того, что такой профессионал способен реализовать обе части веб-приложения, он может беспроблемно настроить их взаимосвязь, что является частым камнем преткновения между фронтендщиками и бекендщиками. Тем самым устраняются недопонимания и противоречия, которые бы неизбежно возникли между несколькими разработчиками, трудящимися над одним и тем же продуктом.
Вячеслав Лобода, Senior Full-stack PHP Developer, о своей профессии отзывается следующим образом:
“Часто при решении задач веб-разработки возникает необходимость вносить правки одновременно и во FrontEnd, и в BackEnd. Для этого можно нанять двух разных специалистов или одного Full-stack разработчика. Последний вариант позволяет сэкономить время на коммуникацию”