it-swarm.dev

Giriş Seviyesi / Jr / Sr geliştiricileri arasındaki fark nedir?

Unvan ve ödeme dışında, fark nedir?

  • Farklı sorumlulukları var.

  • Ne kadar bilgili/tecrübeli?

  • Bir geliştiricinin bu temel yapıya nerelere uyduğunu belirlemek için temel önlem nedir?

198
JD Isaacks

Bu değişecektir, ancak ben bunu programcı türleri arasında ayrım yapacak kadar geniş bir yerde görüyorum.

Ben giriş seviyesi ve Junior aynı şey olduğunu söyleyebilirim. Sadece okul dışındalar ve iki yıldan az iş tecrübesine sahipler. Onlara en az karmaşık görevler verilir ve oldukça yakından denetlenmelidirler. Genellikle bildiklerini düşündüklerinin yaklaşık% 10'unu bilirler. Genellikle tüm gelişim döngüsü boyunca geçmemişlerdir ve bu nedenle, seçim fırsatı verilirse sıklıkla çok naif seçimler yaparlar. Ne yazık ki birçoğu aslında gereksinimin ne olduğunu umursamıyor, işleri kendi yollarına inşa etmek istiyorlar. Genellikle hata ayıklama becerileri zayıftır.

Orta seviye birçok programcının düştüğü yerdir. Bazıları tüm kariyerlerinde bu seviyede kalabilmelerine rağmen, iki yıldan fazla deneyime ve genellikle ondan daha az deneyime sahiptirler. Nispeten rutin görevlere atandıkları sürece daha az denetimle çalışma kodu üretebilirler. Genellikle yüksek düzeyde tasarım veya derinlemesine bilgi gerektiren oldukça karmaşık görevlerle görevlendirilmezler. Bununla birlikte, özellikle kıdemli bir geliştirici olmak için bölgede oldukları için uygulamanın bir parçasının tasarımı ile görevlendirilebilirler. Bakım görevlerinde veya bulmacanın sadece parçalarına odaklanabilecekleri görevlerde iyidirler, ancak üst düzey geliştiricilerle çalışmadığı veya kıdemli bir terfi için hazırlanmadığı sürece genellikle uygulamayı bir bütün olarak düşünmeleri beklenmez. Genellikle sorun giderme ve hata ayıklama konusunda iyi bir iş yapabilirler, ancak zor olanları elde etmek için gerçekten zorlanmaları gerekir. Sorunlarda, meydana geldikleri olası yere işaret eden kalıpları görmek için henüz yeterli deneyime sahip değiller. Ancak bu becerileri kazanıyorlar ve nadiren hata ayıklama yardımı istemeleri gerekiyor. Muhtemelen en az bir kez tüm geliştirme döngüsünden geçtiler ve tasarım sorunlarının sonuçlarını gördüler ve gelecekte bunlardan nasıl kaçınacaklarını öğreniyorlar. Genellikle yüz değerinde bir gereksinim alma olasılığı daha yüksektir ve bariz sorunları veya boşlukları olduğunda geri itmezler. Ne bilmediklerini bilecek kadar öğrendiler ve bu bilgiyi kazanmaya başlıyorlar. Programlama dünyasının beygirleri, muhtemelen rutin kodun% 80-90'ını ve belki de çok zor şeylerin% 10'unu veriyorlar.

Üst düzey hiç kimsenin bu soruyu sormasına bile gerek yok. Seçtikleri teknoloji yığınlarında uzmandırlar. Onlara zor görevler verilir (kimsenin nasıl çözüleceğini bilmeyenler) ve genellikle tasarım sorumlulukları alırlar. Genellikle bağımsız olarak çalışırlar çünkü malları teslim etme konusunda kanıtlanmış bir sicile sahiptirler. Genç ve orta düzey geliştiricilere danışmanlık yapmaları beklenmektedir. Genellikle şaşırtıcı sorun gidericilerdir. Daha önce aynı problemlerle karşılaştılar ve ilk önce nereye bakacakları konusunda çok iyi bir fikirleri var. Yaşlılar genellikle işyerinin dışında da mentörlük yaparlar. Genellikle en az on yıllık deneyime sahiptirler ve neredeyse her zaman en az bir ölüm yürüyüşüne çıkmışlardır ve bazı şeylerden neden kaçınılması gerektiğini tam olarak bilirler. Çalışan bir ürünü nasıl teslim edeceklerini ve son teslim tarihlerini nasıl karşılayacaklarını biliyorlar. Hangi köşelerin kesilebileceğini ve hangi köşelerin asla kesilmemesi gerektiğini biliyorlar. Uzman düzeyinde en az bir ve genellikle birkaç dil biliyorlar. İşyerinde bir sürü "sıcak yeni teknoloji" gördüler ve kayboldular, bu yüzden bir sonraki heyecan verici yeni geliştirme aracı için bandwagon'a atlamak konusunda biraz daha muhafazakar olma eğilimindeler (ancak değişime tamamen dirençli değiller - bunlar Kıdemli'e hiç sıçrama yapmayan eski Orta düzey geliştiriciler). İşlerinin, kullanıcıların eğlenceli araçlarla oynamak değil, istediklerini yapan çalışma yazılımları sunmak olduğunu anlıyorlar. Nerede çalışacakları konusunda genellikle piknik yaparlar çünkü olabildikleri ve bazı yerlerin ne kadar kötü olabileceğini ilk elden gördükleri için. Yapılacak en ilginç görevlere sahip yerleri ararlar. Genellikle birkaç aydır orada olsalar bile şirketlerinin ürünleri hakkında herkesten daha çok şey biliyorlar. Programlama bilgisinden daha fazlasına ihtiyaç duyduklarını ve destekledikleri iş alanı hakkında bilgi edinmede iyi olduklarını biliyorlar. Genellikle gençlerin hiç düşünmediği sorunların farkındadırlar ve aracılar genellikle destekledikleri iş alanındaki düzenleyici ve yasal konular gibi düşünmezler. Bir gereksinimi geri alabilirler ve geri alırlar, çünkü onunla ilgili problemlerin ne olacağını bilirler ve aynı şeyi laymanlara açıklayabilirler.

341
HLGEM

Giriş Seviyesi - onlara açık talimatlar vermeli, yaptıkları her şeyi kontrol etmeli, tasarım sorumluluğu çok az veya hiç yok, analiz sorumluluğu yok

Junior - daha az açık talimatlar, daha az kontrol, bazı küçük tasarım ve analiz sorumluluğu; giriş düzeyindeki kişilerin derleyiciyi bulmasına ve depoyu kullanmasına yardımcı olur

Kıdemli - büyük tasarım ve analiz sorumluluğunun, gözetimin kendi başına düzeltilmesi, çok az kontrol/hiç kontrol olmaması, az/hiç talimat olmaması; gençlerin analiz ve tasarım becerilerini öğrenmelerine/geliştirmelerine yardımcı olur

43
Steven A. Lowe

Gerçekten, sanırım işte ne kadar süredir devam ediyor. Eğer 10 yıllık bir tecrübeniz varsa, kıdemli bir geliştiricisiniz, eğer mezunsanız muhtemelen giriş seviyesiniz demektir. Neredeyse hiç kod yazamayan ve gerçekten ne yaptıklarını bilmeyen birçok 'kıdemli' geliştirici ve fantastik olan birçok genç geliştirici gördüm.

16
Craig

Çırak, yolculukçı ve ustanın eski okul zanaatkar yuvaları, giriş seviyesi, genç (ya da sadece önek yok) ve kıdemli için bu yuvalara iyi uyuyor.

Birisinin giriş seviyesine, derin sonuçları olmayan nispeten basit görevler verilir ve çalışmaları bir genç veya kıdemli tarafından kontrol edilir. Zamanla daha fazla sorumluluk alırlar ve yol boyunca ipleri öğrenerek daha karmaşık görevler verilir.

Bir yetişkinde (ya da sadece "giriş seviyesi"/"genç" unvanın/açıklamasından çıkarılması) çıraklığınızı tamamladınız ve şirketiniz için önemli kalkınma alanlarını kapsamış olursunuz. her birine aşina. Artık çırak eşdeğeri için rehberlik ve girdi sağlamaya yardımcı olursunuz, ancak kendi işiniz hala usta/kıdemli tarafından incelenir, ancak belki de küçükken olduğu kadar değil.

Zamanla ve başarılı projelerin teslimi nihayetinde kıdemli olursunuz. Üst düzeyde, tüm geliştirme sürecini ve ilgili tüm araçları ve teknolojileri kapsayan, bölgenizde kapsanan her şeye hakim oldunuz. Önemli teknik kararlar alma yetkiniz vardır ve yazılım geliştirme sürecine yönelik yönetime içgörü sağlamanız beklenir.

Bu nedenle, bu yönergeler göz önüne alındığında, bir kişiye veya bir pozisyona bakabilmeli ve üç seleden hangisine intiklerini belirleyebilmelisin.

8
Todd Williamson

Şirketin programcı beklentilerine kaybolacak.

Eğer işe alım şirketiysem ve bir Giriş Seviyesi programcısı tuttuysam, o kişinin hiçbir şey bilmediğini biliyorum ve her şeyi öğrenmesi gerektiğini varsayacağız. Eğer üst düzey bir kişiyi işe alırsam, teorik olarak, teknik açıdan kendi kendine yeterli olurlar.

6
Walter

Bu kesinlikle şirkete bağlıdır. Ancak kelimeler oldukça açıktır: giriş seviyesi, alana yeni giren biri, genç, giriş seviyesinin ötesinde olan ve birkaç dil teknolojisinin etrafındaki yolu bilen birisidir. Son olarak kıdemli, projeden daha fazla sorumlu olan ve daha üst düzeyde oturan kişilerdir. Genellikle kodladıkları kadar yetki verebilirler.

4
Chris

Çoğu söylediği gibi, şirketten şirkete ve işten işe değişir.

Örneğin, bir zamanlar orada 5 yıldan fazla bir süre "Üst Düzey Yazılım Mühendisi" olarak çalışan herhangi birisini düşünen bir şirkette çalıştım. Diğer uçta, çalıştığım başka bir yerde çok katı tanımlar (ve ilişkili ödeme ölçekleri) vardı.

Bazı yerler "giriş seviyesi" ve "genç" kelimelerini aynı anlama gelebilir.

Yılların deneyimine, genel bilgiye, spesifik bilgiye (yani belirli bir dilin özelliklerini bilmek), yönetim ve/veya liderlik deneyimine, bunların tüm kombinasyonlarına ve kesinlikle çok daha fazlasına bağlı olarak değişebilir.

4
Wonko the Sane

Burada gerçekten basit bir cevap vereceğim: kıdemli geliştiriciler (genel olarak) ağaçlar için ormanı görebilen insanlar. Yüzlerinin hemen önündeki konunun ötesinde düşünüyorlar ve karşılaştıkları sorunu çözmenin bir sonucu olarak mimari değişikliklerin neler olabileceğini veya olması gerektiğini anlıyorlar.

Gördüğüm çoğu yazılım şirketi, üst düzey geliştiriciler yeni insanların ne yaptığını denetlerken ve gerçekten çirkin, dikenli sorunları ele alırken, günlük kodlama yapan giriş seviyesi insanların var.

Açıkçası bu sadece benim görüşüm ve zor ve hızlı bir kural değil. YMMV.

3
MattC

Sadece iş ilanı sitelerinde bulunan ve sadece deneyim seviyeleri ile ilgili kişisel gözlemlerden alın.

Giriş = Yeni işiniz muhtemelen ilk işiniz.

Junior = İyi ama en iyi olması gerekiyordu, ayrıca genellikle 5 yıldan az ve 2 yıldan fazla deneyime sahip.

Senior = En iyi olmanız ve 5 yıldan fazla deneyime sahip olmanız gerekiyor.

2
lord-fu