Вашему вниманию предлагается перевод любопытной статьи Скотта Хадфилда, CTO и со-основателя стартапа “Hello Pretty”. Сейчас в половине вакансий, связанных с вебом и серверной разработкой, встречается волшебная фраза “full stack”. Чаще всего с эпитетами вроде “джедай”, “супер-герой” и “ниндзя”. Кого ищут все эти люди, и кого им на самом деле удается получить в свою команду?

Конечно, в названии статьи я несколько сгустил краски и full stack разработчики существуют. Но вы никогда такого не найдете. “Настоящие” full stack разработчики существуют — так же как существуют гении и люди, которые программируют с 12 лет. Я слишком часто вижу это словосочетание, и, по моему мнению, единственный вариант найти такого человека — это заняться хантинг-браконьерством. Если у вас не запредельное везение, то все бойцы, подходящие под описание “full stack”, уже давно и надежно трудоустроены.

Я знаком с несколькими ребятами, которые соответствуют описанию “full stack”. И за этими ребятами постоянно гоняется толпа хантеров, что лишь подпитывает миф о том, что у вас получится найти такого разработчика в свой проект.

Описание “full stack developer” так же бессмысленно как “Гений” или “Тот, кто может сделать все что угодно в [вставьте здесь свою предметную область]”.

Раскрою эту мысль поглубже. Иллюстрация ниже показывает неполную версию того самого “stack”, о котором говорится во всех этих вакансиях. В большинстве случаев разработчику нужны только одно или два умения из каждого слоя. Некоторые умения можно получить за пару часов (например, простейшая компиляция с помощью “./configure && make && sudo make install” или использование VPS). Получение других умений может занять годы.



То, что ожидается от “full stack” разработчика надежно выходит за рамки возможностей обычного человека. Такой разработчик должен разбираться в масштабировании приложения до нескольких миллионов кликов в день (в час?), знать что такое “домашние животные vs крупный рогатый скот” и почему это так важно, уметь выбирать между MongoDB и MySQL, применять CAP-теорему, настраивать PaaS и IaaS, владеть дюжиной средств управления конфигурациями для развертывания приложений на Rails, Django, Wordpress, Swift или их комбинации, разбираться в отличиях микросервис-ориентированной архитектуры от монолитных приложений и еще несколько дюжин вещей.

Это значит, что full stack разработчик должен обладать как минимум хорошим пониманием каждого компонента в стеке веб технологий, чтобы иметь возможность принимать обоснованные решения как их использовать. Он также должен уметь объяснить свой выбор менеджерам, желательно простым языком. Да-да, на самом верху стека находятся хорошее владение письменным языком, навыки командной работы и умение донести непростые вещи до менеджеров.

Каждый год новые компоненты добавляются к каждому слою стека. А раз в несколько лет к стеку добавляется новый слой. Вы все еще считаете, что разумно писать в вакансиях “full stack разработчик”? Это не очень умно. Особенно когда вы начинаете искать одного человека, одновременно являющегося специалистом по безопасности, веб разработке, юзабилити и настройке серверов. И такие запросы не то чтобы очень редки.

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

Ах, да, и когда CEO заглядывает в офис, нужно настроить принтер и общий доступ к файлам на его новеньком ноутбуке с windows.

Как я уже писал, такие люди существуют. Лично знаю нескольких. Но также я знаю множество великолепных разработчиков, дизайнеров и менеджеров проектов, которые даже близко не подходят под определение “full stack”. И еще больше тех, кто называет себя “full stack разработчиками” и при этом с трудом могут дать определение больше чем дюжине слов из списка выше. И это при том, что в список далеко неполный, в нем даже нет некоторых слоев, например того, на котором живут JRE и Node.js. И тут мы понимаем, что у нас проблема.

В большинстве случаев, когда я видел “full stack” в описании вакансии, на самом деле они искали “очень крутого спеца”.

Самое раннее упоминание “full stack” и “full stack инженера” я видел в посте разработчика Facebook Карла Буэно, который называл этим термином генералиста с сильным уклоном в анализ производительности.

Возможно, “full stack” инженеру или разработчику вообще не нужно писать код. А вместо этого фокусироваться на работе системного архитектора или интегратора. Человек со знанием всего стека технологий может предвидеть проблемы коммуникации и интеграции между слоями до того, как они смогут нанести вред разрабатываемому проекту.

Но даже в случае, если под “full stack” понимать роль архитектора, необходимо определить о каком “стеке” идет речь. Стек веб разработки, мобильной разработки, нативных приложений? Даже в таком виде “full stack” это не одно умение, а большой набор умений, с глубоким пониманием о взаимодействии технологий в рамках “стека” и о том, как изменения на одном слое стека влияют на другие его слои.

Full stack разработчик — это миф. Но не потому, что таких людей нет, а потому, что такое определение не имеет смысла. Нет никакой разницы между этой формулировкой и “coding ninja” или “rockstar”. Но про последние все хотя бы понимают что такие названия не имеют отношения к конкретному набору умений.

Вы ищете “на все руки мастера”, специалиста по интеграции, специалиста по производительности, того кто может быстро изучать новые технологии и приемы разработки? Или вы ищете того, кто является экспертом во всех перечисленных областях? У меня для вас плохие новости, посмотрите на картинку еще раз. Она далеко неполная.

Изображение взято отсюда.

Комментарии (115)


  1. Peregrinus
    18.01.2016 10:01
    +9

    Какое-то передёргивание и доведение до абсурда, как мне кажется. Автор видел вообще такие вакансиии?


    1. Emin
      18.01.2016 11:36
      +30

      Посмотрите блок вакансий на Хабре. Первые две:
      Ведущий веб-разработчик • full stack • PHP, YII, JS
      Full-stack веб-разработчик


      1. taliban
        19.01.2016 13:29
        +3

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


        1. Eklykti
          19.01.2016 13:41
          -5

          > Я должен знать свой пхп, но при этом еще и тот же фронтенд.

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


          1. taliban
            19.01.2016 14:56
            +3

            Нет, не такие ставят. Увы.


          1. Blumfontein
            20.01.2016 06:42
            +1

            >> пых мейк инсталлом

            «Таким» проще написать как раз apt-get install php5, чем что-то там компилить, не?


            1. kivsiak
              20.01.2016 20:11
              +1

              какой первый манул попадется так и ставят


        1. Emin
          20.01.2016 11:56
          +1

          Если брать такое понимание, то под него подходит практически любой разработчик хоть с каким-то опытом. Лично мне очень тяжело представить себе человека, ни разу не разбиравшегося со смежными вопросами. Сидит условный пхп-кодер. Знает только ПХП. Со шаблонизаторами никогда не работал, вёрстку не видел, про базы данных ничего не ведает, тестовое окружение ему только админы разворачивают, какая ОС на серверах не догадывается. Такое возможно? Только если человек вчера прочитал книжку «ПХП для чайников».
          Но если практически любой с опытом подходит под это определение, то зачем его писать в вакансии? Затем же зачем у нас для вёрстки странички в три абзацы ищут крутых верстальщиков с опытом работы в крупных корпорациях, желательно умеющих перемножать в уме шестизначные числа, и за зарплату младшего разработчика. Ах, да! И это всё срочно! Это тот же тренд, что и на всём рынке труда — даже уборщица должна иметь диплом о высшем образовании (нет, я не против высшего образования в ИТ, а очень даже за, но во всём надо знать меру).
          В итоге все понимают, что требования в вакансиях нужно делить на 2, а то и на 10. А потом на Хабре появляются статьи «Почему на вакансию с чёткими требованиями для старшего разработчика приходят люди со знаниями младшего?» Потому что в подавляющем числе вакансий требования очевидно завышены.


          1. taliban
            20.01.2016 13:32

            Ну хпх был примером, есть ветви где разделение более чем четкое, корпоративный сегмент берет узко направленных специалистов в основном, им качество дороже денег. В .net часто встречаются люди отлично знающие именно .net, но не работающие с бд, потому что всю жизнь у них был «свой бд разработчик», а они просто вызывали функции и те им возвращали что нужно. То же саомое и с версткой. Даже у меня сейчас на работе в небольшой фирме, есть разделение, я могу вообще не касаться верстки, и все, даже самую мелочь отдавать в отдел фронтенда. Многие крутят носом по поводу того же фронтенда, зачем, когда у тебя есть свой собственный верстальщик? Администрирование тудаже входит, «зачем мне париться с живыми серваком, чета там смотреть и делать? Есть же девопс!!» эта мысль сидит во многих головах, если в команде/проекте есть админ. Кому-то это интересно, кому-то нет. Кто-то хочет просто педалить и ничего больше, их тоже можно понять.


  1. Joric
    18.01.2016 10:08
    +24

    Нет слов. Давайте лучше постить котиков. Вот, например.


    1. kstep
      18.01.2016 10:23
      +22

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


      1. Sild
        18.01.2016 11:20
        +6

        Эльфов ищут.


        1. spendlively
          18.01.2016 12:03
          +3

          Да, да. Особенно порадовало: «выдвинутый подбородок для системного администратора — не надо», «их можно сравнить с животными»)))


          1. janson
            18.01.2016 12:11
            +2

            То ли она училась на ветеринара, то ли просто выбрала в качестве основной специализации зоопсихологию. :)

            Может она руководствуется каким-то внутренним документом: «Как определить программиста», «Как выглядит правильный разработчик», «Требования к форме ушей тестировщиков в нашей компании».


            1. spendlively
              18.01.2016 12:20

              ))) Да нет же. Просто, видимо, айтишники — такая интересная специализация с точки зрения психологии)))


              1. janson
                18.01.2016 12:59
                +1

                Просто несёт в массы знания :)


          1. PHmaster
            18.01.2016 23:54
            +3

            С широким кончиком носа — блоки на сайтах оптимизировать. С узким — в системных платах ковыряться. Вот оно, что решает по жизни!


    1. 1vertus1
      18.01.2016 10:39
      +25

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


    1. tangro
      18.01.2016 11:28
      +4

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


      1. spendlively
        18.01.2016 12:16
        -1

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


        1. tangro
          18.01.2016 13:03
          +2

          «она специалист по прогнозированию поведения человека и психологических особенностей его личности на основе анализа его признаков и внешности»


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


          1. spendlively
            18.01.2016 13:32
            +1

            Ну да))) А еще полиграфологи определяют лжешь ты или нет, когда говоришь, что починил базу.


            1. kyrie
              18.01.2016 13:56
              +2

              Ржу в голос. Тут, бывает, самому понять починил ты эту е№у%:? ю базу или нет, проблема, а уж если тебя эта леди спросит, то вообще караул, пойди пойми, что она имеет в виду )


        1. agarus
          18.01.2016 14:29
          +1

          Это как специалист по биоинформационной медицине — практика есть, научного подхода нет.


      1. Pleshner
        22.01.2016 18:20

        Там на видео выше никакой не эйчар, ну с чего вы взяли? Вот откуда вы это решили?

        Это Анна Кулик — руководитель Информационно-Аналитического Департамента Всемирного Антитеррористического Фонда при содействии ФСБ и МВД, профайлер-полиграфолог.

        Кстати, там есть и второе видео с ней ещё, вторая часть, а тут только первая выложена. Более подробней здесь пасите про Аню:

        http://blogerator.ru/page/arhetip-sisadmina-anny-kulik-sobesedovanija


    1. Ipeacocks
      18.01.2016 11:59
      +6

      Рюкзак!


    1. zalp
      18.01.2016 12:39
      +4

      Спасибо! Поржал. На 6 минуте девушка показала своё ухо и заявила, что такая форма ухо говорит о живости ума :)) мочка («вот это расстояние») — много меньше остального уха («вот это расстояние»)
      Погуглил про мочки уха О чем расскажет ухо?

      Мочка уха гармоничного размера и естественного цвета — Хорошие резервные возможности организма, спокойный характер, трудолюбие
      Мочка уха слишком большая, негармоничная форма, неоднородная консистенция (участки уплотнения) — Общее истощение организма, генетическая предрасположенность к онкологическим заболеваниям
      Мочка уха очень маленькая (почти отсутствует) — Врожденные формы умственной неполноценности


      1. agarus
        18.01.2016 14:34
        +1

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


    1. Vurtatoo
      18.01.2016 13:46
      +3

      Носить вещи в рукзаке очень удобно, когда у тебя нет авто.


      1. kyrie
        18.01.2016 14:01
        +3

        Я больше скажу — даже если у тебя есть авто, рюкзак все равно незаменимый аксессуар, в большинстве случаев. Какие-то документы там с собой постоянно бывает нужно таскать, пачку ключей разных, очки / чехол, второй телефон, книгу, на случай внезапного ожидания…

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


        1. PHmaster
          19.01.2016 00:00
          +3

          Ещё дон Хуан говаривал: сумки — зло и портят осанку, рюкзаки — добро и не портят.


    1. AcidLynx
      18.01.2016 16:16
      +10

      Тема сисек не раскрыта. Извините.


    1. random1st
      19.01.2016 00:34
      +4

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


    1. gz0t
      19.01.2016 10:56
      +2

      Выключил на «рюкзак», «торчат наушники из рюкзака». Неприятная женщина. У меня 80% знакомых айтишников, и это не обязательно программеры ходят с рюкзаками, а у них оттуда торчат, обожешки, ноутбуки.


    1. getmanartem
      19.01.2016 15:37
      +1

      а у парней-то и правда ступор наверное, когда они пытаются сообразить да всерьез ли эта корова или прикалывается?


  1. BalinTomsk
    18.01.2016 10:10
    +15

    Я знаю много людей знающих технологии перечисленые снизу до верху. Сам знаю большую часть.
    Любой девелопер прошедший через 5-10 компаний рано или поздно со всем этим сталкивается


    1. bolk
      18.01.2016 10:22
      +2

      +1. Я сейчас не разработчик, но до сих пор практикую (большей частью — в качестве хобби, но и по работе, бывает, в сложные момент приходится подключаться). Из перечисленной таблицы мне приходилось плотно (несколько лет) работать почти по всем упомянутому в таблице и уж точно — по всем строкам.


    1. stavinsky
      18.01.2016 10:32
      +17

      Или же когда человек просто интересуется обстановкой в IT сфере и хочет держать руку на пульсе. Но одно дело разбираться а другое дело быть специалистом в каждой из областей. Так что в какой-то мере я понимаю автора. Хотя я тоже считаю что такие люди есть хоть их и не очень много.


      1. bolk
        18.01.2016 10:50
        +1

        Ну, я в каждой строке специалист, но не во всех словах строки. Например, в БД у меня набор другой: MySQL, MongoDB, Oracle, плюс активно смотрю PostgreSQL. В языках у меня нет в активе Руби, Джавы и Свифта. Ну и так далее.

        Но мне не очень понятно почему в каждой строке именно такой набор. Например, почему в языках нет Си и Си++. Какой же fullstack без этого? В безопасности («security») набор куцый, выдаёт полное незнание автором предмета и так далее.

        В общем, табличка, мягко говоря, спорная.


        1. dirtyHabrBobr
          18.01.2016 11:54

          Потому что разделяющий слова слэш неоднозначен;
          в одном месте может читаться как &&, в другом ||, где-то скобки пропущены


        1. stavinsky
          18.01.2016 12:47
          +9

          Табличка спорная. Вопрос не в табличке. Вы сможете например на память рассказать обо всех уровнях модели OSI? А формат заголовка IP пакета? А учитывая VLAN? Когда лучше использовать new а когда malloc? Как работают мюьтексы и чем отличаются от локов и причем тут симафоры? Какое ограничение у реализации winsock через select, а у WaitForMultipleObjects? А рассказать разницу между асинхронным кодом, threads, fork? А на windows? Может рассказать чем InnoDB отличается от MyISAM и где лучше использовать MyISAM? А рассказать чем GIS у оракла отличается от Postgre? А как работает механизм полнотекстового поиска у Postgre? А что такое короутины в питоне и чем они отличаются от генераторв? Как работают кроссдоменные AJAX запросы и что для этого нужно? А может ли в js у анонимной функции быть имя и если да где его область видимости. Продолжать?
          Это я все к тому что я лично уверен что можно быть специалистом только в одной ну двух областях. Но не во всем стеке. Каждый из дурацких вопросов которые я тут задал для специалиста в своей области покажется смешным. Но только те на которые он знает ответ. На сколько сходу сможете ответить Вы?


          1. bolk
            18.01.2016 12:54
            +2

            Вы сможете например на память рассказать обо всех уровнях модели OSI?
            Да.
            А формат заголовка IP пакета? А учитывая VLAN?
            Нет.
            Когда лучше использовать new а когда malloc? Как работают мюьтексы и чем отличаются от локов и причем тут симафоры?
            Да.
            Какое ограничение у реализации winsock через select, а у WaitForMultipleObjects?
            Нет.
            ? А рассказать разницу между асинхронным кодом, threads, fork?
            Да.
            А на windows?
            Откуда fork на Windows?
            А рассказать чем GIS у оракла отличается от Postgre? А как работает механизм полнотекстового поиска у Postgre?
            Нет (в PostgreSQL я только начинаю разбираться).
            А что такое короутины в питоне и чем они отличаются от генераторв?
            Ничем не отличаются.
            Как работают кроссдоменные AJAX запросы и что для этого нужно?
            Да.
            А может ли в js у анонимной функции быть имя и если да где его область видимости.
            Может. Внутри функции.
            Продолжать?
            Как хотите.

            Что это показывает-то?


            1. stavinsky
              18.01.2016 13:07
              +1

              Преклоняюсь, вы гуру )
              Думаю мало кто может сразу на все вопросы ответить, как и вы не смогли и я бы не смог. А человек которого называет fullstack разрабом автор статьи должен. Правильное ли это определение fullstack разработчика не знаю. У меня другое понимание.
              С форком поймали ) Хотя cygwin это как-то обходит?
              Я бы завалился на GIS и мало что смог сказать про полнотекстовый поиск. Ну и OSI я сходу не перечислю без бумажки )
              У генераторов кстати нет yield from и yeld на вход они не принимают. И не всегда сопрограммы основаны на генераторах. Вроде в 3.5 что-то поменялось по этому поводу.

              P.S. Но выпить с вами пива или чай за интересной беседой я бы не отказался


              1. bolk
                18.01.2016 13:25
                +1

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

                Хотя cygwin это как-то обходит?
                Мне помнится, что не обходит, выдаёт ошибку.
                P.S. Но выпить с вами пива или чай за интересной беседой я бы не отказался
                Проблематично, думаю ) Я переехал в Казань, в Москве, универсальной точке сбора, бываю редко и набегами (приехал, деловая встреча, уехал).


            1. RouR
              18.01.2016 13:35
              +19

              Что это показывает-то?
              У кого fullstack длиннее)


          1. uzzz
            18.01.2016 14:35
            +1

            А формат заголовка IP пакета? А учитывая VLAN?


            VLAN это технология канального уровня, в IP-пакете про VLAN ничего нет.


            1. stavinsky
              18.01.2016 14:36
              +2

              Так же как и форка у windows)


    1. dom1n1k
      18.01.2016 14:48
      +5

      А я не верю, что все это знается на высоком уровне. Все равно всегда есть 2-3 главные области (где человек знает глубины и тонкости) и несколько смежных (где имеет общее представление, но все равно проиграет в одни ворота хорошему узкому специалисту).


      1. BalinTomsk
        19.01.2016 02:05

        Нет пределу совершенству. Но если они и я в том числе прошли через несколько компаний из Топ-100 вы думаете им зря платят?
        Мне говорят идею и приношу DVD с софтом и рекомендации кому и как продавать.
        Сколько там слоев — зависит от задачи.


        1. dom1n1k
          19.01.2016 18:15

          Удачно топ-10 заменён на топ-100 :) А то я уже хотел спрашивать — это среди кого топ, во всем мире или Томске?


          1. BalinTomsk
            19.01.2016 18:21

            Я уже второй десяток лет как в Канаде. Просто подумал? что RIM когда богатейшая компания Канада в десятку софтверных вряд ли когда-то входила, вот и поправил.


    1. Viacheslav01
      19.01.2016 00:13
      +1

      Знать и уметь использовать правильно хотя бы на 50% это гигантская разница.


  1. artemmalko
    18.01.2016 10:30
    +3

    В таблице опечатка про LASS или что-то такое и правда есть?


    1. Joric
      18.01.2016 10:39
      +8

      Скорее всего имелись в виду HTML5 / CSS3 / SASS / LESS, но автор не обязан знать такие тонкости.


    1. morgreek
      18.01.2016 12:46
      +5

      Есть. Библиотека сэмплов струнных LA Scoring Strings, музыканты сокращают до LASS. И, возможно, это не очепятка =)


      1. kyrie
        18.01.2016 14:02

        В ряду с HTML5 / CSS3 / SASS — маловероятно.


        1. ZoomLS
          18.01.2016 14:59
          +1

          Там Wordpress указан в качестве фрамеворка(!), поэтому, тут может быть — всё что угодно.


          1. foxmuldercp
            18.01.2016 22:35

            Мне кажется, что если считать фреймворк конструктором — то любая расширяемая дополнениями — темами и модулями/плагинами система управления содержимым сайтов вполне себе Фреймворк — «как хочу так и верчу» — бложики, фотогалерейки, госовалки, модули онлайн магазинов, репостинг/шаринг в соцсетях, аналитика CTR/посещаемости и прочее.


          1. mukizu
            20.01.2016 13:19

            Он и есть фреймворк, уже давно.


  1. michael_vostrikov
    18.01.2016 10:43
    +12

    Начало вроде нормальное, но потом куда-то не в ту степь. Ни разу не сталкивался, чтобы под full-stack разработчиком понимали специалиста с доскональным знанием технологий от ассемблера до фотошопа и менеджмента. Обычно имеется в виду конкретный стек (например, веб), и специалист на все руки, который знает всего понемногу (PHP и верстку) на нормальном уровне, чтобы не нанимать 2 или 3 разных специалистов.
    Люди, которые «знают всё» на профессиональном уровне, тоже бывают, но я бы не стал называть full-stack разработчиками только их.


    1. guai
      18.01.2016 12:14

      Что-то у вас коротковат стэк. Для вэб я б назвал: язык для бэкэнда, js, css, html, http, настройку сервера, деплой. Возможно, субд. Эт если не лезть в дебри конкретных либ и такого прочего.


  1. i360u
    18.01.2016 10:50
    +18

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


    1. stavinsky
      18.01.2016 12:55
      +1

      Full stack разработчик — это специалист более-менее знающий...

      Хорошее заменчание. Действительно кто как понимает значение full stack. Может голосование сделать? Вот мне казалось что все зависит от стека потенциальных платформ потенциального клиента. Вон для такого же evernote это будут серверы, веб, приложения, масшабирование, бд, ocr и тд. Но вот нужен ли он такой…

      и вы облажаетесь, потому, что не будете знать как их лучше задействовать

      об этом я тоже сразу подумал но написать не решился.


  1. Antelle
    18.01.2016 10:51
    +2

    Кажется, автор не усвоил разницу между fullstack и devops.


    1. Ipeacocks
      18.01.2016 12:03
      +4

      Я тоже не усвоил что такое Devops. Это по-моему просто модное слово, которое все используют.


      1. asm0dey
        19.01.2016 10:11
        +1

        Ну, я считаю что девопс — это я. Я в основном разработчик, но ещё я умею и периодически занимаюсь автоматизацией сборки, автоматизацией развёртывания и релиз-менеджментом, более-менее разбираюсь в технологиях виртуализации, знаю инструменты и техники масштабирования. Могу настраивать ОС на которых крутится моя система и могу настраивать все сопутствующие моей системе компоненты. Это и называется devops developer+operations. Противопостовляется отдельной эксплуатации из мира кровавого энтерпрайза (по крайней мере в моём мире Java).

        А кроме этого я ещё и небольшой фуллстэк, но всё-таки не полноценный — я умею много на чём писать, но вот красиво верстать странички, например, не умею.


    1. boombick
      18.01.2016 12:03
      +2

      Причем здесь devops?


      1. Antelle
        18.01.2016 12:15
        +3

        Большая часть из перечисленного в таблице (os, virtualization, hosting, containers, package management, server management, config management) относится именно к devops, разработчику это не надо кроме понимания в общих чертах.


  1. Sild
    18.01.2016 11:05
    +12

    Мне кажется, говоря full stack, HR'ы подразумевают «Кроме как писать код(\админить\анализировать данные) вам ещё придется заниматься всем, что нам вздумается на вас свалить — от продажи продукта клиентам, когда никто не понимает что делает система — до заливки тонера в ксерокс». Не нужно так акцентировать внимание на самом термине, нужно просто понимать на что вас хотят подписать.


  1. seregamorph
    18.01.2016 11:08

    Но даже в случае, если под “full stack” понимать роль архитектора, необходимо определить о каком “стеке” идет речь. Стек веб разработки, мобильной разработки, нативных приложений?

    Архитектор не обязан быть профи клиентской разработки, но должен понимать концепции работы GUI и мобильных приложений. К примеру, если речь идет о мобильном геймдеве и архитектор с акцентом на server side, то он по-хорошему должен заниматься протоколом, разбираться в кросс-платформенном C++ (по сути единственный язык программирования, на котором можно написать серверную и мобильную логику всех платформ), представлять ограничения платформы. Но не писать сам мобильный апп.
    В противовес «full stack» можно получить другую крайность — каждый занимается своим делом. Вроде хорошо: мобильные разработчики занимаются мобильной разработкой, серверные-серверной, админы админят. Только вот нет человека (как правило, достаточно одного), который имеет общее представление о комплексной системе, видит ее «сверху», видит фундаментальные вещи — архитектуру целого.


    1. Fedcomp
      19.01.2016 10:00

      > C++ (по сути единственный язык программирования, на котором можно написать серверную и мобильную логику всех платформ)
      Не соглашусь. На javascript тоже можно написать серверную и мобильную логику, а еще логику в браузере. Это если мы говорим про веб + мобильные приложения. Да и на декстопы есть electron и прочие. Так что тоже много где можно писать. Я уже молчу что на некоторых системных языках можно написать большинство из того что можно написать на C++, так как есть бинарная совместимость.


      1. seregamorph
        19.01.2016 10:27

        Насколько я знаю, лицензия iOS запрещает создание исполняющей среды (виртуальной машины), поэтому javascript легально нельзя. Даже Chrome для iOS — обертка над Safari. Поправьте меня, если я не прав.


        1. Antelle
          19.01.2016 10:50

          Они недавно изменили это и разрешили. Писать на js теперь можно, но: 1. надо обязательно использвать jsc, 2. не загружать логику динамически (чтобы фичи не продавали в обход аппстора).


      1. seregamorph
        19.01.2016 10:29

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


  1. konsoletyper
    18.01.2016 11:10
    +5

    Мне кажется, табличка слегка преувеличена.

    • Hardware/OS/Virtualization/Hosting/Containers/PaaS/Package management/Server management — это не задача разработчика вообще, даже fullstack, это частично работа админа, частично — devops.
    • Scaling — далеко не все проекты обслуживают по миллион кликов в минуту/час. Миллион кликов в сутки — это 10 кликов в секунду. На типовом проекте, если у разработчиков прямые руки, всё должно спокойно умещаться на одном сервере.
    • Search — опять же, далеко не во всех проектах нужен полнотекстовый поиск. При необходимости, можно взять какой-нибудь Lucene, на изучение базовых возможностей хватит пары недель, обычно этого хватает большинству проектов.
    • Frontent design — это задача не разработчика, а дизайнера. Если devops/администирование — это то, что разработчику под силу, то дизайн — совсем другая дисциплина, требующая совсем другого взгляда на мир, и, ИМХО, на эту позицию совсем никак нельзя сажать разработчика (если он только не является этаким Ленардо да Винчи с широким спектром интересов).
    • Business requiremenets — это задача аналитика.


    Оставшееся — как раз то, что должен делать разработчик. Многие разработчики, однако, действительно узко специализированы и не разбираются во всех оставшихся пунктах, а только в некоторых. ИМХО, как раз fullstack разработчик — это именно разработчик, хорошо умеющий всё из таблицы автора, что не перечислено у меня в списке, и немного разбирающийся во всех остальных пунктах. Смысл не в том, чтобы всю работу компании поручить одному человеку (который заметьте, по сути дилетант во всём, что не касается его прямых обязанностей), а в том, чтобы был человек, который мог бы «залатать швы» между узкими специалистами, когда неизбежно возникают проблемы из-за недостатка коммуникации.

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


  1. ko11ega
    18.01.2016 11:34

    В приведенной таблице даже в одной последней строчке смешаны весьма разные менеджерские профили: Product Owner и Project Manager. А все остальное является перечислением скилов: Админов, Программистов и Системных архитекторов.
    Человек который ищет для решения всех этих задач «full-stack разработчика» просто формирует инфантильный бизнесс-запрос — реши все мои ИТ проблемы за меня, «тыжпрограммист». И правильный ответ человека обладающий знаниями о всех этих активностях, даже поверхностным — «тебе нужен не программист, а СТО, так что давай прощаться с иллюзиями и готовить соответствующий бюджет и на меня и на команду».
    На проектах на которых возникают все задачи из перечисленных в таблице речь конечно же идет не о работе одного человека. И конечно же специализация каждого члена команды в конкретных навыках(а менеджерские и технические навыки вообще требуют разного типа мышления) дает большую эффективность работы команды в целом.


  1. Methos
    18.01.2016 11:47
    +4

    full-stack — это человек, могущий создать сервис с нуля самостоятельно — база, сервер, клиент, вёрстка.
    Всё.


    1. DexterHD
      18.01.2016 12:26
      -4

      Я вот лично не верю что в современном IT более менее серьезный проект может быть реализован одним человеком. Сейчас серьезные проекты разрабатываются около года командой из 5-7 человек.

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

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


      1. WST
        19.01.2016 08:37
        +1

        Как раз веб-разработка — это такая сфера, где если ты знаешь что-то одно, но хромаешь в смежных областях, то это не есть хорошо. Как можно, например, знать ЯП (PHP, Python, Ruby), но при этом не знать HTML и/или SQL и/или не уметь настроить продакшен? Так что аналогия «с одной стороны спец. который знает все, а с другой стороны он не знает ничего на достаточно хорошем уровне», на мой взгляд, не совсем уместна, так как здесь сама сфера требует обладать познаниями из разных областей. Ты не имеешь права заявить, что хорошо владеешь технологией, если не имеешь хотя бы минимальные познания в смежных с ней.


        1. foxmuldercp
          21.01.2016 21:56

          Скорее «стек технологии» уже.
          Потому как python|ruby|asp.net|perl включают в себя не только сам ЯП, но и кучу стандартных библиотек даже для ввода вывода/чтения/записи, я уже не говорю про сами по себе комплексные Фреймворки, которые включают в себя десяток библиотек чтобы эти самые Rails или Django просто запустились, как единая сущность, которую можно использовать для разработки, которые могут включать в себя не один десяток библиотек


      1. vintage
        19.01.2016 21:48

        А что на ваш взгляд такое «несерьёзный проект»? :-)


    1. foxmuldercp
      18.01.2016 22:48

      То есть, любой человек, прошедший начальные курсы по asp.net/rails/Django/nodejs и написавший онлайн магазин/бложик/голосовалку/что-то-ещё по дефолтным вводным мануалам на соотвтетствущих сайтах, может считаться фул стек разработчиком?


      1. VolCh
        19.01.2016 09:13
        +1

        Начинающим. Джуном или трейни. Если сможет всё это повторить уже без мануалов, а только по спекам.


        1. foxmuldercp
          21.01.2016 21:53

          Ну вот я написал свою веб бухгалтерию ещё на asp.net mvc 4, самостоятельно, простенько, но функционально, за годик по вечерам, и да, я знаю и понимаю что я джун.
          Теперь вот поскольку основной профиль — хостмастер — пишу для своей работы веб приложения на rails, в том числе одно весьма масштабное, и понимаю что я ещё более джун чем был, но, хотя бы знаю в какую сторону расти :(


          1. VolCh
            21.01.2016 23:24

            Зато фуллстэк джун )


  1. jrip
    18.01.2016 11:51
    -2

    > “Настоящие” full stack разработчики существуют — так же как существуют гении и люди, которые программируют с 12 лет.
    Все намного проще, не надо знать все, надо просто уметь учиться. Собственно, чтобы на изучение чего либо годы не уходили, надо быть грамотным инженером, а не гением. При этом, для того чтобы стать грамотным инженером, надо закончить неплохой вуз.

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


    1. moveax3
      18.01.2016 12:18
      +2

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


      1. jrip
        18.01.2016 13:28

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

        И собственно, а как вы станете специалистом? Куда возьмут без опыта и без какого либо образования?
        Клепать сайтики на джумле? Охрененный специалист по джумле, ок. )

        Собственно можно, конечно, до всего дойти самому, только зачем, если с вузом проще?
        Просто потому что бунтарь и все такое?


        1. moveax3
          18.01.2016 14:05
          +1

          Я не об абстрактных в вакууме, а о реальных ВУЗах данной страны. Чем проще? Что дадут эти три года, чего не дадут три года работы над реальными проектами?
          Мое мнение обосновано неоднократнымиопытом работы со «специалистами», которые по корочкам, но не по призванию, «инженеры». Сейчас любой дебил, способный платить 30-300тысяч за семестр (в зависимости от «илитности» вуза) через пять лет становится «специалистом».

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


          1. jrip
            18.01.2016 14:43
            -2

            >Что дадут эти три года, чего не дадут три года работы над реальными проектами?
            Ну например начнете понимать, то что вам пишут. Где я писал про замену? Я про то что можно и тем и тем заниматься.

            >Мое мнение обосновано неоднократнымиопытом работы со «специалистами», которые по корочкам, но не по призванию, «инженеры».
            А со специалистами, которые реально специалисты вы получается по работе не сталкивались?
            Включим логику, чтобы понять ситуацию. Либо после вузов нормальных специалистов не бывает, либо с вами почему-то такие работать не хотят, что вероятнее и что это показывает? ))

            >И это не я бунтарь, а вы застряли в прошлом. Сейчас до любого знания два тыка пальцем, до любой книги три тыка.
            Когда учился я, с обучением в сфере IT было сильно хуже, чем сейчас.
            >Но вы считаете при этом, что непременно нужно идти и обучатся в «Высшее учебное заведение», для чего? Что это даст?
            Например там есть учителя, котоыре на пальцах за пару минут объяснят то, на что самому придется потратить дни, а то и недели.
            Укажут на ошибки, которые не видишь сам, расскажут всякие бестпрактис, которые позволят не проходить этап гавнакодера-велосипедиста.
            А главное это возможность общаться с людьми у которых схожие интересы, находить друзей, для многих это возможность собрать свою команду и, даже организовать свою компанию. Да можно и без вуза, но зачем лишнее усложнение?

            >И заочный вариант чем лучше самостоятельного обучения?
            Если вы пробовали и возникает такой вопрос — то для вас разницы нет, забейте.
            Если не пробовали, то попробуйте, собственно плюсы я расписал и так, у меня нет задачи вас уговаривать, ведь по логие мне выгоднее обратное ;)


            1. moveax3
              18.01.2016 15:09
              +2

              А со специалистами, которые реально специалисты вы получается по работе не сталкивались?
              Включим логику, чтобы понять ситуацию. Либо после вузов нормальных специалистов не бывает, либо с вами почему-то такие работать не хотят, что вероятнее и что это показывает? ))

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

              оно уже прошло
              Например там есть учителя, котоыре на пальцах за пару минут объяснят

              Укажут на ошибки, которые не видишь сам, расскажут всякие бестпрактис

              Замените «учителя» на «коллеги» и внезапно имеем тоже самое, но в лучшем качестве, ибо учителя учат, а коллеги варятся непосредственно в предмете изучения.

              Мы с вами из разных миров, очевидно.


              1. jrip
                18.01.2016 15:40
                -1

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

                >Замените «учителя» на «коллеги» и внезапно имеем тоже самое,
                >но в лучшем качестве, ибо учителя учат, а коллеги варятся непосредственно в предмете изучения.
                Окей. 17 лет стоит выбор на тему вуза. Что-то мне кажется, что при таком раскладе «коллеги» отлично научат кричать «свободная касса». А вот если в вуз пойти, то года через три вполне себе возьмут куда-то джуном, даже может быть за деньги.

                >Мы с вами из разных миров, очевидно.
                Ну это не я сказал, впрочем думаю все проще) Судя по тому, на сколько вас задело мое первое сообщение, что вы начали спорить, вас беспокоит эта тема, а значит вы сомневаетесь/жалеете что не учились.
                Собственно меня эта тема не волнует ни капли, я лишь высказал свое мнение, так что давайте закончим.


            1. VolCh
              19.01.2016 09:17

              А главное это возможность общаться с людьми у которых схожие интересы, находить друзей, для многих это возможность собрать свою команду и, даже организовать свою компанию. Да можно и без вуза, но зачем лишнее усложнение?


              Это вуз для этого лишнее осложнение :)

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


              1. jrip
                19.01.2016 11:44
                +2

                >А если серьёзно, вы часто проводите собеседования на позиции уровня джун/трейни, чтобы рассуждать о качестве выпускаемых >специалистов? Кстати подавляющее большинство из них не имеют диплома инженера, а бакалавры.
                Приходилось заниматься и таким, становилось грустно, когда будущий программист не знает даже что такое косинус.
                По моим наблюдениям, с теми у кого есть, хотя бы, незаконченное высшее, проще работать.
                А вы часто берете 17летних, чтобы заменить им вуз?


                1. VolCh
                  19.01.2016 18:30

                  Для нас это практически не значимый фактор. Как говорится будет плюсом при прочих равных, но обычно прочих равных не бывает.


  1. psylosss
    18.01.2016 11:54
    +1

    Я думаю, что под «full stack» часто подразумевается «разработчик широкой специализации». Это не означает, что он должен уметь делать всё. Это означает, что он должен уметь владеть многими (иногда — всеми) инструментами, в настоящий момент используемыми в проекте. И часто подразумевается, что широта знаний имеет более существенное значение на данной вакансии, чем их глубина.


  1. Fafnir
    18.01.2016 12:34
    +2

    Помнится в далекие ВУЗовские времена один препод нам рассказывал, что инженер в Российской империи должен был уметь разбираться в любых механизмах.
    И из пушки стрелять и дороги строить.
    Для этого нужна штука, которая называется абстрактное мышление.
    К сожалению, рынок труда таков, что ценится специализация, поэтому многие программеры из страха провала начинают бояться шагнуть не в ту сторону.
    Кто не боится — тот full stack. )


  1. MadJeck
    18.01.2016 13:51

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


  1. gmixo
    18.01.2016 14:01

    Наверное у каждого своё понимание full stack которое более подробно расшифровывается в резюме
    причем если указать например full stack web developer то это сужает и уточняет размеры вашего стека


  1. c0rp
    18.01.2016 14:24

    Есть очень интересное обсуждение на эту тему www.quora.com/Who-is-a-rockstar-programmer


  1. romy4
    18.01.2016 16:06

    По крайней мере из этого списка по 1-2 пункта я знаю очень хорошо в каждой категории. Am I the full-stack dev?


    1. toxicdream
      18.01.2016 17:13

      Нет, вы должны знать все, что может оказаться у работодателя :)


    1. DexterHD
      18.01.2016 17:18
      +1

      Очень хорошо, это сможете на Си написать драйвер для ядра Linux? Написать свое расширение для PHP на C++?
      Или реализовать парсер HTML5 без использования сторонних библиотек? Как определяется это «Очень хорошо»?


      1. DexterHD
        18.01.2016 18:17

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


      1. romy4
        20.01.2016 09:48

        могу и писал.


  1. Viacheslav01
    19.01.2016 00:23
    +1

    Почему то full stack всегда завязан на web, доходит до абсурда, нам наши web full stack (причем наикрутейшие) выкатывают API в котором есть метод принимающий файл, задаем вопрос как передавать контент файла? Получаем супер ответ постом! Задаем вопрос к черту детали, как засунуть его в пост! Ответ еще гениальнее, ну как обычно в пост файлы отправляют! Хорошо знали, что на сервере PHP предположили что он ждет MPFD, передали получилось, бинго!

    Вот такой он full stack!

    П.С. я очень много лет занимаюсь разработкой на .Net под разные платформы, последние пару лет под телефоны, знаю очень много нюансов платформы, но более чем уверен, что знаю хотя бы половину! Я это к тому, что не я такой тупой, а к тому, что современные платформы настолько сложны, что знать прилично не одну а сразу несколько практически не реально!


  1. zim32
    19.01.2016 01:33

    Может их так мало на рынке труда потому что они так много знают что уходят из наемных работников?


  1. kellas
    19.01.2016 02:14
    -1

    Я уверен, что fullstack — это тот кто знает весь стек технологий в определённой области и таких много и стеки эти простые.

    Примеры использования слова:
    «Ninja is a full stack web framework for Java.»,
    «MEAN is an opinionated fullstack javascript framework»,
    «Meteor is an open-source, full-stack JavaScript framework» — т.е. человек знающий meteor или mean — fullstack developer.

    Где stack это nodejs mongo html css express ну и т д.

    Автор сочинил какое-то своё определение и теперь ругается что все остальные неправильно слово используют.


  1. kellas
    19.01.2016 02:30
    +1

    ithappens.me/story/13373

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


    1. kivsiak
      20.01.2016 20:21

      Странно видеть цитату из Хайлаqна с ссылкой на ithappens


  1. hopungo
    19.01.2016 13:39
    +2

    Я если не с 12, то с 14 лет программирую точно. Где моя толпа хантеров?))


  1. vitaly_KF
    19.01.2016 19:41
    -1

    Не имею ничего против перевода, спасибо ishmakov было интересно почитать подобное мнение, но автор оригинального текста — идиот, не понимающий о чём он говорит, уж извините.

    Ну вот что за бред? В таблице куча ошибок и терминов, которые никак друг с другом не клеятся. Как например можно быть гуру в системах серверной виртуализации но ничего не знать про VirtualBox? Да и почему вообще VirtualBox преподносится как нечто характеризующее FullStack? Там же ребёнок разберётся.
    Плюс — какие-то вообще непонятные требования по знанию графических приложений. Нафига фотошоп девелоперу Backend систем?
    Тогда давайте и Word/Excell сюда включим. И умение еду готовить. И все скиллы Беар Гриллса.

    Допустим у меня тоже куча скиллов, но считать меня FullStack нельзя даже с натяжкой судя по этой таблице.


    1. ishmakov
      20.01.2016 13:51

      Потому и перевел, что мнение любопытное :)


  1. AirWorker
    19.01.2016 22:31
    +1

    Автор исходит из ложного предположения, что такой специалист должен «Django, Wordpress», но это не так.

    Фуллстек — это чувак, который может нарисовать няшный дизайн в графическом редакторе, заверстать и засунуть (например) в Джангу или Ноду, и развернуть все это под нагрузкой на десятке серверов. Из этого не следует, что он должен знать PHP или Java.

    Я например могу :)


  1. DmitryKoterov
    22.01.2016 03:31
    +3

    С точки зрени разработки я бы выделил 6 «миров» инженерии:
    1. веб фронтенд
    2. веб бэкенд
    3. мобайл (андроид/ios)
    4. десктоп
    5. «глубоко системное программирование» (драйверы, ядра, ассемблер, железо и т.д.)
    6. «научное программирование» (матмоделирование, численные методы и т.д.)

    Под full-stack раньше обычно подразумевали 1+2, но теперь это 1+2+3 (и говорить, что ты full-stack, если не имеешь опыта в 3, просто смешно, увы; у меня вот, например, есть некоторый опыт во всех пунктах, кроме как раз пункта 3, и надо срочно наверстывать).

    А еще full-stack — это способность взять и написать код хорошего качества на любом из этих уровней, даже если плохо с тем или иным уровнем знаком. Это не так-то сложно, больше коррелирует со способностью человека быть упорным, входить в поток, не сдаваться и учиться, знанием паттернов и частых случаев, чем со знаниями тех или иных технологий. (Да, и Фотошоп тут ну вообще ни при чем.)

    Так что в статье слегка ерунда написана, хотя здравое зерно имеется.