6 типів програмістів, які дратують менеджера
Перш ніж перейти до гарячої теми, розповім про себе. Я працюю проєктним менеджером, маю трошки більше як три роки досвіду. В ІТ прийшов з мистецтва, займався фотографією — це неабияк впливає на сприйняття світу загалом і людей зокрема. Хоч як дивно, та я люблю людей. Люблю нові знайомства, пізнавати мислення іншої людини та її світогляд. Зрозумійте правильно: у мене не завжди виходить любити кожну людину, але я намагаюся.
Коли починаєш працювати з кимось, дуже важливо розуміти одне одного, тому я вірю, що комунікація — це наше все. Важливо дивитися в саму середину людини, щоб розуміти суть її вчинків і в такий спосіб прогнозувати можливу поведінку. Це допомагає уникнути багатьох конфліктних ситуацій.
Думаю, не новина, якщо скажу, що всі ми унікальні. Такої людини, як ти чи я, ніколи більше не буде. Часто наших відмінностей аж занадто багато, і складно виробити певні шаблонні алгоритми поведінки, які можна використовувати, не витрачаючи енергію на вивчення кожної людини окремо. Якби ми всі були однакові, погодьтеся, було б нецікаво. Попри безліч відмінностей, усе-таки є деякі спільні риси. Я для себе виділяю шість основних типів розробників, про які й ітиметься далі.
Ця стаття є своєрідною відповіддю на матеріал «14 типів менеджерів, що дратують розробників».
1. Скиглик
Ілюстрації Романа Кривенка
Є такий собі скиглик. Часто це недосвідчений розробник, що почувається доволі досвідченим. Він готовий зрушити гори, хоче справжнього величезного таску / проєкту. Він хоче рости й розвиватися, але це лише на словах.
Щойно здобуває шанс, розуміє, що не все так просто, як уявлялося. Визнати, що недосвідчений, — це не «по-пацанському», тому доводиться шукати виправдання. І починається постійне скиглення. Скарги на те, що чужий код — то «гавнокод». Якщо скиглик пише проєкт з нуля, то скаржиться на те, що мало часу на фічу, хоча сам є автором оцінки. Набір цих відмовок такий великий, що раз по раз ви чуєте щось нове.
Вірить, що якби можна було переписати все, почати з початку, то все було б класно. Основна мантра, яку повторює скиглик: я не встигаю, бо проєкт поганий.
Напевно, так складаються зірки, що з’являється нескладний проєкт і є такий розробник. Ти віриш, що він упорається, ось тут і почнуться пригоди. Усе йтиме не за планом, а відмовки триватимуть. Ви будете в стресі, клієнт не зможе спати й навіть ваш виснажений розробник почне підшуковувати інше місце роботи.
Як працювати
Є тільки один правильний підхід прокачати скиглика — додавати на проєкт тільки другим розробником і поступово збільшувати навантаження, поки ви не побачите його готовність працювати самостійно.
2. Протестувальник
Це такий собі ковбой з дуже гострим розумом і чітким баченням. Він має якийсь середнячковий досвід. Єдине, що його цікавить, — це рухатися вперед на своєму коні (кодити). Слід віддати належне: він готовий кодити, відволікаючись лише на обід — і то не завжди. Справжній фанат написання коду. Він має гарну уяву, знає, як і що можна зреалізувати, але вважає себе ідеальним розробником і через це дуже часто заходить у глухий кут. У такий глухий, що треба все переписувати заново, визнаючи свої помилки. Такі переживання власних помилок даються дуже важко. Здавалось би, ці провали він має пам’ятати, але ні — він не надто вчиться на власному досвіді.
Протестувальникові потрібно чимало твоєї енергії, щоб переконати його: біле — це біле, а чорне — це чорне. Він не розуміє, для чого потрібен менеджер проєкту, таймтрекінг, список завдань і багато чого іншого. Майже ніколи нічого не записує, вірить, що все може тримати в голові, йому дуже складно прилучитися до розмови. Але коли прилучається, то пропонує офігезно класні рішення.
Вірить, що якби було менше зустрічей, то було б усе вдесятеро ліпше.
Попрацювавши з таким розробником, ви дуже прокачаєте свою витримку, а також уважність до деталей. Протестувальник намагатиметься загнати вас у безвихідь за кожної можливості, на кожному мітингу — просто тому, що це приносить йому задоволення. Ваше завдання — сприймати його зауваги раціонально, без емоцій (дуже часто вони доцільні). Щиро раджу потоваришувати з таким. Це всім піде на користь. Ви розширите свої горизонти в технічному сенсі, бо сприйматимете його критику конструктивно, а не емоційно. А протестувальникові буде приємно, що його чують і що впроваджують ліпші рішення.
Як працювати
Протестувальник може працювати самостійно, але, хоч як дивно, потребує частих зустрічей. Вам треба витягати з нього інформацію про те, як той чи той функціонал буде зреалізовано. Часто він, слухаючи сам себе, виявлятиме хибні або недосконалі підходи й рішення.
3. Гуру
Гуру — розробник, що пізнав дзен. А все тому, що він дуже часто запитував себе, яку проблему усе-таки розв’язує. Він такий цілеспрямований у розв’язуванні проблеми, що докопується до бізнес-логіки та відкриває третє око в собі. Для нього технологія вже має другорядне значення, це просто інструмент, яким ти досягаєш мети. Він вищий за розмови, наприклад, про те, яка мова досконаліша, для нього це лише інструмент. Не міряється ідеальністю коду, не використовує передові фреймворки, але постійно вивчає все нове. Його кожен крок виважений та обдуманий. Украй не любить нерозсудливий підхід, де спочатку програмують, а потім думають. Програмісти такого сприймають з насторогою — особливо перфекціоністи.
Бачить потенціал у людях, часто допомагає розвивати команду.
Гуру — це ваш найліпший друг. Він зможе перекласти будь-яку технічну мову зрозумілими вам словами. Будьте готові, що в будь-якій суперечці він поводиться, неначе суддя, і судить справедливо.
Як працювати
Гуру — самостійна одиниця. Вам треба розуміти його мотивацію та задовольнити її: чи це повноваження, чи кар’єра, чи фінанси. Якщо цього не зробити, будьте готові відпустити пташку. Такі люди часто найрозумніші в кімнаті, і, щоб розвиватися, далі їм треба з неї вийти.
4. Перфекціоніст
Якщо ви колись чули вислів «Не бачить лісу за деревами», то це саме той випадок. Перфекціоніст часто зосереджується на одному пазлику із сотень тисяч і може витратити гору часу, щоб цей пазлик став ідеальним. Перфекціоністові завжди боляче дивитися на свій неідеальний код, що й казати про код іншого розробника. Але він пишається певними частинами коду, який колись удалося написати у вільний від роботи час.
Перфекціоніст завжди прагне все переписати, зоптимізувати, зробити ліпшим хоча б на один відсоток. І це класно, але погодьтеся: не завжди. Його мінливий настрій залежить від того, подобається йому фіча чи ні. Не дуже налаштований на конструктивний діалог, йому складно висловлювати свою думку людською мовою. Він переконаний, що нічого не може змінити і є заручником ситуації. Такий собі митець серед цього нелюдяного світу, який пожертвував усім, щоб досягти ідеалу, але ніхто не цінує його. Хоча це не так.
Для перфекціоніста бізнес-цінність — це інший вимір, про який він ніколи не задумується. Завжди в скорботі від того, що ніколи не має часу на рефакторинг. З радістю поділиться своїм болем про всесвітню несправедливість, з якою доводиться миритися, а саме — неідеальний код. Погано сприймає критику.
Бувало, що наша розмова з перфекціоністом починалася про досить конкретну річ, проєкт чи завдання, і ось я бачу, що ми вже говоримо про несправедливе життя, політику й усе що завгодно. Під час щоденних розмов про проєкт я постійно ловлю себе на думці, що нічого зі сказаного не розумію, як і решта розробників. Кожна розмова потребує великої зосередженості, щоб ненароком не сказати те, що може зачепити почуття перфекціоніста, — не тільки словами, а й мовою тіла. Доводиться постійно наголошувати, що ми говоримо лише про конкретну роботу, а не про особистості.
Як працювати
Перфекціоніст може працювати самостійно. Але потрібен інший розробник, що час від часу зможе передивлятися код і розповідати вам про справжній стан речей. Перед початком роботи обговоріть деталі, переконайтеся, що перфекціоніст урахував усі сценарії або майже всі. Візьміть часу із запасом, бо перфекціоніст не терпить працювати, коли часу обмаль. Перфекціонізм має бути в кожному з нас, але в міру. Така поведінка людини часто пов’язана з якимись психологічними травмами, що потребують відповідного виправлення.
5. Містер «усе просто»
Має гострий розум. Швидко думає, швидко розбирається в проєктах. Соціально відкритий, багато вчиться, пробує та освоює нові технології, підходи. Швидко працює. Часто спочатку робить, а вже потім запитує, чи треба було так робити. Відкритий у спілкуванні. Гарно сприймає критику. Загалом складає враження ідеального програміста, але через швидкість утрачається якість.
Якось за кілька днів до релізу я отримав репорт від тестувальника, у якому було багато дрібних і середніх багів. Тож я вирішив пришвидшити роботу й додати такого розробника. Усе йде добре, баги закриваються один за одним. І от після всієї зробленої роботи тестувальник знову перевіряє — і, щоб ви розуміли, цей список з багами збільшується втричі... І таке буває.
Як працювати
Такий тип ідеально поєднується з досвідченішим розробником. Самостійно може працювати на невеликих проєктах, які не потребують довгого та глибокого занурення. Якщо проєкт великий, обов’язково, щоб містер «усе просто» радився з досвідченішими розробниками.
6. Середнячок
Непримітний, небагатослівний. У міру досвідчений, розуміє, що не все знає. Має великий (не обов’язково в IT) досвід. Знає, що люди можуть помилятися, тому двічі перевіряє перед тим, як сказати, що код працює чи не працює. Стежить за тим, щоб його слова й дії збігалися. Помилки сприймає на свою користь, розуміє власну відповідальність. Ставить правильні запитання, обережний у роботі. Користується всіма інструментами, що допомагають у роботі. Відкритий до всього нового, але дуже обережно впроваджує зміни. Коли працюєш із такими людьми, почуваєшся спокійно, бо частину відповідальності вони беруть на себе. Завжди використовують системний підхід. Коли працюєш із середнячками, то помічаєш, як сунуться гори, які ти й не сподівався зрушити, — хай повільно, але впевнено.
Коли працюєш із таким розробником, то перше, що згадується, — це вислів з реклами: «І нехай весь світ почекає...» — усе так неспішно й повільно просувається, що здається, нібито це найгірший розробник, з яким ти мав справу. Але ось завдання нарешті завершено і — о диво! — усе зроблено відповідно до вимог. Це і є основною відмінністю підходу таких людей: переконайся, що ти все зрозумів, і тільки потім починай працювати.
Як працювати
Надихайте середнячка на нові вершини, відзначайте успіхи. Чесно обговорюйте провали — і середнячок стане гуру.
Який тип найліпший
Як я вже казав, у світі немає однакових та ідеальних людей. Немає ідеальних розробників, як і ідеальних менеджерів. У цьому вся краса. Кожен менеджер або інший спеціаліст має бути спостережливий, бачити відмінності та добирати роботу під людей чи людей під роботу.
Дуже часто правильне ставлення до життя переважає над наявністю великого досвіду. Оскільки конкуренція в ІТ зростає, просто кодити недосить — треба правильно ставитися до того, що ти робиш, як і до тих, з ким ти працюєш. Це впливає на фінальний результат більше, ніж можна було б уявити.
Ніхто не скасовував позитивного ставлення до життя. ІТ-робота досить стресова. З одного боку, ми щодня маємо багато змінних, а з іншого — досить конкретні терміни. Позитивне мислення допомагає утримувати напруженість на прийнятному рівні та працювати далі в нормальному темпі, ухвалюючи правильні рішення, хай би там що.
Хочу, щоб ті, хто працює з людьми, насамперед бачили перед собою людей, а вже потім розробників і таке інше. Допускайте те, що всі помиляються. Але цей процес має бути контрольований і сприяти лише зростанню. А розробники, своєю чергою, нехай будуть відкритішими до змін і прокачують не тільки хардскіли, а й людські якості.
Завершу цитатою Зіґа Зіґлара: «Ваше ставлення, а не ваші здібності визначають ваше становище».