Pahalı programcılar için durumu nasıl yapabilirim?


33

Şirketimizde, Mobil Kullanıcı Arabirimi geliştirmek gibi görünüşte karmaşık olmayan birçok şey yapmamız gerekiyor.

Diyelim ki deneyimli programcılar bize yeni başlayanlar kadar 4 kat mal oluyor

Her ikisi de temelde görünen basit şeyleri aynı sürede tamamlayabiliyor.

Aradaki fark, deneyimli programcıların daha az hata üretmesi ve kodlarının daha istikrarlı olması vs.'dir. Yeni başlayan programcılar herkesin (PM, müşteriler vb.) Çok fazla zamanını boşa harcar. Fakat çok daha ucuzlar.

Sayaç argümanı, HTML'de bir tablo oluşturmak için deneyimli ve yeni başlayanlarla aynı miktarda zaman almasıdır. Bu nedenle, deneyimli programcıları işe almak lüksdür, bu da yeni başlayan programcıların başarabilecekleri şeylerdir.

Alanımızdaki deneyimli ve yeni programlayıcılar arasındaki farkın 4x olabileceği düşünüldüğünde, daha fazla ve daha iyi programcılara ya da daha fazla ve daha iyi PM'e yatırım yapmalı mıyız?


18
Deneyimli programcılar daha hızlı ve daha az hatayla kod üretecek, ancak basit projeler üzerinde hızlıca çalışacaklar.
david25272

18
Let's say the experienced programmers costs us 4x as much as the beginners.- Bu pek mümkün değil. Oran daha çok 2x veya 3x. Programcılara bu kadar para ödüyorsanız, gerçekten yaptığınız şey işe almak ve ihtiyaç duyduğunuz işi yapmak için onları eğitmek, yalnızca en az miktarda deneyim aldıklarında şirketinizi daha yeşil alanlara bırakmalarını sağlamaktır.
Robert Harvey,

4
Both are basically able to complete the seemingly simple things in the same amount of time.- Tecrübeli programcı uzun vadede önemli ölçüde zaman kazandırır, çünkü ona tam olarak ne yapacağına dair daha spesifik talimatlar vermek zorunda kalmadınız.
Robert Harvey,

8
jules: Dış kaynak kullanmak / açık denizden geçmek için, çok ayrıntılı bir şartname yazmalısınız, deneyimli programcıların sadece asıl programı yazması kadar zaman alabilen bir süreç. Buna söz vermeyin, yurt dışına çıkmaya çalışanlarla konuşun. Sahibim.
Robert Harvey,

2
@Ewan: Lütfen Birleşik Krallık'ta başka bir yerde daha ucuz yazılım geliştiricileri bulmak için son iki yılda Londra'dan ayrılan büyük bir şirkete bir örnek verin.
gnasher729

Yanıtlar:


60

Her iki teorinin de gerçek dünyada denenmekte olan ilk el deneyimim var - aslında aynı projede.

Ben gelmeden önce, daha pahalı BA'lar ve çok ucuz programcılar alma kararı verildi - fikir çok kaliteli programcılar tarafından slav bir şekilde takip edilen kaliteli özelliklere sahip olmaktı.

Ana projenin 6+ aydan sonra etrafa dağılmasından sonra gelişim müdürlüğü görevini devraldım. Birkaç hijyen faktörünü düzelttikten sonra, kod kalitesi sorunu kaldı. Bir miktar yedek bütçem vardı ve çok deneyimli bir programcı (dahası bir Çözüm Mimarı), grafik dışı iletişim becerileri ve C # 'da (projenin yazıldığı dil) bir eğitimci olarak eski bir hayat kiraladım. Buradaki fikir, mentorluk ve etkili bir şekilde ücretsiz eğitim sağlayarak diğer kodlayıcıların kalitesini artırmaktı.

Bir ya da iki ay sonra, bunun işe yaramayacağı bile açık bir şekilde ortaya çıktı, böylece orjinal takım projeden çıkarıldı ve birkaç tane daha üst düzey çekmece programcısı eklendi. Orijinal ekibin sıfırdan başlayarak 3 ayda bir denemeye 8 aydan fazla bir sürede teslim edilmediği projesini teslim ettiler çünkü orjinal kod reddedilemezdi.

Gereksinimleriniz çok basitse, çok küçük bir programcı kullanarak kurtulmak mümkün olabilir, ancak uzun vadede daha pahalıya mal olacakları olasılığı. Bazen "basit" gereksinimler büyük bir karmaşıklığa dönüşür.

Yönünü değiştirmek için zor bir seçim yapmamış olsaydım, muhtemelen hala üzerinde çalışıyor olacaklardı :) - Daha cidden, bu örnekte, orijinal ekibin iletişim ve yetkinlik eksikliği, şartname ancak mimari olarak anlamlı olup olmadığına bakılmaksızın ne istenirse yapmaya çalışacaktı . Daha deneyimli ve kendinden emin bir geliştirici, sorular sordu ve temel gereklilikleri karşıladı ve bu nedenle ilk kez doğru çözümü üretti .

Oh, bir şey daha var. Hemen mükemmel bir programcı işe alabileceğinizi varsaymayın. Orada, bir çocuk kadar neredeyse kötü bir sonuç verecek, ancak bir süperstar ile aynı zamana mal olacak uzun yıllar süren vasatlık tecrübesine sahip birçok halk var. Çok iyi bir "vuruş oranım" var ama bu tecrübe ile geliyor ve benim de çok şey var. Burada konu dışı olan tamamen farklı bir sohbet konusu.

TL; DR İyi programcılar bir pazarlıktır. Zor olanı onları bulmak ve onları tutmak için yeterince çekici bir çalışma ortamı yaratmaktır.


3
Tl'nizde "Good" ile "Tecrübeli" takas ediyorum; Ayrıca, göreceli olarak az veya hiç profesyonel tecrübesi olmayan iyi programcılar bulmak oldukça olası (ancak yine de zor). Yine de, bu geliştiricilerin potansiyelinin kilidinin açılmasının tımar gerektirdiğini ve OP'nin şirketinin bunu yapmak için uygun bir kültüre sahip olmaması ihtimalinin yüksek olduğunu kabul edeceğim. Harika bir programcıya sahip olmanın bir faydası, iyi davranış ve uygulamaların rol model olması ve sıradanlık ile çelişen olmasıdır.
Derek Elkins

1
@Derek Elkins - İyi öneri, bitti. İkinci noktanla aynı fikirde. Bir işte bütçe açısından son derece kısıtlı kaldım ve hala tecrübeli bir görevli programcı ve 3 çok genç programcıdan (derece, çok az deneyimsiz) çok iyi bir takımı yeni bir işçi olarak birleştirmeyi başardım - biri özellikle istisnai idi. Ancak, onları bulmadan önce biraz para harcayan kötü özgeçmişler harcayarak çok fazla para harcadım ve küçük işleri doğru seviyede toplayarak ve çözümlerini sahiplenmelerini sağlayarak ve başarılarını kutlayarak onları daha fazla zaman / parayla eğitiyorum.
mcottle

Evet, benim deneyimim de benzer, ancak iç karartmanın ne olduğunu bilmeyen 15 yıllık bir SQL deneyimine sahip, "kıdemli" bir ekiple röportaj yapmaktan daha az iç karartıcı kötü genç özgeçmişler buluyorum. Yine de, şirkete uygunluk, sadakat, genel olarak geliştirilmiş moral yönünden eğitim maliyetinin bir miktar getirisi vardır ve açıkçası, bir kez eğitildiklerinde "tipik" bir üst düzey geliştiriciden daha iyi ve ucuzdurlar. Yine de kesinlikle bir yatırımdır ve geri ödeme süresi genellikle aksi takdirde net bir kazanç olsa bile, faydalı olmak için fazla uzak olabilir.
Derek Elkins,

Harika yayın +1. Sadece, geliştirme süresinin geliştiricinin kalitesini değerlendirmek için çok kör bir araç olduğunu belirtmeliyim. Gelişim hızı nedeniyle başlangıçta yoğun talep gören bir "süperstar" müteahhitimiz vardı. İnsanlar eşyalarını toplamaya çalıştıktan sonra, tekerlekler yakında ortaya çıktı - hackler, sert kodlama, monolitik kod, birim testleri eksikliği - yakında aceleyle paketleme sonrası gönderildi ...
Robbie Dee

Ayrıca, premium geliştiriciler, başkalarına yardım etme, kod incelemeleri, mimari, adanmışlık, kahverengi çanta seansları, atölye çalışmaları, eğitim vb. Gibi konularda yardım talebinde bulundukları için çocuklarından daha az kodlama yapıyorlar.
Robbie Dee

19

Kapsamlı performans istatistikleriniz varsa, iş vakasını matematikle yapabilirsiniz. Bunlar, geliştirme hızının, fiyat artışını telafi edeceğini veya hatta daha iyi bir şekilde, sağlam bir tasarımın sonraki sürümlerin bakım ve geliştirilmesinde daha fazla tasarruf sağlayabileceğini gösterebilir. Maalesef bu rakamlar sıklıkla bulunmuyor - özellikle yeni teknolojiler için.

Başka bir argüman pazarlamak için zaman olabilir. Bu, üst yönetim tarafından daha kolay anlaşılır. Ancak, zaman gerçekten kritik değilse, bu yardımcı olmaz.

Son çare olarak, bir resim bulmak Kırmızı Adair , ünlü itfaiyeci, az deneyimli adamlar birkaç başarısız denemeden sonra büyük bir felaketle çağırıldı. Ünlü alıntı:

Bir profesyonel kiralamanın pahalı olduğunu düşünüyorsanız, amatör bir işe başlayana kadar bekleyin.

... herkesin neyle ilgili olduğunu anlaması için renkli olarak basılmayı ve ofis kapınızda belirgin bir şekilde görüntülenmeyi hak ediyor;


Sanırım bu gördüğüm en iyi cevap ve zaten çok fazla cevap olduğundan, üst düzey bir profesyonel geliştiricinin değerinin aynı tekrarlayan şeyi daha az hatayla yapmamak olduğunu ekleyeceğim. Fikir, tekrarlayan işleri ortadan kaldırabilecek ve soyutlama seviyesini yükseltebilecek birini bulmak ve genç ekip üyelerine rehberlik etmek ve rehberlik etmektir. Uzun vadede işe yaramayan eski kötü fikirlerin sürekli geri dönüşümünden kurtulmak için üst düzey ve gençlerin gelişimine daha fazla karışmamız gerekiyor.
JimmyJames

Bence geliştirici kalitesini değerlendirmek için istatistik toplama kolay arama uzun zaman önce bu kod satırları, kusur sayısı, döngüsel karmaşıklık, kod kapsamı veya her neyse iptal edildi. Altın kaz, yeterince iyi ürün üretmek için en düşük maliyetle birleştirilebilecek geliştiricilerin doğru karışımı için bir tahmin aracıdır.
Robbie Dee

@RobbieDee Mükemmel bir modele gerek yok: sadece pratik bir yaklaşım. Örneğin, sistematik olarak geliştirme görevlerine, uygulama zamanına ve sorumlu geliştiricinin kıdem seviyesine karşılık gelen hikaye noktalarını tahmin ediyorsanız, zaman içinde çok ilginç ortalamalar toplayacaksınız. Elbette bu istatistikler sadece aynı teknolojiyle benzer aktiviteleri tahmin etmekle alakalı olacaktır. Ve sadece ortalamalar ve bir kristal kabın değil. Ancak, eğilimi göstermeye ve kıdem fiyatı oranlarını haklı göstermeye yardımcı olacak veriler elde edebilirsiniz.
Christophe

@Hristophe Öykü noktaları, bir görevin karmaşıklığını diğerine karşı karşılaştırmak içindir - bu şekilde yoğun bir şekilde kötüye kullanılmasına rağmen zamanı ölçmek için tasarlanmamıştır (2pts = 1 gün vs.).
Robbie Dee

@RobbieDee benim açımdan: performans istatistiklerini istiyorsanız, görev performans süresini ve görev karmaşıklığını karşılaştırmanız gerekir. Tüm zorluk, karmaşıklığın doğru bir şekilde değerlendirilmesini sağlamaktır. Statik pratikte ancak kolayca bir yaklaşım elde edebiliyorsanız mümkündür. Eğer FP kullanılıyorsa bu çok kesindir. Ancak FP değerlendirmesi zaman alıcıdır ve çok çevik değildir. Hikaye noktaları daha az nesneldir ancak elde edilmesi kolaydır. Tabii ki haklısınız: Ortalama yapmak istiyorsanız ölçeği doğrusallaştırmanız gerekir. Proje yönetiminde bu yaklaşıma "parametrik tahmin" denir.
Christophe

10

Ben mcottle'un cevabını sevdim ve ona karşı çıktım, fakat diğer cevapların henüz ortaya koymadığı bazı dinamikleri ve argümanları ele almak istiyorum.

Birincisi, mcottle'un cevabındaki açıklık, belirli bir beceri seviyesinin altında, bazı problemlerin sadece imkansız olduğudur. Ne yazık ki, bunu bulma şekliniz ekibiniz tarafından deneniyor ve başarısız oluyor, ki bu çokpahalı. Başarısız olduktan sonra, bundan öğrenilecek iki ders vardır. Bir seçenek, daha yetkin geliştiricilere ihtiyaç duyduğunuzu öğrenmenizdir ve bu yüzden onları işe alırsınız ve projeyi bütçenizin üzerinde ve fazla programlamanızı tamamlarsınız, ancak en azından gelecekte hazırsınız. Diğer seçenek, böyle bir projenin ekibiniz için "çok zor" olmasıdır ve gelecekte böyle şeyler denenmemelidir, yani projeden vazgeçersiniz ve benzer olanları. Elbette, nadiren "bunu yapmak için çok aptalız" olarak ifade edilir, ancak bunun yerine "sistemlerimiz çok karmaşıktır" veya "çok fazla eski kodumuz var" veya diğerleri gibi rasyonelleştirilir. Bu son görüş, bir şirketin neyin mümkün olduğu ve ne kadar uzun / pahalı bir gelişme olacağı konusundaki bakış açısını önemli ölçüde çarpıtabilir. "

Bir soru, şirketinizin planı tam olarak nedir? Tamam, ucuz, küçük programcılar işe alacaklar. Üç yıl geçti, şimdi ne? Bu üç yıl boyunca onlarla birlikte olan geliştirici ile ne yapıyorlar? Az önce ona zam yapmadılar mı? Buradaki seçenekler şunlardır:

  • Çalışanları elde tutmak için rekabetçi bir şekilde yükseltmeler yapıyorlar; bu durumda neden üst düzey geliştirici oranları ödeme konusunda bir sorun yaşarlar? Yine de buna döneceğim.
  • Durgun oranlara sahipler, bu da sonunda sürücü ve / veya vasıftan yoksun çalışanlara "kaynamak" anlamına geliyor.
  • Daha aktif çalışanlar daha aktif olarak çıkarılır.

İkinci iki dava, bir çok çalışan devri anlamına gelir; bu, şirket bilgisinin kaybı ve sürekli çalışanlara ödeme yapılması anlamına gelir. İkinci durumda, temelde kötü geliştiriciler için seçiyorsunuz ve böylece artan programlar şeklinde maliyetler artacaktır. Bunun ortaya çıkmasının yolu, X projesinde aniden daha iyi geliştiricilerden biri olan Jim ayrılıncaya kadar her şey yolunda gidiyor, çünkü iki yıl içinde bir artış elde etmedi, çünkü şimdi proje "anlaşılır şekilde" daha uzun sürecek (muhtemelen) Jim kadar iyi olmayacak yeni geliştiriciler kiralamanız ve eğitmeniz gerekiyor. Beklentileri böyle yeniden ayarlıyorsunuz.

Rekabetçi yükselmeler sağlanıyorsa bile, sahip olduğunuz tek şey küçük geliştiriciler nerede ve nasıl öğrenmeleri gerekiyor? Temel olarak, birisinin çalışma ortamına rağmen kendi başlarına iyi uygulamaları öğrenmelerini ve nihayetinde (daha yeşil meralara gitmekten ziyade) başkalarını akıl hocalanmasını umuyorsunuz . Bazı iyi geliştiricilerle "pompayı doldurmak" çok daha anlamlı olacaktır. Büyük olasılıkla bir Uzman Acemi kültürü geliştireceksiniz . Sonuç olarak, küçük geliştiricilere göre sadece biraz daha iyi ve kültürel olarak toksik olan kişilere üst düzey geliştirici oranları ödemeniz gerekecek.

Özellikle çok iyi geliştiricilerin, kimsenin bahsetmediğine şaşırmamın bir avantajı, kolayca çarpımsal bir faktör olabileceğidir . Küçük bir geliştiricinin ve bir üst düzey geliştiricinin masa hazırlamak için aynı zamana sahip olması uygun olabilir. Ancak, iyi bir geliştirici bunu yapmaz. Herkesin masa yapma zamanını azaltan bir masa jeneratörü yapacaklar. Alternatif olarak / ek olarak, herkes için mümkün olanın tavanını yükseltirler . Örneğin, Google’ın MapReduce çerçevesini uygulayan geliştiriciler muhtemelen son derece nitelikliydi, ancak kullanıcılar bileMapReduce'un algoritması, algoritmasının kitlesel olarak dağıtılmış bir versiyonunu kendi başlarına yapamaz hale getirdi, artık kolayca MapReduce ile yapabiliyorlar. Çoğu zaman bu dinamik daha az belirgindir. Örneğin, daha iyi kaynak kontrolü, test ve dağıtım uygulamaları herkesi daha iyi hale getirir , ancak belirli bir kişiyi takip etmek daha zor olabilir.

Diğer tarafını biraz tartışmak için belki üstler haklıdır. Belki daha deneyimli geliştiriciler gerekli değildir. Durum buysa, gelişmenin şirketin önemli bir parçası olmadığı görülüyor. Bu durumda, geliştiricileri tamamen ortadan kaldırır ve kullanıma hazır yazılımı kullanır veya talep üzerine müteahhit kiralardım. Neden bir şirket içi ekip yerine sadece müteahhit kullanmadıklarını keşfetmeye değer olabilir. Zaten çok sayıda çalışan karmaşası yapacaksanız, artan müteahhitlerin bir problem olmaması gerekir.


Yüklenici, bir üst seviyenin beceri seviyelerine ihtiyaç duymaları ancak bir yıllık tam zamanlı maaşın ödenmemesi durumunda, bu OP için çok uygun bir cevap olabilir. Güvenilir bir yerel müteahhitlik şirketi bulun. Müteahhit fikrinin kendi cevabına genişletilmesi gerektiğini söyleyebilirim.
saat

6

Bu bir / veya durum değil.

Özellikle daha büyük bir projede, rutin olarak üst düzey rollerde göreceli olarak deneyimli birkaç kişiye ve küçük rollerde daha az deneyimli kişilere sahip olursunuz. Bu şekilde, üst düzey insanlar sadece kod yazarak ve zor kararlar almaya yardımcı olarak doğrudan projeye yardım edemezler, aynı zamanda gençleri yönlendirerek dolaylı olarak da yardımcı olabilirler.

Bazı özenle, bu aynı zamanda kıdemli mühendislerin kendileri için zorluk veya ilgisizlik gerektiren işleri sürekli yapmaları istenerek hızla tükenmelerini önlemeye yardımcı olabilir. En azından benim deneyimimde, bazı heyecanlı junior seviye (hatta stajyer seviye) insanlara rehberlik etmek gibi bir süre bile bir sprinti çok daha ilginç hale getirebilir.

Adalet içinde, bu tür bir pozisyonun muhtemelen tüm kıdemli mühendislere uyamayacağını da eklemeliyim. Mimari ve tasarım, iletişim, dokümantasyon ve benzeri konulara büyük ölçüde vurgu yapılmasını gerektirir. Özellikle erken dönemlerde, çoğu zaman da çok fazla disipline ihtiyaç duyuyor - bir kod yazma kariyerine sahip olan biri için, küçük bir mühendisin nasıl yapılacağını öğretmek yerine, sadece kodu yazmaya atlamak cazip geliyor. Aynı zamanda kod, şahsen tercih ettiğiniz gibi olmadığında sıfırdan tam bir yeniden yazma yapmak için caziptir - iş için mükemmel bir şekilde yeterli olsa bile.

Bununla birlikte, yönetimi gerçekten deneyim düzeylerinin bir karışımıyla devam etmeye ikna edemezseniz, temelde daha fazla deneyim için gitmeniz gereken hiçbir soru yoktur . Bir projeyi tamamen küçük personele bırakırsanız, hiçbir zaman kullanışlı bir ürün elde etmemeniz ihtimali oldukça iyidir. Daha da kötüsü, yaptıklarının, kullanılabilir bir ürün için gerçek bir ilerleme sağlamadığının farkına varmazlar, bu yüzden daha deneyimli bir kişinin yaptıklarını fark ettikten çok sonra, seçilen bir yönde çalışmaya devam ederler. Baştaki temel hata ve anlamlı bir varış noktasına gelme ümidi için, yeniden bir araya gelmek, yeniden toplanmak, rulmanlarını almak ve yeni bir yönde başlamak.


5

Gerçek dünyadaki herhangi bir proje müşteri talebine dayanır ve bu nedenle düşük karmaşıklıktaki (örneğin, CRUD formları oluşturma) ve yüksek karmaşıklıktaki (örneğin olaya dayalı bildirim sistemi oluşturma) görevleri içerir. Yalnızca düşük karmaşıklık gerektiren işlere sahip olmanın tek yolu, müşterilere sürekli olarak "hayır" kelimesini söylemektir, ki şimdiye kadar duymadığım hiçbir satış departmanı yapmak istemez.

Yalnızca küçük seviye geliştiricileriniz varsa, bu yalnızca düşük karmaşıklık gerektiren işleri yapabileceğiniz ve bu nedenle yalnızca ürünlerinizi farklılaştırmak için düşük değerli bir ürün oluşturabileceğiniz ve pazarda daha fazla mücadele edebileceğiniz anlamına gelir. Farklılaştırmak istiyorsanız, kaçınılmaz olarak yüksek karmaşıklık gerektiren görevlere dönüştüren yüksek değerli işlevler oluşturmanız gerekir. Sonuçta, kolay olsaydı, değerli olmazdı. Bu, yüksek karmaşıklık gerektiren görevleri yerine getirmek için insanlara ve üst düzey geliştiricilere ihtiyaç duyduğunuz anlamına gelir.

Yalnızca üst düzey geliştiricilere sahipseniz, düşük değerli işler konusundaki becerilerini boşa harcar, söylenen işleri yapmaya zorlarken onları korumakta zorlanır, aynı zamanda daha basit işler yapmaya çalışırken mimarlık astronomi alanına girmelerini tehlikeye atarsınız. üzerinde çalışmak ilginç. Bu, bu görevleri almak için deneyimsiz geliştiricilere sahip olmanız gerektiği anlamına gelir.

Müşteri odaklı ürünler üzerinde çalışan sağlıklı bir ekip genellikle bir karışımdır. Küçük ve üst düzey geliştiriciler arasındaki oran, düşük karmaşıklık ve yüksek karmaşıklık gerektiren işler arasındaki orana bağlıdır ve bu sizin iş stratejinize bağlıdır. Eğer aktif olarak büyük miktarda düşük marjlı çerez kesici işini kolayca anlarsanız, çok fazla karmaşıklık işiniz olmayacak ve muhtemelen çoğunlukla genç seviye geliştiricileri işe alacaksınız. Daha az kar marjı altında hizmetsiz nişleri farklılaştırmak ve hedeflemek için aktif olarak çabalarsanız, birçok yüksek karmaşıklık göreviniz olacak ve çoğunlukla üst düzey geliştiriciler arayacaksınız.


3

Cevabımda, kıdemli programcıların genç geliştiricilere göre daha hızlı kodlama yapamayacağını savunacağım. Aslında, en hızlı programcılar ortalamada üniversiteden yeni ayrılan adamlar.

Etki alanı bilgisi kıdemli geliştirici için bir anahtardır. İyi bir üst düzey geliştirici, alan hakkında güçlü bir bilgiye sahip olmalıdır. Deneyimli geliştiriciler sorunu, neyi çözeceğini ve nasıl çözeceğini anlar. İşletmeler için çoğu küçük geliştiriciden daha karmaşık bir problemi çözebilirler.

Programlama nispeten ucuz bir beceri setidir, önemli olan uzman bilgisidir.


2

'Dava açmaya' çalışmayın Piyasa çalışanlar için fiyatı belirler. Pazar, deneyim için 4 kat daha fazla para vermeye hazırsa, o zaman bunun nedeni bir bütün olarak şirketlerin 4x verimlilik artışı olduğunu hesapladılar.

Şimdi açık bir şekilde piyasa yanlış olabilir, belki 3.5 ya da 5x'i ancak dijital bir ajans değilseniz, piyasaya karşı yarışıyorsanız ya da bu tür nüanslar önemli değildir.

Asıl sorun, mülakatta iyi deneyimli bir dev ile onu pataklayan eski bir dev arasında ayırım yapabilmek için yeterince iyi misin?

PM vs Geliştirici bütçesine ilişkin ikinci sorunuz. Bir geliştiricinin bir PM olmadan yapabileceğini söyleyebilirim ama bir PM geliştirici olmadan yapamaz. Önce geliştirme motorunuzu sıralayın, ardından yöneticiyi ellerinden almak için bir PM alın.


Her ne kadar bu ekonomik anlamda doğru olsa da, küçük kasabalar, kırsal alanlar gibi izole bölgelerdeki pazarlar çok eğri olabilir. Üniversite kasabaları daha iyi olabilir.
saat

doğru, ama işin bir yerde.
Ewan

2

Gerçekten iyi bir geliştiricinin maliyetinin dörtte biri için kendi ülkenizde kimseyi bulamazsınız. Birini maaşın yarısı için bulabilirsin ve bu mutlak bir başlangıç ​​olur. Maaşın dörtte birinde olan bir kişi için, ülke dışına çıkmanız gerekir. Daha sonra iletişim, sorunlara tam olarak uyan insanlar ve her türlü sıkıntı ile ilgili sorunlarınız olacaktır.

Sen lüzum iyi bir geliştirici. Daha fazla yeni programcı eklerseniz, gençlere göz kulak olma konusunda istekli ve yetenekli, güçlü iletişim becerilerine sahip iyi bir geliştiriciye ihtiyacınız vardır. İyi bir geliştirici olmadan, kaybedilirsiniz. Bazı olağanüstü yetenekli başlangıçlar bulma konusunda şanslı olabilirsiniz, ancak bir kez onların iyi olduğunu anlarsa, daha büyük bir maaş isteyeceklerdir.

İyi bir geliştiriciniz yoksa, büyük resmi gören hiç kimse yok ve stackoverflow kullanarak çözülemeyen sorunları çözebilecek hiç kimse yok. Ve reeksen ve sürdürülemez bir koda sahip olacaksınız, çünkü küçük geliştiriciler nasıl korunabilir kod oluşturacaklarını bilmiyorlar. Öğrenebilirler, ancak takımda iyi bir geliştirici olmadan olmaz.


1

Daha iyi programcı işe almanın maliyet etkin olup olmayacağına karar vermeden önce şirketinizin üstesinden gelmesi gereken bazı engeller var. Çalıştığınız yerle ilgili bazı olumsuz varsayımlar yaptığım için üzgünüm ama ne yaptıklarını bildiklerine ikna olmadım.

  1. Oluşturduğunuz yazılımın ne kadar karmaşık olduğunu doğru bir şekilde değerlendirdiler mi? Yaptıklarının çok zor olduğunu sanmıyorlar, öyleyse neden daha iyi insanları işe almalı? Hataların yapıldığı ve ne kadar iyi çözümler ve üretkenliğin para kazanacağı konusunda dava açtınız mı? Zaman kazanmak harika, ancak birçok şirket bir programcının bütün bir zamanını bir fare altlığı satın almak için para vermek yerine, boşa harcamayı tercih ediyor.
  2. Şirketiniz iyi programcılar için çekici mi? Onları tanımlayabiliyorlar mı? Bir Senior Dev'i işe almaktan daha kötü bir şey yoktur, onlara daha fazla para ödemezler ve beceri ve / veya liderlik eksiklikleri nedeniyle tüm takımı sürüklerler.
  3. Şirketiniz iyi bir programcı kullanabilir mi? Yapacakları tek şey onlara ayakkabılı manzaralar atmak ve onlara sadece inşa etmelerini söylemeleriyse, amaç ne? Onlara işleri yapmalarını sağlayacak bir özgürlük verecekler mi? Sonuçta, iyi bir programcı tanımı gereği, zamanını nasıl daha iyi kullanacağını bilir. Etrafındakileri etkiler ve diğer programcıların gelişmesine neden olurlar. Geri kalanının ürünü daha iyi yapmak için geliştirdiği daha iyi tasarımlar ve mimariler sunarlar.

Maalesef, şirketinizin iyi bir programcıyla ne yapacağını bilemeyeceğini hissediyorum, bu nedenle onları önce daha iyi yöneticileri işe almaya ve bu iç sorunları çözmeye ikna etmek isteyebilirsiniz.

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.