Задайте ці питання щодо свого ведучого.
- Вони звикли працювати поодинці або з дуже маленькою командою?
- Вони в основному кодували в цьому одному магазині?
- Чи звикли вони приймати рішення?
- Вони звикли "просто робити це"?
- Вони написали більшу частину коду?
Якщо відповіді "так", то я збираюся намалювати картину конкретного типу ведучого програміста. Якщо це збігається з тим, що ви пережили, можливо, це допоможе вникнути їм у голову. Якщо ні, ігноруйте цю відповідь .
Це хтось, хто був там з першого дня, провів роки на одній і тій же роботі, працюючи на одній і тій же кодовій базі, звик мати свій шлях і не має великого досвіду з іншими способами.
Вони не вважають інших людей під час написання коду, оскільки це все має сенс. Звичайно, це так, вони написали це, або вони витратили роки на його розуміння.
Вони вважають стиль кодування особистою перевагою, а не інструментом для зменшення обслуговування та помилок. Коли сперечаються про стиль кодування, вони намагатимуться почути ваші аргументи, тому що, мабуть, ніколи не замислювались над тим, чому вони роблять речі по-своєму. Що вони почують - це "я хочу зробити це по-своєму" або "я хочу зробити це по новому, вигадливому, модному напрямку".
Вони налаштовані по-своєму. Тому що вони так довго робили це так само всі свої інструменти та редактори та мікро-конфігурацію мозку, щоб точно відповідати їх стилю. Будь-яке відхилення від цього стилю суперечить цьому ретельно влаштованому, але дуже крихкому способу роботи. Спроби зміни викликатимуть скарги на їх редактора, інструменти, спосіб роботи, або "важко читати". Вони відхиляють зміни, тому що вони так міцно завернулися в статус-кво, що вони не можуть змінитися.
Це хтось, хто ніколи не вивчив належну інженерію програмного забезпечення та архітектуру програмного забезпечення. Вони просто щось вдаряють разом, що б не працювало.
У вас є проблема людей, а не технологічна.
Вам доведеться перекваліфікувати керівництво, або вам доведеться відмовитися.
Перехід до управління - крайній захід . І з причин @JredSmith, і тому, що ви програєте. Цей хлопець витратив роки, заробляючи на них гроші. Він написав їх компанію. Він гасився у численних пожежах. Для вас він ковбойський шеф-кухар, який робить спагетті. Для них він герой, який створив і врятував компанію.
Для перепідготовки вам доведеться ...
- Завоюйте його довіру.
- З’ясуйте, як він думає.
- Вирішіть свої побоювання щодо змін.
- Зробити зміни простішими.
- Покажіть , як це краще для нього .
Поставтеся до його стилю всерйоз і заходьте всередину голови. Запитайте його про це. Чому він робить так, як робить? Що він бачить, коли читає? Як це взаємодіє з його інструментами? Як він рухається через код? Знання всіх цих речей дозволить зрозуміти та вирішити його заперечення.
Знайдіть об'єктивний корінь його суб'єктивних заперечень, зробіть їх діяльними. "Важко читати" суб'єктивно, і вона не дає ніякої інформації. Ви нічого не можете з цим зробити. "Я кольоровий і підсвічування синтаксису не працює" є об'єктивним, він дає вам інформацію, і ви можете щось з цим зробити. Я б порекомендував книгу під назвою " Як дістатися до так", щоб дізнатися більше про це.
Як тільки ви виявите корінну проблему, справжню проблему, яку він відчуває, подивіться, чи можете ви її усунути чи пом'якшити. Тоді це не проблема. У них, ймовірно, все ще будуть виникати емоційні проблеми із зміною, але принаймні вони вже не можуть стверджувати, що це актуальна проблема.
Зробіть це трохи за раз. Це той, хто роблять це так само роками. Він звик бачити певні шаблони в коді і використовувати їх для його розуміння. Раптом зміна всіх цих моделей буде заплутаною. Як неприємно буде повільно наближати їх до відомих належних практик, вам доведеться пройти його через це.
Прихильник стандартного стилю спільноти Це виключає аргумент про те, що мова йде про особисті переваги та тисне на них, щоб виправдати, чому їхній інший стиль настільки кращий. Якщо ви плануєте наймати роботу, це полегшує інтеграцію нових найм.
Адвокат за автоматизований стиль коду. Зробіть наступний правильний стиль натисканням кнопки. Використовуйте інструмент, який починається зі стандартного стилю, дозволяє налаштувати його на свій смак, і ви можете перевлаштувати код одним натисканням кнопки. Зробити це як можна простіше дотримуватися стилю, вилучає багато аргументів про те, як важко буде дотримуватися. Вони можуть кодувати скільки завгодно, і коли вони закінчать, вони натискають кнопку, і це слідує стилю, який можуть читати інші.
Оскільки цій людині не до душі думати про інших, вам доведеться показати, як ці зміни їм приносять користь. Це може бути таким же простим, як "оскільки це зараз стандарт, вам не доведеться знову проходити цю боротьбу з наступною людиною, яку ви наймаєте". Або це може бути "якщо у нас є тести, ви можете бути більш агресивними щодо зміни коду і менше турбуватися про зміну речей". Або "якщо є хороші документи, людям не доведеться турбувати вас питаннями про те, як працює код". Щоб це було ефективно, вам доведеться знати, чого вони хочуть - деяким людям подобається турбуватись, це робить їх важливими.
Це довга довга дорога. Вам доведеться вирішити, чи маєте ви терпіння керувати і перекваліфікувати свого начальника. Подумайте про себе більше як про свого вчителя, ніж про їх розчаровані підростки, і ви можете почувати себе в цьому краще.