Фуллстеки, единороги и другие "фантастические твари"

Хочешь уверенно проходить IT-интервью?

Готовься к IT-собеседованиям уверенно с AI-тренажёром T1!

Мы понимаем, как сложно подготовиться: стресс, алгоритмы, вопросы, от которых голова идёт кругом. Но с AI тренажёром всё гораздо проще.

💡 Почему Т1 тренажёр — это мастхэв?

  • Получишь настоящую обратную связь: где затык, что подтянуть и как стать лучше
  • Научишься не только решать задачи, но и объяснять своё решение так, чтобы интервьюер сказал: "Вау!".
  • Освоишь все этапы собеседования, от вопросов по алгоритмам до диалога о твоих целях.

Зачем листать миллион туториалов? Просто зайди в Т1 тренажёр, потренируйся и уверенно удиви интервьюеров. Мы не обещаем лёгкой прогулки, но обещаем, что будешь готов!

Реклама. ООО «Смарт Гико», ИНН 7743264341. Erid 2VtzqwP8vqy


Речь пойдет о фантастических созданиях – разработчиках полного стека. Разберемся с их биологией и узнаем, существуют ли фуллстеки в реальности.

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

Что же за зверь такой – фуллстек? Говорят, что он способен разрабатывать и реализовывать проекты как на стороне сервера, так и на стороне клиента, следовательно, знает сильные и слабые стороны каждой технологии, постоянно следит за их обновлением и новыми решениями. Невероятно ценный кадр!

Фуллстеки, единороги и другие фантастические создания

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

Откуда взялся "полный стек"?

Легенда о фуллстеках зародилась в начале 2000-х годов. Вы помните, как выглядел тогда веб? Все было попроще и намного более единообразно, чем сейчас:

  • 3-4 основных сервера приложений, которые отвечали за поддержание состояния, бизнес-логику и создание пользовательского интерфейса. Языки и среды разработки, конечно, отличались, но клиент-серверная схема, модели и методы программирования в целом были однотипны.
  • Все базы данных основывались на реляционной модели и работали с языком SQL-запросов. Имея домен, поддерживающий стандарт SQL-92, можно было менять базы как перчатки.
  • На фронтенде работали HTML4, CSS2 и молодой-зеленый JavaScript, управляющий DOM-моделью. Сайты создавались только для десктопов с определенным набором разрешений.
  • Пропускная способность интернета была раз в 100 меньше нынешней.

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

"Полный стек" родился!

Особую популярность ему принес быстрорастущий Facebook, который активно нанимал разработчиков "полного цикла".

Эволюция

Но за 20 лет фронтенд и бэкенд прошли огромный путь:

  • Фундаментальный сдвиг парадигмы переместил контроль за состоянием приложения с сервера на клиентскую часть. Изменился и центр тяжести знаний разработчика полного стека. Если раньше фуллстеки были бэкенд-экспертами, разбирающимися во фронтенде, то сейчас это скорее классные фронтендеры с хорошим знанием бэкенда.
  • JavaScript до такой степени усовершенствовался (ECMAScript 5, 6, 7), что стал способен реализовывать инженерные решения, близкие по уровню к C# или Java. Современные JS-фреймворки приближаются по сложности к бэкенд-решениям, а кривые обучения, например, Angular или Ember, стали такими крутыми, что новичку или перебравшемуся на фронт бэкендеру будет непросто с ними справиться.
  • Браузерные виртуальные машины продолжают развиваться. От простого представления текстовых документов мы перешли к полноценным платформам для создания сложных приложений.

JavaScript наконец-то обзавелся инкапсуляцией, как и DOM, – появились новые стандарты Shadow DOM и Custom Elements.

Мобильный мир

В начале текущего десятилетия наравне с десктопом встала мобильная среда с собственным пользовательским опытом.

И iOS, и Android создают богатую и сложную экосистему и требуют уникального подхода к разработке. Сэкономить усилия можно лишь используя гибридные технологии на основе DOM-модели браузера (например, Apache Cordova).

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

Бэкенд тоже эволюционирует. Базы данных теперь не придерживаются исключительно реляционной модели. NoSQL-системы заняли свою позицию и не намерены ее сдавать.

От монолитов мы перешли к распределенным архитектурам и микросервисам, любим их за масштабируемость и удобство обработки информации.

Фуллстеки – миф или реальность?

Все же красивая легенда о фуллстеках может воплотиться и в современном веб-мире. Живой пример этого – JavaScript. Этот язык используется во всех контекстах разработки: на десктопе (DOM), в мобильных клиентах (Cordova, React Native), на сервере (Node.js) и в базе данных (MongoDB). Фуллстеки сейчас обитают в основном в стартапах и небольших проектах.

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

Если вы все же очень хотите стать частью легенды, специально для вас мы подготовили полезное руководство Как стать востребованным full-stack разработчиком в 2018 году.

А как вы думаете, остались ли еще настоящие full stack разработчики?

Перевод статьи Full-stack developers, unicorns and other mythological beings.

Комментарии

ВАКАНСИИ

Добавить вакансию
Hotel Search Team Lead (Golang)
по итогам собеседования
Golang-разработчик
Пермь, по итогам собеседования

ЛУЧШИЕ СТАТЬИ ПО ТЕМЕ