Про найм фулстек розробників

Уявіть, що ви — директор(ка) філармонії. У вас вже є симфонічний оркестр, такий собі, але є. З ним купа проблем, проте ви якось пораєтеся, хоча часом це коштує кілометрів нервів. І тут неочікувано у вас з’явився бюджет додатково ще на струнний квартет. Тобто на двох скрипалів, альтиста та віолончеліста.

Але до роботи ж треба підходити творчо, правильно? Будь-який бюджет треба використовувати так щоб зменшити головний біль. Ви знаєте з досвіду, що музики час від часу хворіють, ходять у декрет, бухають і т.ін. Тобто, треба завжди мати резерв. Тому ви робите замість чотирьох, п’ять вакансій. Більше вже урізати винагородження неможна, бо тоді вже навіть і студентів не найняти.

Кого резервувати? Очевидно — скрипалів, бо вірогідність що один з двох захворіє вище. А взагалі-то треба всіх. І ще в оркестрі той перкусіоніст постійно з похмілля і не там вступає, а флейта-пікколо знову вагітна, а диригент вже старий, а в валторніста проблеми з легенями. Треба мислити стратегічно.

З’являється вакансія.

«Треба п’ять кваліфікованих музик-мультиінструменталістів. Ви є нашим кандидатом, якщо ви можете зіграти партію на будь-якому струнному, клавішному, духовому чи ударному інструменті, добре знаєте основи композиції, володієте джазовою імпровізацією (я поки не знаю, навіщо але най буде), можете зіграти скільки завгодно складну партію з папірця, маєте 3-річний досвід керування музичним колективом та володієте чотирма європейськими мовами (а що як раптом турне по Європі?).

Ми пропонуємо конкурентне ринкове винагородження, молодий, натхнений, дружній колектив, іноземні відрядження (може й будуть), і особистий план розвитку. Ми ставимося до музик як до членів нашої родини, жоден ще не скаржився (нехай тільки спробують, звільню цю токсичну мерзоту вмить)

Далі, первинний відбір, співбесіди, тестові завдання, які ніхто не робить і ніхто не перевіряє, тому по ітогу ви найняли одного басиста, ритм-гітариста-любителя, якогось чувака, який грав колись у місцевій секті кришнаїтів на бонгах, старого кларнетиста, який останні п’ять років підробляв барменом, і вокалістку, яка в музичній школі грала на фортеп’яно (ну, голос і фано це ж 2 інструменти?).

Звісно, коли басист отримав скрипку, він трохи прифігів, бо ладів на цьому інструменті немає, а грати без них він жодного разу не намагався. Це ж не той басист який може зіграти що завгодно на чому завгодно. Той давно вже працює у GoGo Penguin і заробляє трохи більше всього симфонічного оркестру. Звісно він не подав резюме на вашу вакансію. Ну, і з іншими мультиінструменталістами десь приблизно так само.

Тому ви йдете в той бар, де вчора працював кларнетист і добряче закладаєте за комірець. Зранку пишете у LinkedIn пост про те, як кандидати безсовісно брешуть в резюме. Дехто співчуває, дехто намагається пояснити вам, як треба було робити. Деякі іржуть. Профіт.

ЗІ Всі події, описані в цьому дописі видумані і до того ж перебільшені. Допис носить виключно гумористичний характер

👍ПодобаєтьсяСподобалось3
До обраногоВ обраному0
LinkedIn
Дозволені теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter
Дозволені теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter

Десь половина діалогів на лінкеді:
— ось вакансія (дивлюсь фулстек)
— сорі, в фулстеків не вірю
— та чо ви так, там же 90% фронту 10% беку
— то найміть стоматолога, де 90% тижня будуть зуби, 10% операції на сердці

— то найміть стоматолога, де 90% тижня будуть зуби, 10% операції на сердці

не согласен с аналогией. Это как в стоматологии есть
— только терапевты
— еще и хирурги (сложные удаления)

и эти две группы вполне себе совместимы у тех докторов, кто «душа лежит к профессии».

Хірурги на складні видалення кого, зубів же?
Давайте сердця, легені, прийом дітей, трамвпункт — все на стоматолога повісьте і буде норм фул-стек.

нет, сердце, легкие — это как доменные разновидности:
— финтех
— крипта и блокчейн
— гемблинг

вот это как раз и есть разные органы человека.
А просто CRUD в вебе один человек вполне справится.

А просто CRUD в вебе один человек вполне справится.

Ага, вже собі уявляю як складну верстку зробить бекендщик

А навіщо уявляти, достатньо глянути на код таких проекті. там або в бекі пишть діч або на фронті.

Продаю інноваційну бізнес-ідею як вирішити усі проблеми оркестру ще й заощадити.
Ключове слово — ДІДЖИТАЛІЗАЦІЯ !
Сучасні технології дозволяють відтворити будь-які звуки і людина буде не в змозі відрізнити цифровий звук від натурального.
Тому замість усіх примхливих музикантів — наймаємо одного звукового інженера з апаратурою. І він буде грати за увесь оркестр. Звичайно, люди приходять аби послухати «живу» музику.
Тому перед виступом ідемо до гуртожитку і набираємо гарних, охайних студентів і студенток. За 30 хвилин тренування кожен з низ зможе вдавати гру на виданому інструменті. Студентам платимо по 100-200 гривень за концерт, якщо хтось захворів — не проблема найти заміну з вулиці.
Більшість ІТ галер зараз роблять ставку саме на це: усю роботу буде виконувати ШІ під керівництвом синьйора, а клієнтам можна продати «масовку».

А що хіба ще є такі клієнти, які не в курсі про ШІ? А якщо ти в курсі, навіщо платити за масовку? Достатньо найняти одного сіньора. Чи не так?

А якщо ти в курсі, навіщо платити за масовку? Достатньо найняти одного сіньора. Чи не так?

Я сам завжди так думав! Купа ентерпрайз проєктів де клієнти роками платять за «масовку» з 10 −20-50 людей. При цьому якби вони замість кожних 10 галерних рабів напряму найняли одного синьора в Україні — він би їм зробив більше, краще, ще і кожен раз переробляти б не треба було.
Але великий бізнес працює не так! Ось тут це добре показано:
dou.ua/forums/topic/52204
Якщо усе зробити один раз ідеально ще й дешево — це вбивче для економіки. В економіці гроші повинні постійно крутитися ще й зростати. А для цього потрібно постійно щось робити — при цьому чим дорожче — тим краще. Інвестори дадуть грошей американській компанії, вона виділить бюджет на ІТ проєкт, цей бюджет розпилять менеджери — на частину грошей наймуть українську галеру — тут теж частину грошей розпилять — на частину наймуть масовку. Студенти з масовки будуть пити каву, грати у теніс, повільно фіксити баги і тут же робити нові.
Усе крутиться, усі отримують гроші, цінність компаній зростає — усі щасливі.
А що б було якби ШІ (чи якийсь упоротий ІТ-задрот) усе зробив безкоштовно? Отож!

Той ефект, що там описаний, стосується в першу чергу місцевої економіки. Дійсно, якщо я втрачу постійний дохід, його (принаймні частково) втратять також ті, для кого я є постійним клієнтом і це трошки зменшить обіг коштів на районі, де я зараз живу. Американській чи європейській компанії плюс-мінус байдуже, що відбувається в мене на районі, або на будь-якому іншому українському районі. Тому платити за масовку, яка живе тут їм точно немає сенсу. Ми поки не є споживачами їхньої продукції, принаймні не масово. Я, наприклад, плачу регулярно лише за Google Music, Grammarly, Netflix & Githab Copilot. Якщо припиню, це не буде такою вже втратою для американського бізнесу. Причому, не факт, що більшість галерної масовки платить хоча б половину.
Коротше, механізм зрозумілий, але в цьому випадку він не працює.

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

и без вмешательства государства по-другому не будет. Просто вопрос в методах вмешательства и размере.

«Нужен мне работник:
Повар, конюх и плотник.
А где найти мне такого
Служителя не слишком дорогого?»

Про подальшу долю того горе-работодавця можете самі почитати, кому цікаво.
( Сказка о попе и о работнике его Балде )

Господи, та за шо? От що я вам поганого зробив, що ви мені сюди того пушкіна принесли?

Людина може бути фулстеком, головне — не девопсом). Бо хитродупі манагери хочуть в фулстек вакансії запихнути «все», чого не знають самі, а головне — вакансії девопсів подавати під виглядом фулстек-позицій (щоб нагрівати спеців на 70% додатково)

Нічого немає поганого в тому щоб розробник трохи знав про devops. Навпаки, це — добре. Проте, дійсно, коли в одній вакансії вказують кваліфікації цілого айті-відділу, причому з опису неможливо зрозуміти, які кваліфікації є дійсно важливими для позиції, а які «nice to have», це дійсно — катастрофа. Складається враження, що наймаючий менеджер гадки не має, хто йому насправді потрібен, тому пише всього якомога більше, аби було, най кандидати самі паряться.

Трохи не значииь усе ;) як люблять на співбесідах випитувати до печінок!

Бачу так:
Людина знає «базу», принципи за якими будується сучасний софт і знає як ± працює інфраструктура навколого цього софту.
В такому випадку, така людина буде оперувати технологіями для досягнення конкретних задач, але така людина може не розуміти глибоко, як працює та чи інша технологія, лише які задачі можна вирішити з її допомогою.
Підозрюю, автор саме таких людей записав у мультиінструменталісти — фулстеки.

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

Звичайно і фулстек може інвестувати час і ресурси у глибоке вивчення чогось одного і стати спеціалістом, але це вже інша історія.

Не зовсім. Автор мав на увазі, що якщо вам потрібен саме скрипаль, який у дуже крайньому випадку зможе підмінити челіста, то треба так і писати в вакансії. Бо якщо писати як завжди (приклад — в топіку), є неабиякий ризик найняти, скажімо гарного саксофоніста, який до того ж непогано може на фортепіано, але у струнному квартеті він вам просто не потрібен. Хоча в іншому проекті він може бути прямо дуже тим, що потрібно. ;)

Просто упал общий уровень здравого смысла и плюс много сторонних людей в последнее время зашло в IT.Таких примеров будет еще больше

Останнім часом, це який період мається на увазі? Я працював фулстеком у 19-му, і на той момент наймати фулстека там, де потрібен фронт+бек вже було традицією, щонайменш років із п’ять. Я тоді саме тому і влаштувався фулстеком, що знайти чистий .Net за притомні гроші виглядало нереальним.

Последние 2 года и как то странно но этот период точно попадает на активизацию AI решений — что то в мире происходит:это глобальный тренд

В мене інші дані. Таке я став помічати вже років із десять як. Проте, не виключаю, що останнім часом воно ще загострилося. Це й не дивно. Чим масовішою стає професія, тим нижче падає середній рівень.

Фулстек розробників не існує.

З різних обставин девелопер може бути змушеним розробляти і фронтенд і бекенд і налаштовувати CI/CD але це не робить його компетентним у всіх цих напрямках.

З появою LLM це дуже просто зрозуміти наочно: ChatGPT вміє писати поганий, як правило непрацюючий код з багами на будь якій мові.
Для деяких задач і цього достатньо. Але якщо потрібно зробиті якісно, то тут ні ChatGPT ні Sonnet самі не впораються, а часто і зовсім ніяк допомогти не можуть.

Так само можна стверджувати, що не існує музик-мультиінструменталістів. Проте, вони є. :)

Мультиінструменталіст рівня лабуха в генделі який грає Олю Полякову чи мультиінструменталіст рівня визнаного оркестра чи хоча б в якійсь відомій рок-групі?
Перших повно, а других і третіх навряд хтось бачив.

Мультиінструменталісти існують різних рівней, так само як і вузькі спеціалісти. Люди мають різні початкові умови, різний рівень мотивації і по-різному витрачають свій час. Звісно, більшість мультиінструменталістів дуже високого рівня не грають в барі олю полякову, а мають зазвичай власні проекти.

навскидку фрусчанте, дейв грол, джек уайт, деймон албарн ...
купа їх
а ще є принц, кравітц, стінг, я не знаю, тисячі)

Мультиінструменталіст рівня лабуха в генделі який грає Олю Полякову

80% бизнес-задач это и надо. и не нужны звезды.

и не нужны звезды

Але судячі з вимог в вакансіях як раз зірки й потрібні. Бажано за їжу.

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

Оце розділення на фронтенд та бекенд (і відповідно фулстек, хто знає обидві частини) існує суто в вебі. А веб — це тільки один з багатьох напрямків програмування. Всіх інших, хто не веб, можна вважати фулстеком за замовченням.

Якщо людина вже двадцять років в айті, з яких 10 працював бекендером а 10 фронтендером, то чому він не може бути фулстеком? Або 5 бекенд, 5 фронтенд, потім знов 5 бекенд 5 фронтенд.

З різних обставин девелопер може бути змушеним розробляти і фронтенд і бекенд і налаштовувати CI/CD але це не робить його компетентним у всіх цих напрямках.

Компетентність — це не boolean «компетентний/не компетентний». Це спектр ступінь.

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

Не зовсім абсолютно, але якщо це не симфонічний оркестр та/або немає потреби бути готовим в будь-який момент підмінити будь кого з інших співробітників, так. Зазвичай цілком реально.

Ну я про програмістів кажу.

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

Щоб грати на рівні нормального оркестру, треба під десяток тисяч годин практики, і зовсім не обовʼязково практика на одному інструменті допоможе з іншим.

Залежить від людини, хисту, досвіду і бажання. Комусь легше реакт після дотнету, комусь — скрипку після гітари чи фано. Різноманіття кваліфікацій в софтверному проекті, доречі може бути майже таким самим, як і в симфонічному оркестрі.
Всюди є бекенд мова (інколи не одна) та фреймворк, або набір бібліотек, фронтенд стек (інколи не дуже традиційний), інколи ще щось проміжне, типу Next.js. Обов’язково є хоча б одна БД, а часто і не одна і не дві і не три. Різноманітні рішення для кешування та варехаусінгу, клауди, докер, кубер. Предметна область, інколи, з достатньо складною математикою. Часто старовинні системи з якими треба якось комунікувати, використовуючи ХЗ які протоколи. І це я ще не беру проекти де є програмно-апаратні рішення і де щоб розуміти все в цілому, треба вміти в бозна що. Щоб опанувати тільки всі можливості куберу треба не одна сотня годин практики. Так що все залежить від того, наскільки складне і масштабуєме рішення розробляється і наскільки глибоко треба копати. Доречі, є ще й музичний софт, де потрібні, принаймні частково обидва сети кваліфікацій. :)
І це я ще не згадував десктоп і мобайл.

Усі аналогії брехливі, не бачу сенсу заперечувати вам :)

Це я трохи хотів подушнити про те, що складність гри на музичному інструменті (на рівні оркестру, тобто досить високому) і складність розробки навіть складної системи відрізняються в рази.

Тому що для музиканта важливий фізичний скілл, який напрацьовується тисячами годин репетицій. Досвідчений девелопер почне писати конфігі того самого кубера вже після пари днів колупання документації та гугла. Так, він не буде знати всіх можливостей, так, це буде повільно, але в цілому він буде в змозі видавати результат.

Професійний піаніст рівня «грає в оркестрі» буде вчитися грати на скрипці до рівня «грає в оркестрі» років сім мінімум. І то, якщо слух дозволить.

Щоб опанувати тільки всі можливості куберу треба не одна сотня годин практики.

Щоб опанувати (до рівня оркестру) скрипку або фоно треба десяток років практики

для музиканта важливий фізичний скілл

Розкажіть це Лінусу Торвальдсу, який відмовляється користуватися будь-яким редактором тексту крім vim і будь-якою системою керування сорцами крім git. Мотивація — швидкість розробки. Будь-яка необхідність торкатися миші заважає і уповільнює. Як на мене — це також про фізичні кондиції. ;)
А взагалі-то так, будь-яка аналогія, принаймні трошки, кульгає. Але все залежить від конкретних вимог до рівня володіння технологією або інструментом. І від людини також. Є люди які народжуються з абсолютним слухом і вже в п’ять чи десять років грають на кількох інструментах. Для них це не складно. Вони навіть не розуміють ще в такому віці, що таке складно. ;)

Розкажіть це Лінусу Торвальдсу, який відмовляється користуватися будь-яким редактором тексту крім vim і будь-якою системою керування сорцами крім git. Мотивація — швидкість розробки.

Не зрозумів, що саме розказати Лінусу? І як швидкість редагування тексту відноситься до програмування?

Для музиканта фізичний скіл гри — це базова річ, без якої немає музиканта. Для програміста скіл швидкого набору та редагування — це плюс мінус пару відсотків до продуктивності.

І як швидкість редагування тексту відноситься до програмування?

Безпосередньо. Редагування коду — базова навчка будь-якого розробника. Без цієї навички немає розробника.

скіл швидкого набору та редагування — це плюс мінус пару відсотків до продуктивності.

Це якщо людина мислить дуже повільно. Якщо людини мислить швидко, скіл швидкого набору є визначальним для швидкості розробки.

Це якщо людина мислить дуже повільно. Якщо людини мислить швидко, скіл швидкого набору є визначальним для швидкості розробки.

У мене є впевненість, що людина, яка набирає повільніше, видає такий самий обʼєм коду, просто витрачає на це трохи більше часу. Бо від дзвінка до дзвінка ніхто код не пише

Я нічого не казав про об’єм коду. І про те, хто скільки працює в годинах. Це окрема довга і складна тема. Мені зараз ліньки її торкатися. Я лише швидкість розробки казав, і вона залежить від швидкості набору.

Ну тобто ви стверджуєте, що якщо розробник робить проект 5 місяців, то можна натренувати його друкувати на 20% швидше і він зробить проект за 4 місяці? :))

Залежить від того, де саме bottleneck. Ми ж програмісти, розуміємо, що швидкість системи виміряється швидкістю найповільнішого компенента.

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

Та звісно. Нехай один фулстек робить роботу повільно, замість двох окремих спеціалістів швидко. Ми ж нікуди не поспішаємо в 2025 році

А звідки витікає, що один фулстек завжди буде робити повільніше, ніж дві людини, тобто фронтенд і бекенд? Хтось проводив якісь заміри? Якщо так, наскільки ці заміри релевантні, де їх можна подивитися? Просто цікаво.

Можна просто включити логіку, тоді стає зрозумілим, що робота фронтенда і бекенда легко паралелиться.
Звісно можна сказати, що можна взяти двох фулстеків і поділити задачі. Але тоді в чому сенс якщо можна взяти двох вузьконапрямних спеціалістів? Які в кінцевому результаті зроблять все швидше.

А ви жодного разу не стикалися на практиці із ситуацією, коли один із розробників (неважливо фронт, чи бек) вміє мислити нешаблонно і пропонує оригінальні, красиві та ефективні рішення, а другий не вміє у нешаблонне мислення і не взмозі оцінити або навіть зрозуміти про що мова? Бо я з таким зтикався неодноразово. А буває навіть так, що дві людини просто не можуть домовитися про формат взаємодії, наприклад, як краще передати параметр, або який тип вебметода краще використовувати PUT чи PATCH, і кожен відстоює свою точку зору, жоден не хоче поступатися. А тепер давайте включимо логіку. Хто буде робити швидше і краще, один високорівневий спеціаліст, який знає і фронт і бек, чи два мідла, які не можуть між собою домовитися?

який тип вебметода краще використовувати PUT чи PATCH

Тут явно одного з ідіотів потрібно звільняти

Між класним спецом та ідіотом є сто п’ятьсот відтінків сірого. Люди — створіння дуже складні і нелінійні. Звільнення коштує проекту грошей, бо звільнену людину треба кимось замінити, а найм коштує від трьох місяців роботи спеціаліста. Офіс простих рішень не завжди працює як очікується, чи не так?

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

Ну так, сіньор мало того що думає краще ніж мідл, так ще й код пише зі швидкістю двох мідлів. І знає всі нюанси бекенду і фронтенду. Заодно і базу даних підтюнає. Та й пайплайни для ci/cd зробить

От, бачите, виходить, що паралелити — це не завжди вигідно. Залежить від конкретних обставин.

Ну от уяви, є проект зі 100 формами на реакті. Ти стверджуєш, що фуллстек це зробить повільніше, ніж чистий фронтендер? За рахунок чого?

Хочеш сказати що 99.999% проектів це просто форми на реакті?
Коли 100 форм на реакті то можливо фулстек і має зміст.

Прикидаєшься дурним? Хочу сказати, що багато проектів на фронті нескладні і для них вистачить кваліфікації середнього фулстека, і фронтендер-суперстар там не принесе ніякого профіта.

Людину, яка не відповідає профілю, можна розкусити за 10-15 хвилин на співбесіді.

Дякую за коментар, але, вибачте, не розумію, яке відношення він має до мого допису.

Вибачте, мене не цікавить, чи вживаєте ви алкогольні напої. Дякую. Дуже дякую. ;)

Ескобар дивиться на цей пост здивовано.

Що там програмувати, що там програмувати. Є особливості, але 95% одне й те ж.

Так, спеціалізація це круто. Але з відомих мені програмістів — вони можуть вирішувати завдання і там і там, та ще SQL оптимізують та Linux з докером для деплою налаштують.

В Ескобара, напевно програмування було нескладним. Складський облік одного товару, та проста бухгалтерія. Дебіт-кредит, актив-пасив. Дійсно, що там програмувати? 🤭

Я не про того Ескобара.

Ну, не той взагалі сприймав життя дуже спрощено. Нехай дивиться. Мене це не бентежить. 🙂

Влучно. Ще є курси , де фулстеків з нуля за декілька місяців готовлять.

Вибачте, про ті курси я не в курсі. Останнім часом виключно англомовними курсами цікавлюся.

Підписатись на коментарі