In Taşıma benim eskimiş iş arkadaşınız sorusuna, çeşitli insanlar arkadaşları ile başa çıkmak için stratejiler tartışıldı isteksiz takımın onların iş akışını entegre etmek.
Mümkünse, sadece modern teknikler ve araçlar hakkında bilgisiz olan ve muhtemelen biraz kayıtsız olan bir iş arkadaşınıza "öğretmek" için bazı stratejiler öğrenmek isterim .
Yakın zamana kadar firmanın farklı bir bölümünde göreceli olarak yalıtılmış bir programcı ile çalışmaya başladım. Kapsamlı bir alan bilgisine sahip ve en önemlisi , birçok adayın eksik gibi göründüğü bir problem çözme becerisi olduğunu gösterdi .
Ancak, gördüğüm asıl (C #) kod VB6 günleri için bir gerileme. Prosedürel yapı, Macarca notasyonu, global değişkenler (kötüye kullanımı static
), arayüz yok, test yok, Jeneriklerin kullanılmaması, atma System.Exception
... fikrine kapılıyorsunuz.
Bu programcı benden biraz daha yaşlı ve en azından ilk izlenimlerle aktif olarak olumlu bir değişim aramıyor . Değişime karşı dirençli demeyeceğim , çünkü bunun büyük ölçüde konunun nasıl işlendiğiyle ilgili bir konu olduğunu düşünüyorum ve hazırlıklı olmak istiyorum.
Programcılar inatçı insanlar olma eğilimindedirler ve rip-it-to-shred kodunu yakıp söndüren silahlarla içeri girerler ve kesinlikle uygulanan politikalar kesinlikle istediğim sonucu vermeyecektir . Eğer bu yeni bir işe alım, küçük bir programcı olsaydı, iki kez "mentor" duruşu almayı düşünmezdim, ama deneyimli bir işçiye, ipucu olmayan bir acemi gibi davranmaya son derece ihtiyatlıyım (ki öyle değil - o henüz yapmadı). alanındaki bazı ilerlemelere ayak uydurdu).
Nazik ikna ve maddi olmayan teşvikler yoluyla bu geliştiricinin kod kalite standardını Dale Carnegie yolunda nasıl yükseltebilirim? Zorlu bir durum yaratmadan , ince ve aşamalı değişiklikleri etkilemek için en iyi strateji hangisidir?
Diğer insanlar - özellikle öncü geliştiriciler - bu tür bir durumda daha önce bulundular mı? İlgi uyandırmada ve pozitif bir grup dinamiği yaratmada hangi stratejiler başarılı olmuştur? Hangi stratejiler başarılı değildi ve kaçınılması daha iyi olurdu?
Açıklamalar:
Sorunun tüm ayrıntılarını okumadan birkaç kişinin kişisel duygulara dayanarak cevap verdiğini hissediyorum. Lütfen ima edilmesi gereken aşağıdakilere dikkat edin: ama şimdi açık yapıyorum:
Bu iş arkadaşı, yaş nedeniyle sadece benim "kıdemli". Asla onun unvanının, etki alanının veya kuruluştaki yılların benimkimi geçmediğini ve aslında bunların hiçbirinin doğru olmadığını söylemedim. Ana geliştirme mağazasına alınmış bir LOB programcısı. Bu kadar.
Şirketi bir gecede dönüştürmek için yeni bir işe alım, küçük programcı ya da büyük naif aptal değilim. Temelde yazılım sürecinin sorumlusuyum, ancak “liderler” olarak çalışan birçok kişinin bileceği gibi, sorumluluklar her zaman kesin olarak org şeması ile ilişkili değildir.
Ben değilim değil nasıl insanlara sorarak , yolumu olsun cehennem veya yüksek su geliyor . İsteseydim, net sonucu bu kişinin kırgın ve / veya istifa etmesi ile yapabilirdim. Lütfen , sosyal , işbirliğine dayalı bir sürüş değişikliği yöntemi aradığımı anlamaya çalışın .
"... global değişkenler ... test yok ... fırlatma
System.Exception
" lafı , sorunların sadece yüzeysel ya da estetik olmadığını göstermek için yapıldı . Nispeten küçük CRUD uygulamaları için çalışabilecek uygulamalar, büyük ölçekli kurumsal uygulamalar için zorunlu olarak çalışmaz ve aslında, şu ana kadar hiçbir kod aslında entegrasyon testlerinden geçmedi.
Lütfen, soruyu yüz değerinden almaya çalışın, gerçekte ne hakkında konuştuğumu bildiğimi kabul edin ve ya gerçekten sorduğum veya devam ettiğim soruyu yanıtlayın .
PS Öncül ile tartışmak yerine yapıcı tavsiye verenlere içten şükranlarımı sunuyorum. Gerçek dünyadaki deneyimler hakkında daha fazla şey duymayı umduğumdan, bir süre daha açık bırakacağım.