Чому це так складно та що з цим робити
Кілька років тому ринок веб-розробки був простішим і зрозумілішим: менше технологій, менше інструментів, менше завдань, які поставали перед бізнесом. Веб-фахівці були універсалами: класний майстер самотужки закривав потреби цілої компанії - для будь-якої ситуації він знаходив рішення і самостійно його впроваджував.
Однак ринок розвивався: веб-технології ставали складнішими, а разом з тим - їхня інфраструктура, обслуговування і завдання, з якими почав стикатися бізнес в онлайні. Це призвело до того, що розробники почали обирати певну технологію і спеціалізуватися саме на ній, оскільки глибоко вивчити всі нові технології було майже неможливо.
В результаті програмісти стали більш кваліфікованими у своїй конкретній галузі, але в той же час більш вузькоспрямованими. Фахівців, які розуміють роботу різних технологій і можуть проаналізувати завдання та підібрати оптимальне рішення, стало значно менше.

Така трансформація ринку ускладнила пошук спеціаліста під певну ситуацію. Кожен програміст схильний вирішувати будь-яке завдання знайомим йому інструментом навіть якщо він не найкраще підходить.
Наприклад спец із React (технологія на базі Javascript) може розробляти на ньому і простий сайт-візитку, і велику соціальну мережу зі складною архітектурою. У першому випадку робота може обійтися замовнику занадто дорого і її складно буде підтримувати; у другому випадку, ця технологія може бути досить вигідною та адекватною.
Підсумовуючи: сучасний веб складний, а фахівці — вузькоспрямовані, тому їх пошук та підбір — справжня проблема.
Окей. А як її вирішувати?
Якщо ви шукаєте спеціаліста на короткий термін чи під конкретне завдання, варто розглянути декілька кандидатів. Ця модель реалізована на великих фріланс-біржах на кшталт Upwork - ви шукаєте розробника і проводите міні-інтерв’ю з 5-10 кандидатами.
Невелика аналітична робота, коли ви показуєте фахівцю технічне завдання і цікавитеся, які технології він би тут застосував і чому, підвищує шанси на успішну розробку.

Відповісти на запитання «Чому саме ця технологія тут підійде?» Зможе лише програміст з широким поглядом, а не вузьким фокусом на одній технології. Тому відповідь «Зробимо на React, бо React крутий і я його добре знаю» може коштувати багато зусиль і грошей. А якщо 5-10 фахівців радять схожий підхід, можливо, він і справді адекватний.
Хоча можлива інша ситуація: коли після 10 інтерв’ю ви маєте на руках 10 різних варіантів рішення своєї ситуації, — в такому разі проблему варто шукати в технічному завданні. Ймовірно ви самі не до кінця розумієте, яку проблему вирішуєте - тому кожен фахівець інтерпретує ваш запит по своєму.
Найкраща тактика тут - трохи глибше зануритися в тему і провести швидкий ресерч доступних рішень на ринку, особливо тих, що використовують ваші конкуренти. З розумінням технології та реальними прикладами вирішення вашої проблеми ви звузите список опцій, який вам можуть запропонувати фахівці. Їхні відповіді почнуть перетинатися - і на цьому перетині ви знайдете найкращий варіант для себе.
Якщо ви шукаєте спеціаліста в команду на постійній основі, складіть кілька типових технічних завдань для ваших проектів. Проведіть співбесіди з більшою кількістю кандидатів, задаючи питання, які змусять їх чітко пояснити свій вибір технологій, вплив на результат, терміни та бюджет.
Цінним є кандидат, який може надати багато змістовних, послідовних відповідей. Звертайте увагу на його мислення і підхід до вирішення завдань, а не лише досвід чи вміння писати складний код.
Людина, здатна різнобічно дивитися на проблему та підбирати адекватні рішення, зекономить вам час, кошти й нерви. Навіть якщо вам доведеться найняти їй на допомогу вузькоспеціалізованого програміста для реалізації складних технічних аспектів.
