Gelişim / teknik lider olmak için hangi becerileri geliştirmeliyim? [kapalı]


82

Şu anda profesyonel bir programcıyım. Yetenek setimi genişletmek istiyorum, fakat aynı zamanda kariyerini bir ekibin parçası olarak liderlik etmeye atlatmak istiyorum. Öğrenmesi gereken çok şey olması gerektiğini biliyorum (ve bu anlık bir şey olmayacak), ancak bunu yapacak kadar akıllı olduğumu ve zorluğun üstesinden geldiğimi düşünüyorum.

Buradaki üyelerin birçoğunun muhtemelen kendi başlarına geçtiğinden ve şimdi başarılı lider olduklarından eminim. Ne yazık ki, geliştirmek istediğim bazı kişisel alanları bilmeme rağmen (bilgi derinliği, bilgi genişliği, beceri, vb.), Böyle bir şeye nasıl başlayacağımdan emin değilim.

Şimdi bir programcı olarak beni bu hedefe ulaştırmak için hangi adımları atmalıyım? Neye öncelik vermeliyim?


Mevcut şirketinizde takım liderliğine terfi etme fırsatları var mı? Takım liderliği deneyimi olmadan, çok fazla şirketin yalnızca içeriden işe alınıp alınmadığını merak ediyorum.
JeffO

@JeffO Aslında sadece işleri değiştirdim. Burada bir fırsata sahip olup olmadığımı bilmiyorum - bir olasılık olduğunu düşünüyorum, ama bu küçük bir başlangıç ​​ve bir seferde yalnızca bir dev lider olacağını düşünüyorum.
öğle yemeği317,

2
Sadece bir beceri: bu pozisyonu size vermesi için bu pozisyonu verebilecek birini ikna edebilme yeteneği.
vortexwolf

1
Anlaşılacağı gibi, bunun için kesin olarak benim açılmadığım çok belirgin bir olasılık var. Kariyerimi bu yönde ilerletmek istediğim kadar, işlerin geliştirici tarafına daha çok düşüyorum - bazen kafamı bastırmak ve kodlamak istiyorum. Hala olasılıkları düşünüyor, ama şimdi dikkatli.
öğle yemeği317,

Yanıtlar:


90

Teknik bir lider olmak için aşağıdakiler önemlidir

  • 3 aylık uni dışında olan birinden, 30 yıldır program yapan bir kişiye

  • Geliştirme alanınız hakkında iyi bir bilgi. Bu şunları içerir: diller, çerçeveler, yardımcı programlar, geliştirme ortamları

  • Sorun yönetimi sistemleri, proje yönetimi becerileri ve sürüm kontrolü hakkında sağlam bir anlayış

  • Go-to be katili ol

  • Zamanında kod incelemelerinin nasıl yapılacağını, neyin aranacağını ve ne zaman tutulacağını ve yapılacak değişikliklerin nasıl en aza indirileceğini bilin

  • Gelişim alanınızdaki gelişmelerden haberdar olun. Örneğin, .NET 2'den yeni çerçeveler veya teknolojiler öğrenmediyseniz, bugün işleri oldukça geriye doğru yaparsınız.

  • Ünite testleri ve alaylar nasıl yazılır ve geliştiricilerinizin de bunları yazmasını sağlama

  • Tasarım desenlerinin ne olduğunu ve ne zaman kullanılacağını bilmek

  • Hangi kodun koktuğu ve bunların nasıl hafifletileceği bilgisi

  • Sürekli entegrasyon

  • Proje ve bültenleri planlayabilme

Kuruluşunuza ve personel konusunda mimarınızın olup olmadığına bağlı olarak, muhtemelen aşağıdakileri bilmeniz gerekir:

  • Projelerinizi birleştirebilme ve işlevsel parçalara ayırabilme

  • Şifrelerin doğru şekilde ele alınması, sistemleri ayırma, verileri koruma vb. Dahil, eksiksiz bir güvenlik anlayışı

  • Servis otobüsleri, mesaj kuyrukları, BizTalk gibi işletme kavramları

  • Kurumsal tasarım desenleri

  • Hizmet mimarileri / SOAP ve REST gibi RPC

  • Hazırda Beklet, Varlık Çerçevesi, Doktrin gibi ORM çerçeveleri

  • Sürekli dağıtım

  • Bulut

  • Bir proje için kullanılacak doğru teknolojileri önerme yeteneği. Ekibiniz / mağazanız yalnızca .NET veya PHP veya Java kullanıyorsa bu zor olabilir.

  • Uygulamayı gelecekteki geliştirmelerin kolayca karşılayabileceği şekilde tasarlayın

Bir geliştirme yöneticisi olacaksanız, ayrıca:

  • Görüşme becerileri ve doğru personeli nasıl bulacağınız
  • Ekip üyelerinizle insanlarla nasıl başa çıkılır?
  • İşletme direktiflerini / hedeflerini yönetmek ve ilgili hedefleri geliştiricileriniz için bilgiye dönüştürmek
  • Farklı becerilere sahip programcılar için zamanı tahmin etme yeteneği
  • Becerilerini ve yeteneklerini temel alarak doğru geliştiricilere görevler tahsis etme yeteneği

Ve son olarak, önerilen diğer bazı noktalar:

  • Geliştirme etki alanınızın dışında öğrenin

  • Her şey mümkün olmadığında veya kapsam dışında kaldığında veya bütçe veya zaman gibi kısıtlamalarla çelişki halinde HAYIR demeyi öğrenin .

Bir takımı yönetmek, içinde olmak zor bir rol. Herhangi bir soruyu cevaplayabilecek bir kişi olmanız, kullanmak için doğru teknolojileri bilmeniz (bir mimarınız yoksa), insan yönetimi becerilerine sahip olmanız ve ulaşılabilir olmanız gerekir. personeliniz tarafından (bir yönetim pozisyonu varsayarak). Buna ek olarak, projenin karlılığını sağlamak için doğru tahmin etme becerilerine sahip olmanız ve sorunları tespit etmek ve bunları hızlı bir şekilde çözmek için ellerinizi kirletmek için herhangi bir kimsenin kodunu kullanmanız gerekir. Her şeyi kendin yapmak ve toksik olmayan bir ekip ortamı geliştirmek istemekten kaçınmalısın. Sürekli olarak teknoloji istifinizin zirvesinde kalmanız ve en son gelişmeleri ve teknikleri ve ayrıca sektördeki daha geniş trendleri öğrenmeniz gerekir.

Ayrıca en az bir veritabanı platformunu da iyi bilmeli ve iyi bilmelisiniz. Çoğaltmanın, saklı yordamların, sorgu iyileştiricinin nasıl çalıştığını ve bir şemanın nasıl düzgün bir şekilde tasarlandığını ve hangi alanların endeksleneceğini öğrenin.

Kesin konumundan bağımsız olarak, herhangi bir üst düzey rol etkili bir şekilde iletişim kurabilmenizi gerektirir. Kendinden emin bir konuşmacı değilseniz, Toast Masters (kamuya açık konuşma) gibi bir şey yapmaya bakın. Bilgi nasıl yapmak ve göz teması tutmak için. Kendine güvenmek. Pozisyon için uygun giyin. Örnek olarak kurşun.


2
Çabucak düşünebileceğim bazı fikirler çizdim. Daha sonra tekrar ziyaret edip daha fazlasını ekleyeceğim. İyi soru.
Sam

Toastmasters'ın yararlarından ikincisi de olabilirim. Kariyerim boyunca bana biraz yardımcı oldu. Düşüncelerinizi net bir şekilde aktarabilmek (özellikle teknik olmayan insanlara teknik düşünceler) sahip olmak çok değerli bir beceridir.
Jason Swett

27

Tecrübelerime göre, Liderin uygulamalı programlamanın kirli işleriyle ve yönetim ile ilgili işleriyle biraz daha az ilgisi var. Bu amaçla aşağıdakileri tavsiye ederim

  1. Tasarım ve mimarlık arayışlarında ve geliştirmelerinde daha fazla zaman harcayın . Bir lider olarak, göreviniz ekibinize teknik rehberlik ve yönlendirme etrafında odaklanacak. Bir bütünün parçalarının nasıl bir araya geldiğini ve tesisatın nasıl çalıştığını daha az anlamak için görevlendirileceksiniz. Beni yanlış anlama, etkili teknik bilgili bir lider olmanı istiyorsun, fakat neler olup bittiğine ve nasıl çalışacağına dair daha yüksek bir bakış açısı burada daha önemli olacak. Daha iyi uygulama tasarım kalıpları ve etkili kodlama uygulamalarını bilmelisiniz

  2. Çoklu görev yapmayı ve zamanı yönetmeyi öğrenin . Eğer şimdi iyi iseniz, bu güzel: daha fazla geliştirin. Bir geliştirici olarak, endişelenecek mevcut göreviniz / projeniz var. Bir lider olarak

    • İlgilenden daha fazla toplantıya katılmak için. Bu belki de takım liderliğinin en dikkat çekici parçası.
    • Kaynak tahsisi üzerinde çalışmak. Şanslıysanız, kaynaklar kıt olacak ve projeler bol olacak.
    • Proje mimarisi ve tasarımı konusunda liderlik edin
    • Kuruluşun büyüklüğüne ve yapısına bağlı olarak, zamanında ve zamanında sayısız rapor sunun. Liderliği düşük kiralı bir proje yöneticisi olarak düşünün.
  3. Etkili bir şekilde yetki vermeniz için kendinizi hazırlayın . Bu IMO, ayarlanması en zor kısım olacak. Bir geliştirici olarak, ellerinizi kirletmeye, işleri halletmeye alışkınız. Tüm sıhhi tesisat ve araştırma yapıyor. Durması veya azaltılması gerekecek. Konserler gelir, takıma gönderirsiniz. Alıştığınız kadar değil, eylemin bir parçasını elde edeceksiniz. Ve kendiniz için daha fazla harekete geçme eğilimine direnmek için dilinizi ısırırsınız.

  4. Daha profesyonel bir çizgi boyunca, sadece yeteneğinizi artırmakla kalmayacak, aynı zamanda bakış açınızı da değiştirecek bir eğitim düşünün . Yazılım proje yönetiminin zarar vermeyeceğini söyleyen bir kaza kursu. Yalın Altı Sigma, problem çözme işlemine daha mantıklı bir açıdan bakmanıza yardımcı olacak çok iyi bir eğitim programıdır (etkinliğini kanıtlayabilirim). Liderlik pozisyonundan, daha az uygulamalı teknik beceri ve daha fazla yönetim yeteneği gerektiren daha kıdemli roller için hazırsınız.

  5. İletişiminizi ve kişilerarası becerilerinizi geliştirin . Dış dünyadan ekibinize ana giriş noktası olacaksınız. İlk önce menajeriniz veya diğer danışmanınız size gelir. Kuruluşunuzdaki diğer birimler / ekipler, önce ekiple ilgili her şeyde sizinle bağlantı kuracaktır. İnsanların en zor ve tahmin edilemez kaynaklarını yönetiyor olacaksınız. Kalın bir cilt yetiştirmeniz, büyük miktarlarda gurur almayı öğrenmeniz ve ekibinizin başarısızlığında sorumluluk almanız gerekir.


2
Harika cevaplar, bir geliştirici olarak genellikle hakkında hiçbir fikrinizin olmadığı, özellikle de delegasyonun belirttiği şeyleri not almayı sevdim. En son yaptığım iş, kendimi meşgul tutabilmek için yapabileceğim her şeyi devretti ve hala bir şeyler dağım oldu. Sonra (nadir) serbest anlar sırasında "sıkıcı" şeyleri yaparım - küçük hataların, belgelerin düzeltilmesine yardımcı olmak için teklifte bulunurdum. Önden öne geçmeliyim.
Rocklan

2
'
Liderlik

Bu olağanüstü bir cevaptır ve gerçekten rolün özünü yakalar. Aferin.
Lloyd Moore

14

Sam'in söylemediği şeyler de önemlidir:

  • Spesifikasyonlar nasıl geliştirilir ve diğer geliştiricilerin çalışması sağlanır. İşinizin bir kısmı da diğer geliştiricilerin% 100 faydalanmasını sağlamak. Belirgin olmayan özellikleri yazmak çok önemlidir.

  • Herkesin izlemesi gereken bir iskelet / prototip uygulaması nasıl inşa edilir

  • İyi takım moralini nasıl güçlendiririm?

  • Toplantılara nasıl katılmalı, sürülmeli ve yönetilmeli, eylem öğelerinin belgelendirilmesi

  • Bir proje planı nasıl tahmin edilir, yazılır ve proje planı nasıl güncellenir

  • Geleceğe nasıl bakılır - 3 ay içinde bir sorun olacaksa, mümkün olduğu kadar erken baş etmeye çalışın. Bir geliştirici 7 hafta boyunca tatile gidiyorsa, şimdi bunun için planlamaya başlamanız gerekir.

  • Yönetimle nasıl konuşulur. Bize farklı bir dil konuşuyorlar. Onlara çözümler değil, problemler verin. Onlara teknik malzemenin onlar için ne anlama geldiğini söyleyin.

Sam zaten bunu söylerken en önemli şeylerden biri nasıl hayır demeyi öğrenmesi . Bunun bir yapacağız sürü . Ona bakmanın diğer yolu evet demek , ancak "sadece daha fazla para / zaman / kaynak bulabilirsek" - ya da "bu ikinci sürüm için" :)


Sanırım eserlerinin birçoğu Mimar veya PM kovasına gidiyor. Ama evet, bazen dev lider bunu yapmak zorunda.
SandRock

11

Bütün bunlar kitap ve iyi cevaplar. Sana gerçek anlamda vurmama izin ver.
İster inanın ister inanmayın, çoğu zaman yöneticileri açıklamak için harcayacağınız zaman

  • bir sorunun nasıl çözülmesi zor veya
  • neden verilen zaman çizgisinde çözülemiyor?
  • Çözmenin ne kadar az önemli olduğu bile.

Bunun için teknik olmayan terimlerle teknik olmayan şeyleri teknik olmayan insanlara açıklama becerilerine ihtiyacınız var. Ve bu çok zor. örneğin P = NP ile 6 yaş arasındakileri açıklamayı düşünün. Maalesef bunun için resmi bir eğitim yok ve bunu kendi başınıza öğrenmek zorundasınız.

Ayrıca bu, politik sh * t'nin sana vurmaya başladığı pozisyondur. Yönetici size bir kişiyi tercih etmenizi söyleyecektir, çünkü süreci takip eder, ancak teknik becerilerdeki eksiklikten iyi bir ekip üyesine kadar çeşitli nedenlerden dolayı kişinin sizin takımınızda kullanılmadığını bilirsiniz. Bu yüzden hala sadece bu kişiyle çalışmakla kalmayacak, aynı zamanda bu kişiye iyi puan vermeniz gerekiyor. Bunun tam tersi, iyi becerileri olan ve çok etkili bir ekip üyesi olan ancak yönetimi nasıl mutlu edeceğini bilemeyen ve dolayısıyla daha az derecelendirme elde eden kişidir.
Daha sonra uzak bir yerden uzak tutan, etkili süreçler ve en son süreç varyasyonunun üretkenliği nasıl artıracağı konusunda ders veren işe yaramaz toplantılar düzenlenir. Sıkıcı yüzünü nasıl gizleyeceğini ve enerjik görüneceğini bilmelisin.


1
"sıkıcı yüzünüzü nasıl gizleyeceğinizi ve enerjik görüneceğinizi bilmeli" hahaha
Adrien

Bu toplantı başladığında, teknikle ilgili bir şeylerin tartışılması dışında her zaman
sıkıldığımı hissediyorum
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.