Bir yazılım geliştiriciden bir yazılım yöneticisine veya takım liderine nasıl ilerleyebilirim? [kapalı]


42

Neredeyse 3 yıl boyunca (yarı zamanlı veya tam zamanlı) bir yazılım geliştiricisi oldum. Ben her zaman bir şeylere öncülük etmek ve işleri halletmek için organizasyonu sağlamak için bu kadar ustalığa sahip bir insan oldum. Üniversitedeki üst düzey tasarım projemin lideri olduğumdan beri, bunun bir masa kodlamasının arkasında oturmayacağımı, gerçek çağrım olduğunu hissettim. Şimdi, diğer geliştiricilerin bana gerçekten saygı duyması için nasıl kod yazacağımı anlamam gerektiğini biliyorum. Ayrıca, kodlamayı gerçekten seviyorum. İş dışında evde birçok yan proje üzerinde çalışıyorum, en iyi kodlama uygulamalarına uyuyorum ve etki alanı hakkındaki bilgilerimi sürekli geliştiriyorum.

Asıl sorum, kariyerimi kodlama rolünden çok daha yönetsel bir rol için ilerletmeme yardımcı olacak ne tür şeyler veya fırsatlar aramam gerektiğidir. Dediğim gibi, kodlamayı çok seviyorum, ancak daha üst düzeyde bir şey tasarlayabilmeyi ve ekibi bir şeyler halledecek ve teknik olarak yardımcı olurken ilerlemelerini izleyebilecek şekilde organize etmeyi çok isterim. burada ve oradaki kararlar. Bu tür şeyler beni bütün gün kodlayan bir masanın arkasında oturmak yerine beni gerçekten mutlu ediyor.

Açıkçası ana hayallerimden biri, sonunda patlayacak ve büyük yapacak, kendi başıma bir takım yazılım üretiyor ve sonra bir ekip tutmaya başlayıp hepsini kendim yapmaya başlıyor, ama bunun olma ihtimalinin çok daha kötü olduğunu hissediyorum. sadece kariyer yolumu değiştirmek yerine gitmek istediğim yere ulaşmaktan biraz daha fazlası. Aynı memnuniyeti kendimden ziyade bir işveren için yaparken de kazanabileceğimi hissediyorum. Daha önce hiç böyle hissetmeme rağmen, aslında yapmak istediğim şeyi yapmadığım için olduğumu hissediyorum.

Akılda tutulması gereken herhangi bir ipucu, işaretçi veya bir şey var mı? Sadece bunu yapan ve eğer öyleyse, nasıl yaptın?


Ne tür bir eğitime sahipsiniz? Ne zamandır mevcut pozisyonundasınız?
Thomas Owens

Bilgisayar Bilimleri alanında lisans diplomam var. Yaklaşık bir yıldır mevcut pozisyonumdayım.

1
@slandau Ben açıkça bir PM rolü girmek istemediğinizi söylerdim. bu açık bir yön olarak görünebilir; açıklamanız ve istekleriniz bir PM rolünden farklıdır ve ben bir PM rolünün sonunda neyin peşinde olacağınıza inanmıyorum.
Aaron McIver

1
@AaronMcIver Nerede çalıştığınıza bağlıdır. Bazı PM'ler iş, bazı PM'ler doğada daha tekniktir. Bazı yerlerde, "mühendislik müdürü" daha yaygın bir ünvan olabilir veya bazılarında ise sadece "yazılım mühendisi" olabilir.
Thomas Owens

2
İlk önce ruhunu
bırak

Yanıtlar:


41

Bir yazılım geliştirme rolünden bir yönetsel veya liderlik rolüne geçmek zaman alan bir şeydir. Yazılım mühendisliği, yazılım mühendisliği sürecini vurguladım ve işletme yönetimi ve iletişim bölümlerinde okudum. Yazılım projelerini yönetme, işe alma ve işe alma, ekipleri yönetme ve gruplarla sözlü ve yazılı olarak iletişim kurma konusundaki akademik deneyime rağmen, özellikle istediğim sektörde yönetsel ve liderlik rollerinin çoğunu buldum. çalışmak için, yazılım mühendisliğinde 5+ yıllık tecrübe gerektirir (kooperatifler ve stajlar dahil 2 yaşım vardı).

Bu arada, proje yönetimi konularındaki çalışmalarıma devam ettim.

Tavsiye edeceğim ilk şey iyi bir iletişimci ve müzakereci olmak. Önemli olan konuşmaları nasıl yapacağınızı öğrenin. Bir geliştirici olarak bile, iş arkadaşları, müşteriler ve kullanıcılar ile yapılması gereken kararlar vardır. Bazen zor konuşmalar yapmanız ve herkese fayda sağlayacak bir anlaşmaya varmanız gerekir. Kolay bir hedef değil, ama Zor Konuşmalar: En Çok Neyin Tartışılacağı Kitabı Bu konuyu tavsiye edebileceğim bir tanesi. Geçmişte Hayır Alma ve Evet'e Gitme gibi başkaları da var : Vermeden Anlaşmayı Müzakere Etmek de yardımcı olacaktır. Bunlar, hangi pozisyonda olduğunuza bakmaksızın geçerlidir.

Daha teknik tarafta, yazılım geliştirme yaşam döngüsünün anlaşılması, yazılım ekiplerinin liderliği ve yönetimi için önemlidir. Liderlik pozisyonları muhtemelen gereksinim mühendisliği, yazılım sistemi mimarisi, tasarım, uygulama, test ve kalite güvencesi ve bakım görevlerinde bulunduğunuz anlamına gelir. Bunların hepsinde uzman olamasanız da, bir yönetici veya lider en azından hepsini anlamalıdır. Bir geliştirici olarak, muhtemelen tasarım, uygulama ve bakım çalışmalarınızın çoğunu bazı testlerle de yapıyorsunuz. Yazılım Gereksinimleri (ve arkadaşı, Yazılım Gereksinimleri Hakkında Daha Fazla Bilgi ), Uygulamadaki Yazılım Mimarisi (üniversiteme geçmesine rağmen ) gibi kitapları tavsiye ederim .Yazılım Sistemleri Mimarisi: Mimariler kursuna katıldıktan sonra bakış açıları ve bakış açılarını kullanarak paydaşlarla çalışmak ve bana önerildi) ve Yazılım Kalitesi Mühendisliğinde Metrik ve Modeller .

Proje yönetimi perspektifinden, süreç modelleri ve metodolojileri hakkında bilgi edinebilirsiniz. Scrum ve Extreme Programlama gibi çevik yöntemler ve Waterfall ve Spiral gibi plan odaklı yöntemler vardır. CMMI ve Kişisel Yazılım Süreci / Takım Yazılım Süreci gibi metodoloji çerçeveleri de vardır. Sizinle alakalı olanlar, endüstri ve şirket açısından çalıştığınız yere bağlıdır. Çeşitli metodolojiler ve çerçeveler üzerine birçok kitap var, ancak genel olarak bir yazılım mühendisliği yönetimi ve yazılım mühendisliği süreci için Hızlı Geliştirme: Vahşi Yazılım Programlarının Tamize Edilmesini şiddetle tavsiye ederim .

Eğitiminize devam etmek isterseniz, bir işletme yönetimi izine karşı daha fazla teknik yönetim izine bakabilirsiniz. Teknik bir yönetim pozisyonu istiyorsanız, yazılım mühendisliği, yazılım mühendisliği yönetimi ve mühendislik yönetimi programlarına bakın. Bir işletme yönetimi parçasının daha fazlası için, MBA programlarını, işletme yönetimini veya güçlü bir ekonomi veya finansal yapıya sahip bazı mühendislik yönetimi programlarını düşünebilirsiniz.


1
Evet, ama gerçekten kıdemli yazılım mühendisinden menajere nasıl geçiyorsunuz? Demek istediğim, yukarıda listelenen her şeyi bildiğimi sandığımı varsayalım, resmi bir menajerlik rol deneyimim olmadığını ve sadece tüm bunları bildiğimi hissettiğimi düşünerek bunu yapabildiğimi kanıtlamak için ne yapabilirim? Kişi bu adımı nasıl atıyor?
trusktr

19

Bu diğer cevaplar harika ama 0,02 dolarımı atacağım. Şu anki şirketimdeki küçük geliştiriciden üst düzey geliştiriciye, sonra da takım lideri ve şimdi mimara taşındım. Birkaç yıl aldı. Ne zaman terfi etsem, bunun nedeni zaten işin bazı yönlerini yapıyor olmamdı ve yönetimim bunu tanıdı ve bana uygun bir ünvanı veriyordu. Bu yüzden benim tavsiyem, size teknik bir lider veya bir yönetici olduğunuzu söylemek için beklememek. Sadece bu rollerdeki kişilerin sahip olduğu sorumlulukları üstlenmeye başlayın. Birkaç ay veya bir yıl sonra, temelde hedeflediğiniz işi yaptığınızı göreceksiniz ve fark etmediyseniz, bunu yönetiminize işaret edebilirsiniz.


2
Tek bir şirkette söylediklerinizi yapmaktan kovuldum (ve beni daha sonra kovan müdür de şirketten ayrıldı). İyi bir uyum değildi. Her zaman şirkette üst sıralara gelmek, çok rekabetçi ve merkezci olmak için bir mücadele olduğunu hissettim. İnsanların daha önce yaptıklarından daha büyük şeyleri denemek ve başarmak için inisiyatif aldıklarında, zaten daha yüksek olanlardan destek, teşvik ve yönlendirme aldıkları bir şirkette olmak çok daha iyi.
trusktr

9

Thomas Owens zaten iyi bir tavsiye (+1) listelediği için tam bir cevap vermeye çalışmıyorum.

Sadece birkaç ipucu / öneri eklemek istedim:

  1. Birinin seni yönlendirmesini beklemeyin; Sadece yapmaya başla. Yani şu anki patronuna karşı gelmek istemem ama onun yerine ona yardım etmek için inisiyatif al. Patronun benimkine benziyorsa, genellikle plakasında çok fazla görev / toplantıyla aşırı yüklenir. Eğer yetişmek için yeterli zamanı olmayacağı bir yön verdiğinizi görüyorsa, büyük olasılıkla size bazı yönetim sorumluluklarını devretmek için çok mutlu olacaktır. Zaman geçtikçe, bu hakkı yaparsanız, patronunuz size daha fazla yardım edecek (endişelenmesi gerekenler için daha az) ve resmi lider olduğunuz bir noktaya daha fazla sorumluluk alma konusunda sizi destekleyecektir.
  2. Ekip oluşturma ve liderliğin teknolojiden çok sosyoloji ile ilgili olduğunu unutmayın (popüler yazılım metodoloji kitaplarından birinden belki de Brooks). Bir lider olarak hedefiniz insanları ve nasıl davrandıklarını anlamaktır; bu, bilgisayarların nasıl çalıştığını anlamaktan çok farklıdır. Bu farkındalık olmadan, iyi mühendisler en kötü takım liderlerinden bazılarını yapar çünkü bu zihinsel değişimi yapmazlar ve insanları makineleri kontrol ettiğiniz gibi kontrol edemeyeceğinizi fark ederler. Aslında işe yarayan tek yaklaşım insanları kontrol etmek değil, onlara yön vermektir. Liderlik hakkında kitap / makale / blog okuma, okuma ve okumaya devam edin. Tavsiye edebileceğim bir kitap Management 3.0.

... ve şimdi Thomas'ın gönderdiği bağlantıları gözden geçiriyorum



Bu, kötü bir öneridir; birisinin, patronunun yapmasını istemediği bir şeyi yapmasını öneren, çoğu patronun, yapmaları istenmediği şeyleri yapan insanların üzerine kaşlarını çattığını söyler.
Profesör

Bu soruyu 5 yıl önce geliştiriciyken cevapladım. Şimdi geri dönüp, bir yönetici perspektifinden okumak için alıyorum. @Bonner - haklısın. orada farklı tarzlarda farklı menajerler var. Yapmanız söylenmeyen bir şey yaparsanız bazıları size kaşlarını çattıracak. Bu durumda, sana tavsiyem o yöneticiden kaçıyor. Liderlik yaptığımdan beri yaptığım her şey, adamlarıma bağımsız düşünmeyi ve beni değiştirebilir yapmayı öğretiyor. Her birinden, kendi görev (ler) inin dar odağı arasında denge kurmalarını isterim ama aynı zamanda kendini irdelemeyi ve daha geniş bir resim görmelerini istiyorum.
DXM

5

Kişisel olarak şu anda mevcut konumumdan ayrılma isteğim yok, ancak sürüm döngüsünün neresinde bulunduğumuza bağlı olarak kodlama dışındaki görevler için zamanımın% 10 ila% 100'ü arasında herhangi bir yere harcıyorum. Sabırlı ve gözlemciyseniz, şu anki pozisyonunuzda "sadece kodlama" dışında bir şey yapmak için yapabileceğiniz birçok fırsat vardır. Örneğin:

  • Yeni bir ekip üyesine mentorluk yapmak için gönüllü olun.
  • Şirketin benimsemeyi düşündüğü yeni araçlar, işlemler veya teknolojiler konusunda uzman olun.
  • İşlevsel komiteler için gönüllü.
  • Sahip olduğunuz fikirler hakkında konuşun.
  • Yaklaşan özellikler için toplantılar tasarlamaya kendinizi davet edin.

Yöneticinize, bu tür fırsatlarla ilgilendiğinizi ve mevcut sorumluluklarınızı iyi yaptığınızı farz edersek, fırsatları ortaya çıktığında size doğru yönlendirecektir. Girişim çok şey sayar. Çoğu yönetici şu anda nitelikli olduğunuzu düşünmese bile en azından gözlemlemenize izin verecektir.


4

Bir proje yönetimi rolüne geçmek istiyorsanız, o zaman kesinlikle gece dersleri almak ve MBAinize doğru çalışmaktan zarar gelmez.

Diğer bir seçenek PMBOK Proje Yönetimi Bilgi Belgesi belgesine bakmaktır . Birkaç yıllık gerçek liderlik deneyiminiz veya yukarıda sıralanan iki maddeden biri olmadıkça birçok yer sizi düşünmeyecektir.

PMBOK son derece zor bir sınavdır ve sınavı geçmek için çok fazla çalışma gerektirir. Ayrıca teste katılmak için gerçek proje yönetimi ve liderlik deneyimi ile ilgili gereksinimleri olduğunu düşünüyorum.


3
Belki de sadece benim, ama özellikle teknik yönetim veya liderliğe girmek istemeniz durumunda, bir yazılım mühendisliği yönetimi derecesi veya bir mühendislik yönetimi derecesi yönelebilirim. Mühendislerin MBA yaptığını ve bir yazılım programının iş tarafına atıldığını, aslında mühendisleri yönetmediğini ya da yönetmediğini gördüm.
Thomas Owens

@ThomasOwens, bu iyi bir not. Her zaman MBA almak için tereddüt ettim, çünkü bunun en teknik yerlere tercüme edilip edilmeyeceğinden emin değildim.
slandau

PMP sınavı o kadar da zor değil.
Morons

@Moronlar Bir kaç PM bana deneyimleri hakkında söylediklerine devam ediyorum, asla kendim almadım. Ama şimdi düşündüm ki, bu iki insan o kadar da parlak değildi.
maple_shaft

2

Bana öyle geliyor ki, Proje Yönetimi'ne doğru çalışmak isteyebilirsiniz. Yazılım geliştirme dahilinde çok sayıda PM pozisyonu da kodlama deneyimi gerektirir.

Size arzu ettiğiniz yönetim / lider gemisini getirecek sorumluluklara girebileceğiniz konumlar ararım. Merdiveni yukarı kaldırırken, çalıştığınız yerde işlerin nasıl yürüdüğüne bağlı olarak farklı görünebilir. Ancak, daha az miktarda kodlama deneyimiyle bile, liderlik, yönetim deneyiminiz varsa, PM pozisyonları mevcuttur.


Asıl soruda şöyle yazılmıştı: "... kariyerimde kodlama rolü yerine daha yönetsel bir role ilerlememe yardımcı olacak ne tür şeyler veya fırsatlar aramalıyım ...". @slandau, bunun nasıl yapılacağı konusunda öneri arıyor.
Thomas Owens

1
Evet katılıyorum. Bunun için çalışmaya nasıl başlayacağım hakkında herhangi bir ipucunuz var mı?
slandau

Evet, istemeden önce yanlışlıkla posta düğmesine basıyorum.
D. ..

@D .., bazı liderlik deneyimlerim var ama bunların hepsi üniversitede yaptığım yan projeler ve projelerdeydi ... bunun yeterli olup olmadığından emin değilim. Bu mu?
slandau

Büyük olasılıkla değil, size bunu veren herhangi bir profesyonel iş deneyimine odaklanmak istiyorsunuz. Bazı yerlerde üst düzey geliştirici rolüne doğru çalışmayı daha kolay bulabilirsiniz. İstediğiniz şeyi yapan açık pozisyonlara göz kulak olurum, gereksinimlere bakar ve en yaygın olanları elde etmek için her türlü fırsatı değerlendiririm. Çalıştığım yerlerin çoğu küçüktü ve fazla çaba sarf etmeden düzgün bir şekilde bir sonraki seviyeye geçmeme izin verdi. Şu anki işine bak ... oraya taşınabilir misin? Belki şimdi bulunduğunuz yerden faydalanabileceğiniz belli bir yol vardır.
D. ..
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.