Прошла ли уже мода на Full Stack Developer? Это типа такой ниндзя, который в совершенстве владеет всеми технологиями начиная от SQL и Java, заканчивая JS и HTML-версткой, может делать любую часть проекта или даже проект целиком.
И второй вопрос. На сколько мелко нужно дробить стеки так сказать технологий? Вот если чел. занимается только работой с базами данных, оптимизацией запросов и пр. Больше ничего не знает. Или же чел. занимается исключительно написанием/поддержкой API, больше ничего на знает, зато об API знает все.
Здравствуйте, Shmj, Вы писали:
S>Прошла ли уже мода на Full Stack Developer? Это типа такой ниндзя, который в совершенстве владеет всеми технологиями начиная от SQL и Java, заканчивая JS и HTML-версткой, может делать любую часть проекта или даже проект целиком.
Не верю я в универсальных спецов! Нет таких. Вершки знать — не значит быть профи.
Например, отличный спец по Android разработке не факт, что "выкакает" что то вменяемое на iOS, а в разговоре будет говорить, что и Java знает и Objective-C в совершенстве!
Здравствуйте, Shmj, Вы писали:
S>Прошла ли уже мода на Full Stack Developer?
Не прошла.
S>Какие нынче тенденции по дроблению технологий.
Тенденции экономить бюджет набрав ниндзей, чтобы один человек закрывал пару или больше направлений.
Я — полустеком себя называю Вот был как-то рядом такой ниндзя. Код выдавал рабочий (задачу бизнеса решал), но несколько далекий от правильных практик и тяжелый для поддержки, понимания и расширения.
Здравствуйте, Shmj, Вы писали:
S>Прошла ли уже мода на Full Stack Developer? Это типа такой ниндзя, который в совершенстве владеет всеми технологиями начиная от SQL и Java, заканчивая JS и HTML-версткой, может делать любую часть проекта или даже проект целиком.
Если не ошибаюсь, фуллстак стал моден в свете популяризации Node.js, т.к. один язык и в их сказочных снах раз человек умеет жабоскрипт, то он умеет и фронтенд и бэкенд. Но это не правда, будут серьезные перекосы в одну из сторон.
S>Какие нынче тенденции по дроблению технологий.
Такие-же как и раньше.
— Кто-то верит во всё умеющих ниндзей, а потом бегает с выпученными глазами и ищет команду, которая после ниндзи всё поправит.
— Кто-то не ведется на тренды и строит сбалансированную команду.
Здравствуйте, wamaco, Вы писали:
W>Не верю я в универсальных спецов! Нет таких. Вершки знать — не значит быть профи. W>Например, отличный спец по Android разработке не факт, что "выкакает" что то вменяемое на iOS, а в разговоре будет говорить, что и Java знает и Objective-C в совершенстве!
а действительность как то изменится от того, во что ты веришь или нет?
Здравствуйте, Shmj, Вы писали:
S>Прошла ли уже мода на Full Stack Developer? Это типа такой ниндзя, который в совершенстве владеет всеми технологиями начиная от SQL и Java, заканчивая JS и HTML-версткой, может делать любую часть проекта или даже проект целиком.
Мода не прошла. Многие ищут именно Full Stack.
Все зависит от размера команды и зрелости проекта. На начальных стадиях это имеет смысл. С ростом проекта неизбежна специализация.
Как то наблюдал как в стартапе на 4-го программиста уже не хотели брать full stack, набирали fron-end и back-end раздельно.
S>И второй вопрос. На сколько мелко нужно дробить стеки так сказать технологий? Вот если чел. занимается только работой с базами данных, оптимизацией запросов и пр. Больше ничего не знает. Или же чел. занимается исключительно написанием/поддержкой API, больше ничего на знает, зато об API знает все.
Можно дробить до достаточно сильно если процесс поставлен и команда достаточно большая.
S>Какие нынче тенденции по дроблению технологий.
S>Прошла ли уже мода на Full Stack Developer? Это типа такой ниндзя, который в совершенстве владеет всеми технологиями начиная от SQL и Java, заканчивая JS и HTML-версткой, может делать любую часть проекта или даже проект целиком.
Как имеющий опыт разработки серверного кода и клиентского под веб, скажу: разработка серверного кода + JavaScript вполне доступна любому программисту. JS сам по себе вообще прост, но богат зверинец вокруг него, однако и он — не 'рокет саенс'.
Верстка же — ни разу не программирование. И если общие принципы понять можно довольно быстро, то научиться терпеливо делать эту, довольно унылую, работу — нужны специфические навыки и желание.
Когда я слышу backend, frontend или full stack (в отношении разработки) — я понимаю, что говорящий весьма недалекий человек, или новичок, или хочет произвести впечатление.
Профессионал, по меньшей мере, подобрал бы русский аналог этих слов. А может быть, в процессе даже и понял, что это абсолютно ничего незначащие слова.
Здравствуйте, Shmj, Вы писали:
S>Прошла ли уже мода на Full Stack Developer? Это типа такой ниндзя, который в совершенстве владеет всеми технологиями начиная от SQL и Java, заканчивая JS и HTML-версткой, может делать любую часть проекта или даже проект целиком.
Зачем вообще себя записывать в какой-то стек? Назовите себя Full Stack Overflow developer и это отразит всю суть.
А если серьезно, мне например приходится _одновременно_ кодить мобильные приложения на C++, параллельно с этим пилить backend на php/SQL и полностью делать портал на reactjs. Также часто встают задачи допилить что-то в других подсистемах на golang & java. Помимо этого я владею платформой .NET, но сейчас это моим клиентам не нужно.
И вот скажите куда мне себя записать? в какой стек?
Моим клиентам (тем что хорошо платят), не важно какой там у меня стек. Им важно, чтобы я решал технические задачи на всех уровнях или как вы выразились — "даже делал проекты целиком".
Недавно встретил одного программиста (тоже фрилансера), который называет себя Language Agnostic Developer и я считаю это круто. Изучить все парадигмы, изучить top 10 mainstream языков охватывающих эти парадигмы и вперед. Да, в каждой области есть свой пласт особых знаний, но он как раз хорошо вскрывается с помощью stack overflow, тематических каналов slack и просто личного общения.
Здравствуйте, namespace, Вы писали:
N>Когда я слышу backend, frontend или full stack (в отношении разработки) — я понимаю, что говорящий весьма недалекий человек, или новичок, или хочет произвести впечатление. N>Профессионал, по меньшей мере, подобрал бы русский аналог этих слов. А может быть, в процессе даже и понял, что это абсолютно ничего незначащие слова.
Это верно для более менее небольших веб проектов. Но есть достаточно широкий класс проектов где веб часть составляет крошечную долю от массивного и навороченного backend (как по-русский?). Крайнее звено этого спектар это поиск, где веб часть проста и понятна, даже с учетом масштабирования, а backend по сложности и объему примерно то 1000 раз больше и сложнее. Посеридине этого спектра есть много сервисов в которых пропорции тоже далеко не на стороне интерфейсов. В таких проектах нет необходимости в широких full stack специалистах, там основная масса программистов не пересекается с интерфейсами вообще.
Здравствуйте, Shmj, Вы писали:
S>Прошла ли уже мода на Full Stack Developer? Это типа такой ниндзя, который в совершенстве владеет всеми технологиями начиная от SQL и Java, заканчивая JS и HTML-версткой, может делать любую часть проекта или даже проект целиком.
Такой человек всегда будет востребован в тех проектах, в которых нет смысла нанимать узких специалистов.
S>И второй вопрос. На сколько мелко нужно дробить стеки так сказать технологий? Вот если чел. занимается только работой с базами данных, оптимизацией запросов и пр. Больше ничего не знает. Или же чел. занимается исключительно написанием/поддержкой API, больше ничего на знает, зато об API знает все.
Что значит "нужно"? Кому нужно? Если ты огромная корпорация, у тебя куча проектов и есть чем занять специалиста по оптимизации хранимых процедур Oracle на 100%, конечно лучше так и делать, чем уже специалист, тем он эффективней (люди с широким кругозором тоже нужны, конечно, но их нужно гораздо меньше). А если ты небольшая компания с пятью разработчиками и делаешь одно приложение — какой смысл тут узко специализироваться? Ну наймёшь ты DBA, оптимизирует он ваши запросы, настроит базу, пусть на это неделя уйдёт, а дальше будет ролики на ютубе смотреть? Единственное разумное деление это фронт/бэк, работ и там и там много, разделение довольно чёткое. Всё остальное зависит исключительно от конкретных моментов.
Здравствуйте, Shmj, Вы писали:
S>Прошла ли уже мода на Full Stack Developer? Это типа такой ниндзя, который в совершенстве владеет всеми технологиями начиная от SQL и Java, заканчивая JS и HTML-версткой, может делать любую часть проекта или даже проект целиком.
В совершенстве, наверное, всё знать не получится. Как правило, у всех есть специализация. Однако, чем шире у человека кругозор, чем с большим числом технологий он знаком/работал, тем лучше он поймет задачу и тем лучше предложит решение.
Когда к тебе приводят андроидного прогера с типа 10-летним опытом программирования на Java, а он ни сном ни духом как работать с потоками... Спрашивается, где он был и чем занимался все это время? Каким образом можно теперь использовать его мощные скиллы?
Мне тут недавно пришлось объяснять веб-программерам (!) + граф. дизайнеру (!!), в чем отличие PNG от JPG и когда какой формат нужно использовать (!!!). Ибо они весело пихали фотографии в мегабайтные PNG, когда то же самое качество в JPG весило бы около 50К. Они мои объяснения поняли все равно по-своему. Типа, ты же сказал, что JPG всегда меньше (хотя я этого не говорил!), то теперь мы всегда вместо PNG будем использовать JPG, problem solved! И таки да, они теперь иконки тоже в JPG сохраняют Но в принципе, позитивный момент есть: они хотя бы гигантские картинки прекратили использовать. А значит, есть шанс, что и с иконками постепенно получится разобраться
Здравствуйте, zverjuga, Вы писали:
Z>Здравствуйте, wamaco, Вы писали:
W>>Не верю я в универсальных спецов! Нет таких. Вершки знать — не значит быть профи. W>>Например, отличный спец по Android разработке не факт, что "выкакает" что то вменяемое на iOS, а в разговоре будет говорить, что и Java знает и Objective-C в совершенстве!
Z>а действительность как то изменится от того, во что ты веришь или нет?
Здравствуйте, D. Petrov, Вы писали:
DP>Здравствуйте, namespace, Вы писали:
N>>Когда я слышу backend, frontend или full stack (в отношении разработки) — я понимаю, что говорящий весьма недалекий человек, или новичок, или хочет произвести впечатление. DP>Но есть достаточно широкий класс проектов где веб часть составляет крошечную долю от массивного и навороченного backend (как по-русский?). Крайнее звено этого спектар это поиск...
Каким образом "поиск" относится к широкому классу проектов? Сколько поисков пилится в мире сейчас? 5? 10? Не думаю что сильно больше.
А сколько для сравнения корпоративных базоморд, сайтов и мобилок пишется? В тысячи раз больше.
Я бы сказал, что ты вряд ли найдешь работу, где навыки создания UI не будут востребованы. Поэтому в большинстве случаев один "fullstack" программист будет предпочтительнее двух специализированных при прочих равных.
Здравствуйте, John1979, Вы писали:
J>- Кто-то верит во всё умеющих ниндзей, а потом бегает с выпученными глазами и ищет команду, которая после ниндзи всё поправит.
Как раз "ниндзей" очень не хватает многим проектам: узкие специалисты прекрасно справятся со своими частями, а всё вместе не работает.
J>- Кто-то не ведется на тренды и строит сбалансированную команду.
Да всё проще: в команде нужна взаимозаменяемость так, чтобы отряд не заметил потери бойца.
Здравствуйте, wamaco, Вы писали:
W>Не верю я в универсальных спецов! Нет таких. Вершки знать — не значит быть профи.
Ну, я такой. И что? Разница между языками только в синтаксисе, а это от силы процентов 20 знаний в программировании -- задокументированных и застековерфлоуенных. А в финале программист остаётся с if, for и while и не может с ними совладать. Знание "тонкостей", конечно же, полезно, но когда с "толстостями" всё плохо, нужно вызывать человека с широким кругозором. Вот гоняют на интервью по модным в этом сезоне сортировкам, а в каком слое их применять никому и в голову не приходит. Наибольшие затыки в производительности как раз и происходят из-за неправильного выбора слоя, либо на их стыке.
Ещё одна область применения широкого кругозора -- новые проекты, хотя это уже относится к чему-то среднему между программистом и архитектором. Нужно знать -- пусть по верхам -- возможности различных языков для правильного их подбора и совместимости. А в реальности этим занимается непонятно кто на основании чтения журнала "Модные проплаченные средства разработки" или тупо копирует набор технологий у конкурентов.
Здравствуйте, gandjustas, Вы писали:
DP>>Но есть достаточно широкий класс проектов где веб часть составляет крошечную долю от массивного и навороченного backend (как по-русский?). Крайнее звено этого спектар это поиск... G>Каким образом "поиск" относится к широкому классу проектов? Сколько поисков пилится в мире сейчас? 5? 10? Не думаю что сильно больше. G>А сколько для сравнения корпоративных базоморд, сайтов и мобилок пишется? В тысячи раз больше.
Всяких специализированных поисковиков пилятся сотни прямо сейчас. Но и без них есть много областей более близких к поисковикам чем к сайтам.
Возми успешные российские страртапы — Призма и СтатсБот. Они конечно же не поисковики, но фронт-энд там наверняка не является основной частью.
G>Я бы сказал, что ты вряд ли найдешь работу, где навыки создания UI не будут востребованы.
Хе, хе... За 12 лет мне не приходилось заниматься UI. За парой исключений которыми можно принебреч.
G>Поэтому в большинстве случаев один "fullstack" программист будет предпочтительнее двух специализированных при прочих равных.
В проекте на 2-5 человек — да. На 10 человек — может. На 50+ человек — точно нет, за редким исключением (при прочих равных).
Здравствуйте, Shmj, Вы писали: S>И второй вопрос. На сколько мелко нужно дробить стеки так сказать технологий? Вот если чел. занимается только работой с базами данных, оптимизацией запросов и пр. Больше ничего не знает. Или же чел. занимается исключительно написанием/поддержкой API, больше ничего на знает, зато об API знает все.
вопрос в том, сколько у человека есть время на вьезжание в задачу. если надо сделать за две недели, то конечно надо брать того, кто прямо этим вот и занимался. если есть полгода — то по сути без разницы, если человек толковый и много чем уже занимался, может быть не так глубоко, как того требуется для задачи
Здравствуйте, mgu, Вы писали:
mgu>Как раз "ниндзей" очень не хватает многим проектам: узкие специалисты прекрасно справятся со своими частями, а всё вместе не работает.
Это значит, что не хватает архитектора.
mgu>Да всё проще: в команде нужна взаимозаменяемость так, чтобы отряд не заметил потери бойца.
в сбалансированной команде именно так и происходит.