У питанні « Робота з моїм старшим співробітником» різні люди обговорювали стратегії поводження з колегами, які не бажають інтегрувати свій робочий процес із командою.
Я хотів би, якщо можливо, вивчити деякі стратегії "навчання" колеги, який просто не знає сучасних методик та інструментів, а можливо, трохи апатично.
Я почав працювати з програмістом, який до недавнього часу працював у відносній ізоляції, в іншій частині компанії. Він володіє широкими знаннями в галузі і, головне, продемонстрував хороші навички вирішення проблем , чого, мабуть, не вистачає багатьом кандидатам.
Однак фактичний (C #) код, який я бачив, є поверненням до VB6 днів. Процедурна структура, угорська нотація, глобальні змінні (зловживання static
), відсутність інтерфейсів, тестів, незастосування Generics, метання System.Exception
... Ви розумієте.
Цей програміст трохи старший, ніж я, і, принаймні за першими враженнями, не прагне активно до позитивних змін. Я не збираюся говорити, що стійкі до змін, тому що я думаю, що це багато в чому питання про те, як тема буде поширена , і я хочу бути готовим.
Програмісти, як правило, є впертими людьми, і, швидше за все, не вдасться досягти кінцевого результату, який я хочу , і входження з рушницями та введення в дію оглядів коду розрізних кодів та суворої політики . Якби це був новий працівник, молодший програміст, я б не замислювався над тим, щоб зайняти позицію "наставника", але я надзвичайно насторожений, як ставитись до досвідченого працівника як до неосвіченого новачка (якого він не - він просто не мав йшов у ногу з певними досягненнями в галузі).
Як я можу піти на підвищення стандарту якості коду цього розробника, шляхом Дейла Карнегі, шляхом ніжного переконання та нематеріальних стимулів? Яка була б найкраща стратегія для здійснення тонких, поступових змін, не створюючи змагальної ситуації?
Чи були раніше подібні ситуації інші люди, особливо провідні розробники? Які стратегії були успішними для стимулювання інтересу та створення позитивної динаміки групи? Які стратегії не були успішними, і краще було б їх уникати?
Роз'яснення:
Я дійсно відчуваю, що кілька людей відповідають на основі особистих почуттів, не читаючи насправді всіх деталей питання. Будь ласка, зверніть увагу на наступне, що малося б мати на увазі, але я зараз роблю явне:
Цей колега за віком лише мій "старший". Я ніколи не говорив, що його назва, сфера впливу чи роки на організацію перевищують мою, і насправді жодне з цих речей не відповідає дійсності. Він LOB-програміст, якого поглинули в основний цех розвитку. Це воно.
Я не новий наймач, молодший програміст чи інший наївний ідіот з грандіозними планами перетворити компанію на ніч. Я в основному відповідальний за програмний процес, але стільки, хто працював на "ведучих", знатиме, відповідальність не завжди точно співвідноситься з організаційною діаграмою.
Я не запитую людей, як пройти шлях, приїхати пекло чи багато води . Я міг би зробити це, якби хотів, з таким чистим результатом, що ця людина стане обуреною і / або кинути її. Будь ласка, спробуйте зрозуміти, що я шукаю соціальний , спільний метод сприяння змінам.
Згадка про "... глобальні змінні ... ніяких тестів ... метання
System.Exception
" мала на меті продемонструвати, що проблеми не просто поверхневі чи естетичні . Практики, які можуть працювати для відносно невеликих додатків CRUD, не обов'язково працюють для великих корпоративних програм, і насправді жоден з кодів до цього часу фактично не пройшов інтеграційні тести.
Будь ласка, спробуйте сприйняти питання за номіналом, прийміть, що я насправді знаю, про що я говорю, або будь-ласка, відповідайте на запитання, яке я насправді задав, або продовжуйте .
PS Моя найщиріша подяка тим, хто пропонував конструктивні поради, а не сперечаючись з цим припущенням. Я збираюся залишити це відкритим на деякий час довше, оскільки сподіваюся почути більше на шляху до досвіду реального світу.