Tamam bir ipucu olarak projeleri kapı dışarı almak sizin işiniz. Bu nedenle, standartları uygulayan, kod incelemelerini uygulayan, ilerleme raporları isteyen ve geliştiricilerin bunları yalnız bırakmayı tercih ettiği tüm şeyleri siz olmalısınız. Bunlar sadece yönetim gereklilikleridir ve kod incelemeleri dışında çalışanların becerilerini gerçekten geliştirmezler.
Bununla birlikte, bir liderin büyük bir özelliği olan büyümelerine yardımcı olmak istersiniz.
Kod incelemeleri kesinlikle ilk adımdır, kimin yıldızlardan daha az beceriye sahip olduğunu ve tatmin edici performansa sahip olmak için iyileştirmeye ihtiyacı olduğunu görmenize yardımcı olacaktır. Geliştiricilere, bir şeyler yapmanın ve kod tabanının kişisel olarak çalıştıklarından farklı bölümlerini anlamalarının başka yollarını görmelerine yardımcı olacaklar. Bence, kod incelemeleri en iyi geliştirici ve gözden geçiren ile bir konferans odasında şahsen yapılır (kim her zaman lider değil, başka bir geliştirici olmalı, başkalarının kodunu gözden geçirmek de geliştirilmesi gereken bir beceridir) ve siz bir moderatör. Trendleri tanımlamak için nelerin değiştirilmesi gerektiğine dair notlar tutmalısınız. Gerçekten aradığınız şey hatalar veya değişikliklerdir (herkesin kodu geliştirilebilir), ancak hatalardan öğrenmede sürekli başarısızlıktır. Üst yönetime bu notları tuttuğunuzu söylemeyin, aksi takdirde bunları, performansı gözden geçirme sürecinde amacı açıkça alt eden ölçümler olarak kullanmak zorunda hissedeceksiniz. Birkaç geliştirici aynı hataları yapıyorsa, X'in nasıl yapılacağı konusunda bir eğitim oturumu veya wiki girişi olabilir.
Şimdi asgari seviyeye ulaşan büyüyen yardımcısı. İlk olarak, geliştiricilerin hangi beceri setlerine sahip olduklarını ve sahip oldukları beceri setlerinin ne olduğunu ve neleri öğrenmek istediklerini bilmeniz gerekir. Onlarla konuşmanız ve özgeçmişlerini gözden geçirmeniz ve neyi sevdiklerini anlamanız ve yapmaktan hoşlanmıyorum.
Tüm ilginç ödevleri sadece en yetenekli kişilere vermeyin. Bu, diğerlerinin yeni problemleri ve teknolojileri hızlandırmasına yardımcı olmaz. Birisi size bir şans tanımazsa ve size daha zor işler atamazsa, sadece en küçük ve en az önemli görevleri üstlenen en genç adam olmaktan çıkamazsınız. Bununla birlikte, daha ileri beceriler elde etmek için daha az deneyimli olanın bir kıdemli ile programı eşleştirmesi gerekebilir. Çocukları kod incelemelerine dahil etmek de onları daha gelişmiş tekniklere maruz bırakacaktır.
Önce onlara sorunu kendileri anlama fırsatı verin. Ancak bazen insanlar sıkışıp kalırlar ve nereden başlayacaklarını (özellikle yeni programcılarda da gelişmeniz gereken bir beceri) veya bir sorunu çözmek için ne yapmaları gerektiğini bilmezler.
Onlara bir şeyi araştırmaları için birkaç gün verirseniz ve yine de bir şeyleri nasıl yapacaklarına dair bir yönleri yoksa, bazı önerilere müdahale etmeniz gerekebilir. Kendiniz teknik iseniz, onlara sorunun nasıl çözüleceğine dair bazı fikirler verebilirsiniz. Değilse, fikirleri beyin fırtınası yaptığınız birkaç kişiyle toplantı, kişi sıkışmışsa yardımcı olabilir. Ya da daha deneyimli bir kişiden bazı önerilerde bulunmasını istemek. Yapmak istemediğiniz şey sorunu onlardan alıp kendiniz çözmektir. Ancak projenin programcı ego ile yapılmasını dengelemek zorundasınız ve bazen belirli bir yönde göndermeniz gerekir. Kötü bir çözümü varsa ve düzeltilmesi gerekiyorsa, programcıyı ateşlemek istemediğiniz sürece yapabileceğiniz en kötü şey başka birine vermek.
Başkalarının yaptıkları hemen hemen her şeyi düzeltmesi gereken kötü programcıların kodlanmış olduğunu gördüm. Diğer programcılar buna kızar ve sadece kişinin hayatından çıkmasını ister. Kötü bir programcı kodlamak iyi programcıların ayrılmasına yol açar. Kodlama ve geliştirme becerileri arasındaki çizgiyi bulmak zorundasınız. Birine birkaç şans verirseniz ve hiç iyileşmezse, onu gevşetin.
Mevcut beceri setlerinde zaten yetkin olan yaşlılar için işler daha kolaydır. Genellikle onlara yeni bir şeyler yapma fırsatı vermeniz gerekir ve onlar atlayıp öğrenirler. Sadece ilginç fırsatların yayıldığından emin olun ve hepsi bir şeyleri düzeltebilecek olan Wonder the Joe Programmer'a gitmeyin. Sonunda sadece bir tane değil on tane Joes elde etmek istersiniz.
Beceri geliştirmenin bir başka yolu da haftalık 1 saatlik eğitim seansına sahip olmaktır. Her geliştiriciyi belirli bir konudan sorumlu tutun. Bu, iletişim kurma konusunda daha iyi olmalarına yardımcı olacak, derinlemesine bir şey araştırmalarını sağlayacak ve herkese araştırmalarından fayda sağlayacaktır. Bazı konular, bu konuda bilgi sahibi olmaya zorlamak için konuyla ilgili familair olmayan kişilere atanmalı ve bazıları bu konuda yerel uzmanlar olduğunu bildiğiniz kişilere atanmalıdır. Konular, insanların furture yakınında veya şu anda iyi olmaları için ihtiyaç duyduğunuz şeyler ve şu anda kullanmadığınız yeni gelecek teknolojilerin bir kısmı için bir kombinasyon olmalıdır, ancak insanlar faydalı olup olmadıklarını öğrenmek için araya girmiştir. Ancak en genç olanlar dahil herkese bir konu verilmelidir.
Geliştiricilerinizin zamanının nasıl faturalandığına bağlı olarak (bu, bir müşteri faturalandırma durumunda daha zordur), geliştiricilerin kişisel projelerde çalışması için haftada 4-8 saat olması genellikle buna değer. Bunu yapmaktan heyecan duyacaklar. En iyi insanlar orada çalışmak isteyecek ve gelecek için yararlı olacak çok şey öğrenecekler. Fasulye sayaçlarının bunun ihtiyacını anlaması zordur, ancak bu kez çalışan memnuniyeti, kimsenin ihtiyaç duymadığı (veya angaryaların bir kısmını otomatikleştirmeye yardımcı olacak) yeni özellikler veya yazılımlar ve daha hızlı gelişme nedeniyle birçok kez geri ödenecektir. yeni teknikler öğrenildi. Bazı geliştiriciler bu zamanı kesinlikle yaptıklarınızla ilgili olmayan kişisel projeler için kullanacaktır (ve bu iyi, yine de yetenek kazanacak ve fırsattan memnun kalacaklar), ancak birçoğu bunu, projelerin nasıl yönetildiğinin doğası gereği herkesin önceden düzeltmek için zamana sahip olduğu kalıcı problemleri çözmek için kullanacaktır. Böylece herkese fayda sağlayan yeniden düzenlemeler alabilirsiniz; bazı insanlar yeniden düzenlemeyi kolaylaştırmak için test kapsamını iyileştirmek için testler yazabilir; bazıları ise yazılımınızı müşterileri için daha kullanışlı hale getirebilecek bazı yeni özellikleri keşfedebilir. Genel olarak, fasulye sayaçlarını ikna edebiliyorsanız, bu özgürlüğe izin vererek kaybetmenin bir yolu yoktur.
İnsanların becerileri için biraz gerilmesine izin vermek ve projeyi takip etmek için nasıl denge kuracağınızı öğrenmelisiniz. Geliştirici ne kadar az deneyimli olursa, özellikle yön değiştirmenin daha kolay olduğu ilk aşamalarda bir kişinin ilerlemeyi kontrol etmesi gerekir. Deneyimsiz olanlar mücadele etmekte ve konuşmaktan korkmaktadırlar. Bu insanlar lansmandan hemen önce ayrılma eğilimindedir ve projenin bir kısmının yapılmaya yakın bir yerde olmadığını görürsünüz. İşlerini sık sık değiştiren herhangi bir kişinin ilerlemesini kontrol etmeye özellikle dikkat edin (müteahhit olmadıkları sürece sözleşmenin niteliği olmadığı sürece).
Daha deneyimli olan, genellikle çözümü bulma konusunda sorun yaşadıklarını ve bölgede daha fazla bilgiye sahip birinden biraz yardıma ihtiyaç duyduklarını söylemek için güvenilir olabilir veya o kişiyi arayacak ve bilgi transferini alacaktır. Bu yüzden, bir proje için yeni bir beceri seti öğrenmenin başlangıç aşamalarında yakından izlenmelerine gerek yoktur. Projeyi teslim etmenin bir yolunu bulacaklar. Teslim geçmişine sahip olanlar, asgari ilerleme raporları dışında genellikle yalnız bırakılabilir (genellikle yönetiminize de rapor vermeniz gerekir ve bu nedenle bazı bilgilere ihtiyaç duyarsınız).