Как пишется fullstack

The term “full-stack” isn’t something you’ll come by often. However, it would make sense to look more into the phrase if you are dealing with the back-end of computer software. If you know whether it’s hyphenated or split into one or two words, you’ll have a better time writing it.

“Full stack” is correct when the word is written as a noun. We use it to show a computer system’s complete front- and back-end. However, “full-stack” can be hyphenated when used as a modifier (which usually means that it’s an adjective).

Fullstack, Full-stack, or Full stack

According to Google Ngram Viewer, “fulls stack” is the most popular choice. However, there really isn’t that much between it and the hyphenated form, which shows that there are a lot of similarities between using it as a noun or an adjective.

Fullstack, Full-stack, or Full stack - Statistics

In The Oxford Dictionary, “full stack” is officially recognized as the correct spelling variation. The Oxford Dictionary states that it is a noun and should be used in such a way.

However, the example provided in the Oxford Dictionary shows that “full-stack” works as a modifier, and it’s written with the hyphen in the example provided. This shows that both forms are grammatically correct, and it depends entirely on usage.

If you’re unsure about the differences between nouns and adjectives, you might benefit from the following:

  • Noun: I would like to know more about the full stack here.
  • Adjective: The full-stack system is very important to the operation.

Is “Fullstack” One Word?

“Fullstack” is the only form that is not officially recognized by any dictionaries. Therefore, it is not correct to use, and you should avoid doing so. It was also the least used variation, according to the graph, which shows that it rarely gets written in this incorrect form.

Check these examples out if you want more information about what actually works:

  • Correct: If you’re interested in getting full-stack experience, you should talk to your manager.
  • Incorrect: The fullstack instructions were not clear, and I’ve made a serious error.
  • Correct: If you haven’t learned more about the full stack, I don’t want to hear from you.
  • Incorrect: What can you tell me about this system’s fullstack?

Is “Full stack” Two Words?

We can write “full stack” as two words when it’s a noun. In this case, it does not modify any other words in the sentence. Instead, we can see it as “full” modifying “stack” to show that we want the entire system to be explained.

Here are some examples that might clear things up:

  1. Have you got access to the full stack? I need to know what’s going on behind the scenes.
  2. The full stack wasn’t made easy for people to access. We need to fix that.
  3. Is there any way for me to see what’s happening in the full stack?
  4. I learned a lot from my time at the IT firm. The full stack is one of the most important things you need.

Is “Full-stack” Hyphenated?

“Full-stack” should be hyphenated whenever it’s used as a modifier. In this case, it becomes an adjective that modifies another noun. Typically, that noun will come directly after “full-stack,” which helps us to understand what is being said.

The AP Stylebook guidelines are what we use when learning about hyphen rules. It teaches us that multiple words should always be linked with a hyphen when they all work to modify the same noun. There are no exceptions to this rule.

Here are some examples of how it works:

  1. Have you got any full-stack developer experience that you think will be helpful here?
  2. I think you should take a look into the full-stack system before doing anything else.
  3. The full-stack bugs are coming through thick and fast!
  4. I can’t figure out what full-stack programming requires.

Is “Stack” Capitalized In The Word “Full-Stack”?

The only time you might need to capitalize “full-stack” is when it’s in a title. Since it’s not a proper noun, neither part of the hyphenated form needs a capital letter.

However, if you capitalize every other word in your title, you might think it wise to capitalize both parts of the hyphenated form to keep it in line with the rest.

martin lassen dam grammarhow

Martin holds a Master’s degree in Finance and International Business. He has six years of experience in professional communication with clients, executives, and colleagues. Furthermore, he has teaching experience from Aarhus University. Martin has been featured as an expert in communication and teaching on Forbes and Shopify. Read more about Martin here.

(Redirected from Full-stack)

Look up full stack in Wiktionary, the free dictionary.

Full stack, full-stack, fullstack or Full Stack Cloud might refer to;

  • Full Stack Cloud are those complete Cloud Computing, provided by Cloud Service Provider in the form of integrated software technologies, with or without hardware.
  • OpenStack is an open-source cloud computing platform that allows the management of a cloud infrastructure through a web interface or API. It provides a set of tools to create, manage, and monitor cloud resources such as virtual servers, data storage, and networks. It can be used by organizations to build their own cloud computing solutions or as a public cloud service provided by providers.

Type a Full Stack Cloud:

— On-premise (Full stack) at private cloud provider level

— On-premise (Full stack) with a private provider to ensure interconnection with other private providers

— By connecting to the infrastructure of the private cloud provider

  • Fullstack Academy, a software engineering bootcamp
  • Full-stack developer, a software developer able to work at all levels of the program stack
  • Full Stack, in technology development, full stack refers to an entire computer system or application from the front end to the back end and the code that connects the two. The back end of a computer system encompasses “behind-the-scenes” technologies such as the database and operating system.

Program a browser (like using JavaScript, jQuery, Angular, or Vue) Program a server (like using PHP, ASP, Python, or Node) Program a database (like using SQL, SQLite, or MongoDB)

Не счесть холиваров о том, стоит ли быть фуллстек-разработчиком. И в них часто вылезает ещё один спорный вопрос: а что это понятие означает-то? «Фронтбэкендер»? «Многорукий Шива, мастер всего от инфраструктуры до тестирования»? «Человек, освоивший столько технологий, что воспарил над ними в мир общих концепций»?

Я захотел разобраться, как это понятие появилось и что люди в него вкладывали изначально. Было ли какое-то «каноническое» определение? Пока разбирался, увидел прямо-таки эволюцию представлений о нём и решил изложить её для Хабра.

Когда понятие возникло? Как можно увидеть по графику Google Trends, в широкий обиход оно вошло с 2014-го. А на Хабре первое упоминание произошло в 2013-м. Это был перевод англоязычного блог-поста, где упоминается, что Facebook «нанимает только Full Stack». То есть в Фейсбуке это уже тогда было устоявшимся понятием? Я стал гуглить дальше и в техническом блоге Facebook нашёл пост 2010 года «The Full Stack, Part I» с тысячей лайков. А он, в свою очередь, ссылается на пост разработчика Рэнди Шмидта 2008 года. И, судя по прочей найденной мной информации, вот у Шмидта и было первое использование понятия, из которого выросло всё остальное. Теперь, когда мы добрались до начала начал, давайте пойдём по этим же постам в обратном направлении (по хронологии) и посмотрим, что в них говорилось.


2008: «Full Stack Web Developers» (Randy Schmidt)

Эта страница личного блога уже даже не открывается, но Internet Archive заботливо сохранил для нас Самый Первый Пост. Автор поста восхищается людьми, которых он называет «Full Stack Web Developers». И вот какое определение им он даёт:

A full stack web developer is someone that does design, markup, styling, behavior, and programming.

Вот это сейчас внезапно было: первым пунктом идёт дизайн. Д И З А Й Н. (Судя по контексту, слово design тут не в значении «проектирование», а именно как графический дизайн.) А «programming» упомянуто мимоходом как единый последний пункт — хотя сегодня обсуждения строятся как раз на том, что у него есть подпункты.

Ну, с programming понятно: в 2008-м ещё не произошёл JS-взрыв, поэтому в тексте «браузерная» часть проходит как «markup, styling» (читай: HTML, CSS). Но даже если мысленно заменить слова «markup, styling» и «programming» на «фронт» и «бэк», всё равно не получится нынешних дискуссий: это разделение Шмидта как раз не сильно волновало. По-настоящему его волновало, что он не разбирается в дизайне, и ему надо вот с этим справиться, чтобы стать настоящим full stack web developer. Так что получается, что мы сейчас под «фуллстеком» понимаем вообще не то, что закладывал автор.

По сути, содержание его поста сегодня в какой-то степени актуально внутри фронтенда, где есть место и JS-программированию, и более дизайнерским вещам. Так что, оставаясь в пределах фронтенда, можно специализироваться на чём-то, а можно быть многостаночником — в прошлом году нашумел текст «The Great Divide», посвящённый как раз этой разнице специализаций.


2010: «The Full Stack, Part I» (Carlos Bueno)

Следующие два года слова «full stack» не получали большого распространения, но затем Карлос Буэно из Фейсбука написал текст с таким заголовком, ссылающийся на Рэнди Шмидта. Поскольку у инженерного блога Facebook аудитория заметно больше, чем у небольшого личного блога, похоже, что вот отсюда понятие начало расходиться шире. Но Карлос не просто пересказал малоизвестную чужую идею, а дал своё определение:

A «full-stack programmer» is a generalist, someone who can create a non-trivial application by themselves.

Вот такое звучит применимо и сегодня: «человек, который может создать приложение в одиночку». Про дизайн тут ни слова не сказано. И ещё тут нет слова «web», которое было в оригинале — получается, что можно и где-нибудь в геймдеве быть фуллстеком.

Вместо дизайнерских умений Карлосу важно вот что: «люди с широким набором умений обычно вырабатывают хорошую ментальную модель того, как действуют разные слои системы. Это особенно ценно для работы над производительностью».

Он сравнивает это с химией и физикой, которые действуют на разных уровнях реальности: понимание нижнего уровня помогает человеку лучше ухватывать происходящее на верхнем. То есть, если исходный пост был только про «широту охвата» («и дизайнер, и кодер, и на дуде игрец»), то вот тут впервые зашла речь о том, что важна глубина.


2012: «What is a Full Stack developer?» (Laurence Gellert)

Ещё один резонансный ранний пост — тот самый, благодаря которому словосочетание «full stack» впервые появилось на Хабре. Его тут переводили аж три раза, причём в третий раз — вчера, спустя восемь лет после публикации оригинала.

Здесь определение звучит так:

For me, a Full Stack Developer is someone with familiarity in each layer, if not mastery in many and a genuine interest in all software technology.

«Знаком со всеми слоями, даже если и не мастер в них» — вот это интересный нюанс. Если изначальное определение предполагало «умеешь всё делать хорошо», то здесь этого уже не требуют. Можно быть «T-shaped»: чем-то конкретным заниматься глубоко, а с другими вещами достаточно «быть знакомым».

И здесь приводится новая причина «чем это хорошо», уже не про оптимизацию производительности: «Хорошие разработчики, знакомые со всем стеком, знают, как улучшить жизнь окружающим их людям». Про это сейчас можно услышать в связи с тестированием или девопсом: давайте не просто перекидываться кодом через стену, а вместе понимать, как всё работает.

А основную часть поста занимает список «как выглядит полный стек, который разработчик должен знать», и это тоже интересно. В случае с дизайном тут есть опция «признать, что нужна помощь дизайнера», его не считают обязательным требованием. Зато появились другие пункты от «понимать сервера/сеть/хостинг» до «понимать, что нужно пользователю и бизнесу». Спектр описан не столько в ширину («фронт/бэк»), сколько «в глубину», и непосредственно «кодить» — только средняя его часть.

Разумеется, этот список породил споры, где к нему пытались что-то добавить или убрать. Но интересно обсуждать не конкретные пункты, а общую идею: тут получается, что для фуллстека важнее не «уметь накодить и на фронте, и на бэке», а понимать и ниже своего кода («как работает то, что накодил»), и выше («зачем вообще нужно то, что накодил»). По сути, тут обращаются к исходному значению слова «stack»: вертикальная стопка вещей, опирающихся друг на друга (недаром тексты про фуллстек часто иллюстрируют стопкой блинов на тарелке).


2014: «Full-stack developers» (Mike Loukides)

Наконец, наткнулся в процессе гугления на популярный текст 2014 года в блоге на сайте издательства O’Reilly. Здесь уже не просто отдельное мнение, а попытка осмыслить различные предыдущие выступления по теме и добавить к ним что-то своё.

Одно из добавлений: вот здесь говорится, что JavaScript к 2014-му страшно разросся и усложнился, так что от фуллстек-разработчиков теперь требуется и понимание всяких ангуляров.

А ещё Майк предлагает к списку «знаний фуллстека» предлагает добавить CVS (ну, сегодня бы уже даже не стал упоминать, наверное), облака, распределённые вычисления… Как он сам признаёт, результат в таком случае получается не вертикальным «стеком», где всё опирается друг на друга, а разветвлённым «деревом», где много вещей «в сторону».

И ещё он признаёт, что если добавить это всё к списку от Лоренса, получается совсем уж длиннющий перечень. Поэтому не требует магического абсолютного мастерства во всём сразу. А вместо этого впрямую произносит слово «T-shaped», призывая специализироваться на чём-то, но в то же время и заглядывать в другие сферы: «я не требую от разработчиков разбираться в сетевых вопросах на уровне сетевиков, но уметь обсуждать эти вопросы надо».

Из забавного: в тексте есть фраза «I sincerely hope that “full stack” doesn’t appear in job titles anywhere». Майк, пишем тебе из будущего, не хочется расстраивать, но тут такое дело…


И что в итоге?

Какие выводы мы можем извлечь из этих четырёх текстов? Своими выводами делитесь в комментариях, а у меня получились такие:

  • Сегодняшние обсуждения full stack страшно отдалились от того, что вкладывал в это словосочетание его автор. Наверное, он офигевает, глядя на то, во что всё превратилось :)
  • Это понятие с самого начала было довольно размытым: с первых же постов разные люди вкладывали в него разное. Четыре приведённых текста — это четыре ощутимо различающихся позиции.

Так что нет и никогда не было какого-то одного «правильного» понимания. Это значит, что если у вас есть определённое видение, вы имеете на него полное право. Но это также значит, что у вашего собеседника может быть другое видение, на которое он имеет такое же право. Так что перед тем, как спорить «нужно ли становиться фуллстеком», стоит проверить, не говорите ли вы о разных вещах.

А ещё я увидел в этих определениях идею, которую считаю очень интересной. Но надо сделать оговорку: у меня профдеформация, и я тут лицо заинтересованное.

Смотрите: мы привыкли воспринимать «фуллстек» как «фронт+бэк», но сразу два из четырёх описаний совершенно не требуют быть сениором в обеих сферах, а вместо этого идут в сторону «T-shaped». Они предлагают не отказываться от специализации и быть гением-многостаночником, а изучать разное вокруг своего основного.

И это откликается во мне по следующей причине: я работаю в JUG Ru Group, мы делаем конференции для разных IT-специалистов, и среди их зрителей встречаю как раз таких людей. Типичный случай — Java-разработчик посещает конференции не только по Java, но и по тестированию или DevOps. А ещё может посмотреть видеозапись доклада про GraphQL с JS-конференции или про архитектуру с .NET-мероприятия.

Этот человек не занимается фронтендом, но лезет в разные стороны, чтобы лучше понимать всё вокруг, расширять доступный скоуп задач и находить общий язык с окружающими (тестировщиками, фронтендерами, инфраструктурщиками).

Стоит ли называть это «full stack»? Спорный вопрос. Но для меня как раз это звучит как «фуллстек здорового человека». Потому что про совмещение фронта с бэком часто пишут «здесь боль и страдание», а вот про вылазки на смежные территории такого негатива никогда не слышал — только хорошее.

И если вы хотите быть фуллстеком вот в таком значении, то для вас напоследок сделаю минутку рекламы: мы придумали конференционный вариант как раз для таких людей. Для нашего сезона из 8 онлайн-конференций сделали «Full Pass» — билет-абонемент, дающий доступ ко всем сразу. Смысл в том, чтобы конференцию по своему профилю смотреть внимательно, а на других точечно подключаться к отдельным докладам, актуальным для вас. Если звучит интересно — переходите на сайт Full Pass, там все подробности.

В вакансиях веб-разработчиков встречается позиция «Фуллстек-разработчик» (он же fullstack). Они неплохо зарабатывают, очень ценятся на рынке труда, но есть нюансы с навыками и трудоустройством. В тексте посмотрим, что это за работа, какие плюсы и минусы. 

Кто такой фулстек-разработчик

Фулстек — это русская версия английского full stack, человек, который может использовать весь стек технологий веб-разработки.

Стек — это набор языков программирования, фреймворков, стандартов, баз данных и подходов к реализации. Например, стек фронтенд-разработчика может быть таким:

  • HTML
  • CSS
  • Bootstrap
  • JavaScript
  • Vue.js

А стек бэкенд-разработчика в этом же проекте может выглядеть так:

  • PHP
  • Laravel
  • MySQL или MongoDB
  • Ruby
  • Python

Фулстек умеет и то и другое — и поднять базу, и настроить сервер, и красиво заверстать страницу. Получается, что фулстек — это такой универсальный солдат в веб-разработке, который, в теории, может в одиночку сделать сам весь проект.

Но это в теории. А на практике всё немного иначе.

Плюсы и минусы

✅ Главный плюс фулстека — его универсальность. Он может взять практически любую задачу в проекте и разобраться в любой проблеме. 

✅ Фулстек видит проект целиком и может заранее понять, где какую технологию нужно применить. Например, фулстек видит, что на фронте будет много вычислений на стороне пользователя, что замедлит работу веб-приложения. В этом случае он может сказать, что лучше бы вынести часть вычислений на сервер — это ускорит загрузку страницы и сделает работу приложения более комфортной. 

❌ Главный минус — он знает все эти технологии на уровне плюс-минус мидла, но не выше. Его знаний и навыков хватает, чтобы решить задачу, но он не сможет это сделать так же круто и легко, как, например, сеньор. Это связано с тем, что у фулстека просто не хватает времени на то, чтобы глубоко изучить какую-то область. Ему нужно разбираться сразу во всём, а если он будет всё время уделять только одной библиотеке или языку, то это будет в ущерб остальному.

Какие бывают фулстеки

Может показаться, что фулстек может написать что угодно на любом языке программирования, но на самом деле это не так. У фулстеков, как и любых других разработчиков, есть своя специализация, и она чаще всего зависит от бэкенда. 

Например, если программист хорошо знает Python, то, скорее всего, его основной бэкенд-стек будет выглядеть так:

  • Django
  • Nginx или Apache
  • Linux
  • REST API

А если вместо Python разработчик специализируется на C#, то стек может быть таким:

  • .NET
  • T-SQL
  • Microsoft Azure
  • ASP.NET

Получается, что фулстек фулстеку рознь и не получится взять в Java-проект фулстека, который специализируется на Node.js и веб-сокетах.

Что по деньгам

Средняя зарплата фулстек-разработчика в России в первом полугодии 2022-го — 159 000 рублей в месяц:

Кто такой фулстек-разработчик и что он умеет

При этом самые популярные в этом году навыки у фулстека — это JavaScript, React, PHP и C#:

Кто такой фулстек-разработчик и что он умеет

Как стать фулстеком

Самый простой способ стать фулстеком — выбрать себе направление, в котором хочется развиваться, а потом в одиночку выпустить полноценный проект. Это может быть что угодно, что требует одновременно и фронтенда, и бэкенда, например, сервис онлайн-заказов или веб-приложение для облачного хранилища текстовых файлов.

Ещё вариант — прийти в Практикум и пройти курсы веб-разработчика и программирования на питоне. В результате вы научитесь и делать сайты, и программировать серверную часть — то, что нужно для начала фулстек-карьеры.

Вёрстка:

Кирилл Климентьев

Как сказал Иэн Питерс-Кэмпбелл, опытный разработчик и основатель софтверной компании Stickbuilt, fullstack-разработчик — это технический волшебник, который знает все языки программирования и технологии, а также прекрасно поёт и танцует.

Кто такой и чем занимается fullstack-разработчик

В традиционном понимании fullstack-разработчик — это специалист, способный выполнить веб-разработку с нуля под ключ. Он полностью собирает продукт от написания кода, выбора архитектуры, привязки к базам данных и серверам до программирования кнопок на страницах. Фулстек разрабатывает фронтенд и бэкенд, а также администрирует и сопровождает готовый продукт. Он создаёт разные проекты: от сайтов и веб-приложений до компьютерных игр и программного обеспечения.

Как написали выше, fullstack-разработчик содержит в себе две части: frontend (создание пользовательского интерфейса сайта, приложения или ПО) и backend (разработка серверной и административной части — того, что скрыто от глаз пользователя, но обеспечивает работу сайта).

Нужно ли брать fullstack-разработчика в компанию

Fullstack-разработчик может работать с разным набором технологий и заменить сразу двух специалистов: frontend- и backend-разработчика. Для многих компаний лучше взять одного разработчика, чем двух узких специалистов. Он самостоятельно планирует проект и видит его развитие в целом. Fullstack-разработчик незаменим в случае, когда компания хочет сэкономить время и финансы.

Также таких специалистов часто берут в команду на удалённую работу. Компания не тратит лишние деньги, а проект реализуется быстрее, так как не нужны дополнительные согласования со стороны коллег.

Какие задачи решает fullstack-разработчик

Единого мнения насчёт фулстек-разработчика и его функций нет. Но в его задачи могут входить:

  • вёрстка страниц и программирование интерфейса сайта;

  • тестирование готовой интернет-платформы и отладка багов;

  • контроль качества сайта или приложения;

  • работа с базами данных, файловыми системами, облачными хранилищами и сетевыми ресурсами;

  • планирование, управление и реализация проекта на определённом языке программирования;

  • техническая поддержка всех специалистов, работающих над веб-сервисом.

Зачем компаниям нужны фулстек-разработчики

Сейчас компании открывают позиции с требованиями fullstack по нескольким причинам:

  • Fullstack-разработчики могут работать с несколькими технологиями, поэтому они могут справиться с бо́льшим количеством аспектов проекта, чем обычный программист.

  • Fullstack-разработчик сэкономит компании больше, чем наём некольких узкопрофильных программистов. Даже несмотря на то, что эта профессия является одной из самых высокооплачиваемых в отрасли.

  • Многие стартапы приглашают fullstack-разработчиков к себе, поскольку такие специалисты могут управлять всеми технологическими потребностями компании с самого старта работы проекта.

Сколько получает fullstack-разработчик

Хороших fullstack-разработчиков сегодня мало, поэтому они очень востребованы. Даже если вы живёте в небольшом городе с неразвитой ИТ-индустрией, всегда можно пойти на удалёнку. Сейчас только на hh.ru открыто 5810 вакансий. Зарплата зависит от компании и навыков специалиста. В среднем начинающие разработчики в Москве получают от 60 тысяч ₽ в месяц, продвинутые профессионалы — до 400 тысяч ₽ в месяц.Если говорить о средних показателях по миру, то разработчики зарабатывают около 45 тысяч $ в год.

< Кто такие фулстек-разработчики и как ими становятся

Где учиться

По данным ежегодного отчёта StackOverflow (в мае 2021 года в опросе приняли участие 80 000 разработчиков со всего мира), почти 60% респондентов научились программировать с помощью онлайн-ресурсов. Молодые специалисты, как правило, учатся на онлайн-курсах, форумах и других онлайн-ресурсах.

А обучиться всему, что нужно для начала работы fullstack-разработчиком, вы можете в SkillFactory на курсе fullstack-разработчик на Python.

Кто такие фулстек-разработчики и как ими становятся

Программа разработана так, чтобы за 15 месяцев на практике вы освоили более 20 видов инструментов для будущего веб-разработчика.

За время обучения вы:

  1. научитесь программировать на Python и JavaScript;

  2. освоите Django, React, SQL, а также познакомитесь с DevOps-практиками и основами Linux;

  3. создадите семь сквозных и один итоговый проект, которые можно добавить в портфолио;

  4. прокачаете мягкие навыки;

  5. узнаете, как искать проекты на фриланс-биржах и взаимодействовать с заказчиком.

Обучаться можете из любого места и в любое время. На всех этапах вас будет поддерживать ментор — опытный тестировщик с многолетним стажем. А карьерный центр поможет с трудоустройством.

SkillFactory — лидер в обучении ИТ-специалистов. Реальные отзывы и оценки студентов на независимых площадках это подтверждают.

Кто такие фулстек-разработчики и как ими становятся

По промокоду COSSA Вас ждёт 45% скидка на обучение!

Записаться на курс

Партнёрская публикация

Хотите рассказать на Коссе о своих продуктах или услугах? Изучите наш прайс и напишите на sales@cossa.ru — поможем выбрать подходящий формат и выпустить сильный текст.

В статье рассказывается:

  1. Существуют ли веб-разработчики Full-stack на самом деле
  2. Разновидности специалистов по веб-разработке Full-stack
  3. Уровни Full-stack разработки
  4. Преимущества и недостатки профессии Full-stack Web Developer
  5. Пройди тест и узнай, какая сфера тебе подходит:
    айти, дизайн или маркетинг.

    Бесплатно от Geekbrains

Если вы еще ни разу не сталкивались с понятием «Full-stack», значит, скорее всего, вы кодите только на JavaScript. – Ну, конечно же, мы шутим. Full-stack подразумевает комплексный подход, особенно когда речь идет о мире веб-разработки. По сути, это – компетенция мастера, способного реализовать как клиентскую, так и серверную сторону приложения.

Разумеется, такой специалист буквально на вес золота, и его работа очень высоко оплачивается. Это нужно учитывать, ведь в современных реалиях деление на FrontEnd и BackEnd становится менее актуальным. Гораздо результативнее, когда весь IT-проект от начала до конца ведет один специалист. А вот как он это делает, расскажем далее.

Дело в том, что многие разработчики и специалисты высшего звена с большим опытом в IT-сфере принципиально не воспринимают всерьез такую должность, как Full-stack-программист. И тут возникает резонный вопрос: с чего бы это? Всегда же ведь были мастера, способные справиться с поставленными задачами и по фронту, и по бэку. Тогда откуда берутся сомнения по этому поводу?

Веб-разработчики Full-stack

Веб-разработчики Full-stack

И всё же бытует мнение, что не существует полноценных Full-stack-программистов. На практике картина такая: около половины специалистов из сферы web development, называющих себя Full-stack-разработчиками – это BackEnd-девелоперы, которые прошли короткое обучение по FrontEnd и способны более или менее справиться с Angular- или React-компиляцией.

То есть собрать и подключить они умеют, и даже достигают уровня Junior в верстке, но чаще такой Full-stack-мастер не продемонстрирует высшего пилотажа. Кнопки будут нажиматься, но на этом – всё.

Либо к Full-stack-девелоперам себя причисляет оставшаяся половина программистов, а именно — те, которые специализируются на FrontEnd, при этом только слегка разобрались в BackEnd и еще, например, в Node.js (чаще всего), или это могут быть PHP-разработчики. Все они при необходимости способны кое-что подправить, но полноценное классное Full-stack-приложение никто из них вам не напишет.

Есть еще мнение, что понятие «Full-stack» придумано специально и служит эдакой бизнес-уловкой, позволяющей работодателям нанимать одного сотрудника, который сам будет выполнять функции двух разных специалистов (отнюдь не новый способ сэкономить).

Скачать файл

Если разобраться, то в основе всех разногласий касательно профессии Full-stack лежит скептицизм. Есть разработчики, которые не верят, что можно на достаточно хорошем уровне овладеть и FrontEnd, и BackEnd. Тут в каждом случае надо знать кучу языков, технологий, уметь их применять. Поэтому невозможно одновременно быть классным специалистом и по фронтенду, и по бэкенду.

Веб-разработчики Full-stack

Веб-разработчики Full-stack

Сами же Full-stack-программисты уверяют, что в ходе разработок всегда приходится погружаться и в противоположную часть процесса, знакомиться там с инструментарием, технологиями, то есть сопровождать проект в полной мере. А потом уже остается как следует всё подучить, попрактиковаться и браться за проекты целиком.

Разумеется, Full-stack-специалисты не будут знать все необходимые технологии и языки так уж досконально (наравне с узкоспециализированными коллегами). Однако их познаний вполне хватит для того, чтобы от и до сделать проект, в котором и по FrontEnd, и по BackEnd всё будет отлично работать.

Разновидности специалистов по веб-разработке Full-stack

В Full-stack-программировании существует ещё разделение по специальностям, и они тут есть очень разные: PHP Full-stack Developer, Node.js Full-stack Developer, Java Full-stack Developer и много других. По первой части названий понятно, какой именно язык или платформа задействуется при разработке бэкенда проекта.

Как правило, при реализации FrontEnd применяется один и тот же стек технологий, разными могут быть лишь инструменты JavaScript, а именно — Angular, React или Vue.js. Что касается BackEnd, то здесь возможностей для исполнения значительно больше.

Итак, еще раз: senior Full-stack Web Developer — это кто? Так называют специалиста, который занимается созданием приложений, причем он активно участвует в проработке и клиентской (визуализация, логика процессов), и серверной (формирование баз данных, построение серверной архитектуры и логики программ) частей продукта.

Такой мастер задействует в своей работе определенный стек технологий. В частности, для подготовки клиентской стороны (FrontEnd) чаще всего используется примерно один и тот же набор:

  • HTML и CSS (языки верстки и стилей соответственно);
  • JavaScript и TypeScript – языки программирования;
  • Инструмент Bootstrap;
  • Angular/React/Vue.js;
  • SASS и LESS (препроцессоры);
  • jQuery (библиотека);
  • DOM, AJAX, JSON;
  • адаптивная и кросс-браузерная верстка.

Далее – о BackEnd (серверной части) и его ответвлениях, предполагающих использование тех или иных современных технологий и языков программирования:

Разновидности специалистов по веб-разработке Full-stack

Разновидности специалистов по веб-разработке Full-stack

Node.js Full-stack Developer

В BackEnd «начинки» бывают самые разные, тут вариантов гораздо больше, чем в FrontEnd. В частности, основной язык Node.js Full-stack-разработчиков – это JavaScript. И стек тут выглядит следующим образом:

  • Node.js (сама платформа);
  • Express.js – рабочий фреймворк;
  • Npm, yarn – менеджеры пакетов;
  • Web Sockets;
  • архитектура REST API;
  • ряд других специальных технологий.

pdf иконка

Топ-30 самых востребованных и высокооплачиваемых профессий 2023

Поможет разобраться в актуальной ситуации на рынке труда

doc иконка

Подборка 50+ ресурсов об IT-сфере

Только лучшие телеграм-каналы, каналы Youtube, подкасты, форумы и многое другое для того, чтобы узнавать новое про IT

pdf иконка

ТОП 50+ сервисов и приложений от Geekbrains

Безопасные и надежные программы для работы в наши дни

Уже скачали 19868 pdf иконка

Java Full-stack Developer

Здесь основной инструмент программирования – язык Java и сопутствующие ему технологии. Такой специалист использует в работе стек следующего содержания:

  • язык Java + Java Core;
  • Apache (сервер);
  • JPA/Hibernate (инструмент для связи с базами данных);
  • Spring (Spring MVC, Spring Boot, Spring REST, Spring Web);
  • Google Cloud, AWS или Azure (облачные хранилища);
  • умение пользоваться сервлетами, JSP (Java Server Pages);
  • понимание сути работы микросервисов.

Java Full-stack Developer

Java Full-stack Developer

ASP.NET Full-stack Developer

Этот специалист владеет широким спектром инструментов, необходимых для реализации веб-проектов. Основной применяемый тут язык программирования — C#. В целом ASP.NET Full-stack Developer должен обладать следующим набором знаний по BackEnd:

  • C#;
  • понимание общей структуры .NET;
  • ASP.NET MVC / ASP.NET Core (Web API);
  • фреймворк Entity;
  • Azure (облачное хранилище);
  • язык программирования T-SQL;
  • знание RESTful API.

PHP Full-stack Developer

Язык PHP — это классический инструмент программирования. Стек такого специалиста обычно менее обширен по сравнению с предыдущими вариантами. РНР многим веб-мастерам давно и хорошо знаком, поэтому всё, что тут нужно – это:

  • владение, собственно, самим РНР.
  • популярные фреймворки Yii2/Symfony/Laravel.
Верстальщик: кто он и чем занимается

Читайте также

Python Full-stack Developer

Возможности Python не преувеличивая можно назвать безграничными. В том числе и сфере веб-программирования. Стек Python Full-stack-мастера выглядит примерно так:

  • Python (сам язык);
  • Django/Flask (рабочие фреймворки);
  • REST API;
  • Web Sockets;
  • понимание ОС Linux, могут пригодиться и Nginx/Apache;
  • умение пользоваться облачными сервисами.

Python Full-stack Developer

Python Full-stack Developer

Кроме своих узконаправленных технологий каждый Full-stack-специалист должен знать следующее:

  • Git (система управления версиями) и GitHub (веб-сервис для хостинга IT-проектов);
  • проектировать и вообще разбираться в SQL и NoSQL (реляционные и нереляционные базы данных соответственно);
  • понимать HTTP- и HTTPS-протоколы;
  • владеть SQL (язык запросов) и какой-либо из СУБД: MySQL/PostgreSQL/SQLServer, или любой из NoSQL СУБД (в частности, это может быть MongoDB);
  • уметь тестировать готовый продукт;
  • выполнять Code Review;
  • работать с Docker;
  • знать английский (уровень – от Intermediate и выше);
  • иметь представление о современных паттернах программирования и разбираться в подходах к их реализации;
  • хорошо ориентироваться в алгоритмах и структурах данных.

pdf иконка

Точный инструмент «Колесо компетенций»

Для детального самоанализа по выбору IT-профессии

pdf иконка

Список грубых ошибок в IT, из-за которых сразу увольняют

Об этом мало кто рассказывает, но это должен знать каждый

doc иконка

Мини-тест из 11 вопросов от нашего личного психолога

Вы сразу поймете, что в данный момент тормозит ваш успех

Регистрируйтесь на бесплатный интенсив, чтобы за 3 часа начать разбираться в IT лучше 90% новичков.

Только до 6 марта

Осталось 17 мест

Кроме того, в Full-stack-программировании может потребоваться разработка мобильных приложений или адаптация уже готовых продуктов под разные платформы.

Таким образом становится понятно, что для создания качественной BackEnd-части проекта Full-stack-специалист должен знать довольно много языков и технологий.

Уровни Full-stack разработки

Сервер, сеть и среда хостинга

  • Тут нужно понимать, что и по каким причинам может перестать работать, и не воспринимать как должное ни один ресурс.
  • Необходимо корректно пользоваться системами файлов, облачными сервисами, сетевыми инструментами. Плюс понимать, когда речь идет о доступности и избыточности данных.
  • Масштабирование приложений, какие для этого существуют аппаратные возможности и ограничения.
  • В мире хорошо известны такие понятия, как многопоточность, состояние гонки. Впрочем, сами вы с этим, скорее всего, не столкнетесь.
  • Full-stack-специалисты могут плотно взаимодействовать с DevOps. В работе очень помогает возможность получать от системы сообщения об ошибках и наличие логирования.

Моделирование данных

  • Модель данных может быть несовершенной и тогда, чтобы учесть то, что она не охватывает, в бизнес-логике и на более высоких уровнях появляется необходимость в довольно странном коде.
  • Full-stack-специалист знает, как разработать корректно работающую реляционную модель, какие к ней нужны внешние ключи, индексы, представления, таблицы поиска и всё прочее.
  • Full-stack-специалист разбирается в нереляционных и реляционных базах данных и понимает преимущество первых перед вторыми.

Моделирование данных

Моделирование данных

Бизнес логика

  • Понимание ценности приложения как такового.
  • Осознание принципов объектного ориентирования.
  • Использование рабочих фреймворков.

Уровень API / Уровень действий / MVC

  • Как на бизнес-логику и модель данных могут воздействовать внешние обстоятельства?
  • Это уровень, на котором активно задействуются фреймворки.
  • Обычно Full-stack-специалисты создают простые в использовании интерфейсы и избегают некоторых API из-за их чрезмерно запутанной структуры.

Пользовательский интерфейс (UI)

  • Full-stack-мастера знают, как создаются читаемые макеты и понимают, что без помощи художников и дизайнеров по графике тут не обойтись. Так или иначе, во главе угла всегда – хорошая визуализация.
  • Надо владеть HTML5 / CSS.
  • JavaScript как язык программирования весьма перспективен, и с ним связано множество интереснейших современных проектов (node, backbone, knockout…).

Пользовательский опыт (UX)

  • Для пользователя главное – работающий продукт, и Full-stack-специалистов такой подход очень даже устраивает.
  • Если система отлажена корректно, то проблем с запястьями или глазами у пользователя не будет.
  • Сообщения об ошибках от JavaScript-специалистов должны быть понятны рядовым пользователям. А если что-то перестало работать, то обязательно нужно извиниться за вынужденные неудобства.

Пользовательский опыт

Пользовательский опыт

Понимание что нужно клиенту и бизнесу

  • Full-stack-мастера знают, как именно работает программное обеспечение в процессе использования и как в целом функционирует бизнес, для которого оно создавалось.

Другие важные моменты

  • Full-stack-специалист должен уметь создавать модульные тесты высокого качества, а сейчас это возможно даже с JavaScript.
  • Понимать порядок автоматизации процессов при разработке приложений, знать всё о тестировании, документировании и масштабировании.
  • Осознавать возможность уязвимостей и обеспечивать достаточную безопасность на каждом уровне.

Преимущества и недостатки профессии Full-stack Web Developer

Положительные моменты работы в должности Full-stack Web Developer

  • Можно самостоятельно браться за реализацию проекта целиком

Для разработчика владеть и FrontEnd, и BackEnd – это явный плюс. Мало того, что такой программист самостоятельно настроит обе стороны продукта, так он еще и наладит коннект между ними (а в данном моменте как раз и случаются обычно нестыковки у фронт- и бэкендщиков). Если всё это делает один человек, любые недопонимания и противоречия исключаются.

  • Процесс разработки идет быстро, специалист сам принимает решения, время не уходит на лишние согласования

Full-stack Web Developer — это грамотный программист, который единолично и занимается разработкой, и руководит проектом. Его профессионального уровня достаточно для принятия самостоятельных решений, которые можно не обсуждать с другими участниками процесса.

  • На биржах фриланса легко найти для себя работу

Преимущества и недостатки профессии Full-stack Web Developer

Преимущества и недостатки профессии Full-stack Web Developer

Программисты, способные сделать в одиночку веб-проект целиком, на биржах очень даже востребованы. В этом смысле у них перед узкими специалистами явное преимущество. Так что Full-stack-разработчик – профессия весьма перспективная, с нею вообще можно уйти во фриланс и обеспечивать себе там отличную зарплату.

  • Широкие возможности карьерной реализации

Full-stack-специалист может найти применение своим знаниям в самых разных областях веб-девелопмента. Если захотите, можете заниматься исключительно FrontEnd- или BackEnd-программированием, развиваться шире в горизонтальном направлении или осваивать какую-то сферу более углубленно. Или можно избрать другой путь, двигаться вертикально, вверх по карьере, стать тимлидом, архитектором и руководить процессами разработки приложений.

Отличное место для применения подобных знаний — стартапы. Обычно владельцы таких проектов не располагают большим бюджетом и стараются нанять вместо нескольких программистов одного специалиста широкого профиля, какими и являются Full-stack-разработчики. Тут можно прекрасно отточить свои навыки плюс еще и поработать над интересными, свежими, нескучными проектами.

Если же говорить в целом о нуждах рынка, то Full-stack-девелоперы тут в цене, да еще в какой! Куча компаний не против иметь у себя в штате подобного специалиста. Открытых вакансий на такую должность немного, но и конкуренция ниже (в сравнении с фронт- и бэк-мастерами).

  • Работа не рутинная, выгорания тут случаются редко

Деятельность Full-stack-специалистов точно нельзя назвать однообразной. Благодаря широкому арсеналу знаний, такой мастер может браться за самые разные проекты, не уставая от монотонного применения одних и тех же инструментов.

  • Возможности для создания и совершенствования собственного продукта

Для этого у Full-stack-разработчика достаточно знаний и навыков. Со временем можно даже собрать собственную команду специалистов, создать свой продукт и продолжить его развивать. Всё, что для этого необходимо, у вас уже есть.

Недостатки профессии Full-stack Web Developer

  • Узкие специалисты имеют преимущества именно в своей области

Full-stack-мастер, конечно, разбирается во многих технологиях, однако узкие специалисты знают предмет в разы лучше. Full-stack-девелоперу приходится распыляться, поэтому освоить досконально буквально все языки и инструменты вряд ли получится. То есть он многое умеет, но тот, кто работает лишь по одному конкретному направлению, всё равно знает больше.

Недостатки профессии Full-stack Web Developer

Недостатки профессии Full-stack Web Developer
  • Full-stack-разработчик тратит много времени на обучение

Технологий нужно изучить много. Пока осваиваете BackEnd (к примеру), потихоньку забывается то, что уже удалось выучить по FrontEnd. Поэтому необходимо очень стараться, чтобы уровень полученных знаний оставался высоким. Как этого достичь? – Сначала изучите одно направление и устройтесь на работу как узкий специалист.

И потом по ходу дела изучайте технологии второго направления. Так вы не забудете текущие знания (и наберетесь опыта в их применении) и постепенно освоите новые, плавно приближаясь к полноценной Full-stack-разработке.

  • Отслеживать новые тенденции достаточно тяжело

В мире IT-технологий всё очень стремительно и переменчиво. Новые методики, языки, подходы к написанию и тестированию кодов сначала появляются, потом быстро уступают место еще более свежим, и этот процесс непрерывен. Широкопрофильный специалист должен успевать его отслеживать, быть в курсе современных подходов, потому что именно этого, как правило, требуют работодатели.

  • Чрезмерный объём обязанностей

Работодатель, нанимая Full-stack-программиста, нередко выдвигает слишком много требований. Можно увидеть объявления, в которых прописано «Node.js + React.js + React Native», то есть от специалиста ждут еще и применения технологий мобильных разработок. Понятно, что это не лучшим образом отражается на результате и на самом качестве знаний. Человек хватает их по верхам. Да и не всегда есть интерес к тому или иному направлению, ведь не может нравиться сразу всё.

  • Вас бросают на все амбразуры

Нередко работодатель норовит навесить на Full-stack-мастера буквально всё: подправить написанный другими код, что-то доработать, пофиксить ошибки, взять на себя обязанности фронт- или бэкендера (потому что тот в отпуске) и т. д. и т. п. А то и вовсе вас одного нанимают вместо пяти необходимых специалистов.

Полиморфизм: суть, проблемы применения

Читайте также

  • Вам поручают слишком сложные задачи

Вы специалист широкого профиля? Ну что ж, значит все самые тяжелые задачи – вам на исполнение, кому же ещё?

  • Высокая степень загрузки

Об этом уже не раз говорилось в предыдущих пунктах. Будьте готовы к тому, что работы у вас будет, мягко говоря, много, и притом ежедневно.

Недостатки профессии Full-stack Web Developer

Недостатки профессии Full-stack Web Developer
  • С заменой будут проблемы

С одной стороны незаменимость – ваш козырь, а с другой – и недостаток. Да, у своего работодателя вы будете ценным сотрудником, но на время отпуска найти замену будет очень сложно. Обязательно всплывут задачи, которые невозможно будет перепоручить другим программистам, так что будьте готовы к постоянным звонкам и дёрганьям даже на отдыхе.

Итак, Full-stack Developer — это разработчик-универсал, обладающий знаниями и навыками как в FrontEnd, так и в BackEnd. Пожалуй, узкие специалисты глубже разбираются в своих сферах и способны сделать свою часть работы красивее. Но зато сила Full-stack-разработчика в том, что он может сам браться за проект с нуля и доводить его до полной готовности.

Конечно, в Full-stack Web Development есть свои плюсы и минусы. Но тут, как говорится, было бы желание. Дерзайте, учитесь, не жалейте на это времени и сил – и получите на руки современную, интересную, востребованную и перспективную профессию.

Может ли один программист создать современное приложение, и есть ли у такого подхода шансы в сравнении с командной разработкой? Если коротко, то ответ на оба вопроса — «да», но все не так просто. Подробнее читайте в материале.

Рассвет и закат фулстеков

В начале развития общедоступного интернета сайты были небольшими и часто создавались одним человеком, веб-мастером. По мере коммерциализации сети повышались и требования к ПО, что привело к специализации веб-программистов. Разработка клиент-серверных приложений превратилась в командную работу, где отдельные люди отвечали за сетевое оборудование, настройку виртуальных машин, баз данных и т.д.

Создание веб-сервисов нового поколения становилось непомерно дорогим. Это было напрямую связано с накладными расходами — так как подключалось все больше людей, затраты на коммуникацию увеличивались в геометрической прогрессии и замедляли разработку.

Одновременно технологии создания сайтов нового поколения становились проще благодаря новым высокоуровневым языкам программирования и фреймворкам. В какой-то момент это позволило одному программисту вновь брать на себя полный цикл создания веб-приложения.

В вебе большую популярность набрал LAMP-стек с открытым исходным кодом всех компонентов (Linux, Apache, MySQL, PHP / Python / Perl) и проприетарный стек Microsoft (Windows Server, SQL Server, IIS, ASP.NET). Появились инструменты, которые ускорили разработку серверной части, а технологии jQuery/CSS3/HTML5 помогли с отрисовкой интерфейсов. Рост популярности был также связан с доступностью решений для хостинга.

Независимо от стека, конечным результатом веб-запроса был код HTML/CSS/JS, который приходил от сервера. HTML предоставлял контент, CSS делал его красивым, а JavaScript добавлял немного интерактивности. Сервер объединял HTML-шаблоны с бизнес-данными для создания отрисованной страницы в браузере.

К концу 2000-х годов стало реальным самостоятельное создание полноценного сайта, включая динамическое клиентское приложение, бизнес-логику на стороне сервера, масштабируемую базу данных, развертывание и операционную поддержку. Новое поколение разработчиков полного цикла ускорило доставку функциональности, во многом благодаря сокращению коммуникационных издержек. Этих специалистов стали называть фулстеками.

В 2010-х возникли новые дисциплины — мобильная разработка, машинное обучение, дополненная реальность, большие данные, блокчейн и еще масса всего, чего один человек знать никак не может. Например, для создания нативных приложений для iOS и Android требуются специалисты по этим платформам, а DevOps требует глубокого знания облачных сервисов и навыков аварийного переключения.

По мере развития JavaScript-фреймворков появилась возможность создавать нагруженные интерфейсы в реальном времени в браузере. Стали появляться одностраничные приложения вроде Facebook и Google Maps. Фронтенд-разработка превратилась в отдельную специализацию.

Пришла пора прощаться с мыслью о том, что один человек сможет создать и запустить современный цифровой продукт… или нет?

Покойся с миром, фулстек. Да здравствует Т-образный специалист!

Мысль об универсальном специалисте слишком соблазнительна, чтобы просто так ее отпустить. Поэтому сегодня часто говорят о T-образных компетенциях. Придуманный американскими рекрутерами в 80-х годах термин обрел новую жизнь.

Что это значит? Все очень просто — вертикальная черта буквы T относится к опыту и пониманию конкретной области, в то время как горизонтальная часть буквы T относится к способности сотрудничать с экспертами из других дисциплин и расширять кругозор.

Проблема в том, что от программистов ждут разных навыков в горизонтальной черте — продуктовых, дизайнерских, управленческих и так далее, тогда как вертикальная черта по-старинке отвечает за все, связанное с инженерией.

Например, для фронтенд-разработчика вертикальная черта отвечает за владение технологиями, понимание разных подходов к программированию, знание лучших практик. Горизонтальная черта — это про умение находить общий язык с дизайнерами, понимание UX/UI, а также, например, SEO. Такой специалист видит глобальную картину и принимает правильные решения.

Если фулстек и T-образный специалист это не одно и то же, то почему понятия стали синонимами?

Матрица компетенций программиста разрослась до небывалых размеров — охватить все одному человеку не под силу. Смирившись с таким положением дел, под фулстеком стали понимать специалиста, который сможет самостоятельно разрабатывать бэкенд и фронтенд на современных технологиях. Но требовать от программиста одинакового уровня знаний в этих сферах — все равно что требовать одинаково хорошо писать правой и левой рукой. Поэтому внутри технических навыков стали выделять T-форму.

Выбираем стек правильно

При создании ПО разнообразие выбора может привести в ступор. Что лучше подойдет: Python или PHP? React или Angular? Использовать проверенные инструменты или пробовать новые технологии? Эти вопросы задают себе как опытные, так и начинающие программисты.

Чтобы упростить бесконечное число вариантов, инженеры выбирают готовые стеки, которые служат руководством по выбору и интеграции компонентов веб-ресурса.

Стек часто определяет ОС, базу данных, веб-сервер и язык программирования. Чуть выше мы говорили про LAMP и Microsoft, но сегодня таких наборов инструментов стало значительно больше. Такие стеки помогают не мучаться с выбором, быстро приступить к работе и сосредоточиться на бизнес-задачах.

Большую популярность в профессиональном сообществе обрел MEAN-стек, который позволил создавать серверную и клиентскую часть на JavaScript, в состав которого входят:

  • MongoDB для хранения данных в виде документов в формате JSON.

  • Express.js — это бэкенд-фреймворк, работающая поверх Node.js.

  • Angular.js — это фреймворк для интерфейсных веб-приложений, запускающий JS-код в браузере пользователя.

  • Node.js — среда выполнения JavaScript, позволяющая вести серверную разработку на JavaScript.

Акроним MEAN можно также перевести с английского как «злой». В отличие от предшественников, в нем не указана операционная система, но впервые указана клиентская среда, которая играет столь важную роль, что с появлением React и Vue акроним трансформировался в MERN и MEVN.

Несмотря на заявляемую универсальность JS и широту его применения в вебе, мобайле, геймдеве и даже машинном обучении, этот язык нельзя назвать лучшим выбором для узконаправленных задач. Реальность такова, что пока что JS остается преимущественно языком программирования интерфейсов. На кадровом рынке специалисты, знающие JS, это в первую очередь фронтендеры.

Приложения на MEAN-стеке ориентированы для создания одностраничных приложений, работающих в браузере. Без перезагрузки страницы они позволяют переключаться между событиями, открывая и закрывая элементы интерфейса, делая его полностью динамичным.

Использование этих технологий хорошо подходит для проектов со сложной логикой на клиенте и относительно простой серверной частью. В таком случае один человек может полностью создать полноценное веб-приложение без ущерба качеству.

Для проектов со сложной серверной логикой, но относительно простыми интерфейсами — корпорталы, системы личных кабинетов, решения для бэк офиса — следует рассмотреть другой набор инструментов, например, VILT, который включает:

  • Vue.js — простой в освоении JS-фреймворк, который предоставляет много готовых компонентов;

  • Inertia.js — библиотека, которая заменяет маршрутизатор Vue на маршрутизатор Laravel;

  • Laravel — самый популярный на сегодняшний день PHP-фреймворк;
  • Tailwind CSS — библиотека, упрощающая работу со стилями.

Акроним можно перевести как «дикий» со скандинавских языков. Здесь большое внимание уделяется фронтенд-технологиями, потому что цель стека — упростить бэкендерам создание веб-интерфейсов.

Стек придумали и распространяют PHP-программисты, которые оценили все достоинства современных JS-технологий и захотели полностью контролировать разработку приложений.

Закон Конвея или когда лучше выбирать разработку на MEAN или VILT-стеке

В начале мы наглядно показали, как цепочки коммуникаций повышают стоимость и замедляют процесс разработки. Но структура коммуникаций также влияет и на структуру конечного программного продукта. Впервые об этом заговорили полвека назад, и сегодня это правило известно как закон Конвея.

Любая организация, которая разрабатывает систему (в широком смысле), вынуждена создавать проекты, структуры которых являются копией структуры связей организации.

Мелвин Конвей, Ученый в области теории вычислительных машин и систем

В контексте веб-приложений можно сказать, что при разделении проектной команды на бэкенд и фронтенд подразделения, у вас получится система, в которой каждый специалист пытался найти способ применить свои уникальные компетенции. Это может привести к плохой, неоправданно усложненной архитектуре или даже конкурирующим модулям.

Решение укомплектовать команду четырьмя разработчиками, а не тремя, влияет не только на увеличение коммуникационных затрат, но и на весь рабочий процесс, потому что теперь приходится планировать и выделять задачи для четвертого члена команды.

Чем меньше массы у проектной команды, тем лучше: программисты не будут попадать в простои или усложнять реализацию без мотивированной необходимости.

Для небольших проектов, отдельных модулей системы или MVP мы рекомендуем нанимать одного специалиста, которой самостоятельно закроет все работы. Это позволяет не только сэкономить на стоимости разработки, но и получить более цельный продукт.

Важно не гнаться за мифическим фулстеком. Лучше определить, какой из стеков вам подойдет. Сложная логика на бэкенде со стандартными интерфейсами? Выбирайте VILT. Одностраничное приложение со сложным интерфейсом, но простой серверной частью? Выбирайте ME(A/R/V)N-стек.

Спасибо, что дочитали до конца! Это блог IT-продакшна Work Solutions. Мы занимаемся аутсорсингом и аутстаффингом: создаем веб-приложения на заказ и усиливаем штат наемных специалистов. Будем очень рады вашим:

⭐ на GitHub;

➕ на Хабре;

❤ в VK.

Понравилась статья? Поделить с друзьями:
  • Как пишется hong kong
  • Как пишется homework слитно или раздельно
  • Как пишется homework на английском
  • Как пишется homework вместе или отдельно
  • Как пишется homemade