Entry Level / Jr / Sr geliştiricileri arasındaki fark nedir? [kapalı]


198

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

  • Onların farklı sorumlulukları var.

  • Ne kadar bilgili / deneyimli?

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

Yanıtlar:


341

Bu değişkenlik gösterebilir, ancak programcı türleri arasında ayrım yapmak için yeterince büyük bir yerde görüyorum.

Giriş seviyesi ile Junior'ın aynı şey olduğunu söyleyebilirim. Onlar sadece okul dışında ve iki yıldan az iş deneyimi var. En az karmaşık görevlere atanırlar ve oldukça yakından denetlenmeleri gerekir. Genel olarak bildiklerini düşündüklerinin% 10'unu bilirler. Genellikle, tüm gelişim döngüsü boyunca olmadılar ve bu yüzden, seçme fırsatı verilirse, genellikle çok saf seçimler yapıyorlar. Ne yazık ki çoğu aslında gereksinimin ne olduğu umrunda değil, işleri kendi yollarına inşa etmek istiyorlar. Genellikle zayıf hata ayıklama becerilerine sahiptirler.

Orta seviye, pek çok programcının düştüğü yerdir. Bazıları tüm kariyerlerinde bu seviyede kalabilseler de, iki yıldan fazla bir deneyime ve genellikle ondan daha az deneyime sahiptirler. Nispeten rutin görevlere atandıkları sürece çalışma kodunu daha az denetim altında üretebilirler. Genelde yüksek düzeyde tasarım veya derinlemesine bilgi gerektiren çok karmaşık görevlerle görevlendirilmezler. Ancak, özellikle üst düzey bir geliştirici olma bölgesinde olduğu gibi, uygulamanın bir parçasının tasarımı ile görevlendirilebilirler. Bakım çalışmalarında veya bulmacanın sadece bir parçası üzerinde odaklanabilecekleri görevlerde iyidirler, ancak genellikle üst düzey geliştiricilerle çalışmadan veya üst seviyeye terfi için hazırlıklı olmadıkça başvuruyu bir bütün olarak düşünmeleri beklenmez. Genellikle iyi bir sorun giderme ve hata ayıklama işi yapabilirler, ancak zor olanları bulmak için gerçekten uğraşmaları gerekir. Sorunları, meydana geldikleri muhtemel yere yönlendiren problemleri görmek için henüz yeterli deneyime sahip değiller. Ancak bu becerileri kazanıyorlar ve nadiren hata ayıklama yardımı talep ediyorlar. Muhtemelen en az bir kez tüm gelişim döngüsü boyunca olmuşlardır ve tasarım problemlerinin sonuçlarını görmüşlerdir ve gelecekte nasıl önlenebileceklerini öğreniyorlar. Genellikle, yüz değerinden bir gereksinim alma eğiliminde olma eğilimindedirler ve bariz sorunları veya boşlukları olduğunda geri itmeme eğilimindedirler. Ne bilmediklerini bilmek için yeterince bilgi edindiler ve bu bilgiyi edinmeye başladılar. Onlar programlama dünyasının işgücüleridir,

Üst düzey bir kimsenin bu soruyu sorması bile gerekmez. Seçtikleri teknoloji yığınlarında uzmandırlar. Zor görevler (nasıl çözüleceğini kimse bilmez) verilir ve genellikle tasarım sorumluluğu alırlar. Genellikle bağımsız çalışırlar çünkü malları teslim ettikleri kanıtlanmış bir sicile sahiptirler. Genç ve orta geliştiricilere rehberlik yapmaları beklenir. Genellikle şaşırtıcı sorun gidericilerdir. Daha önce aynı problemlerle karşılaştılar ve ilk nereye bakacakları konusunda çok iyi fikirleri var. Yaşlılar genellikle işyeri dışında da mentordur. Genellikle en az on yıllık bir deneyime sahiptir ve neredeyse her zaman en az bir ölüm yürüyüşüne çıkmıştır ve bazı şeylerden neden kaçınılması gerektiğini tam olarak bilirler. Çalışan bir ürünün nasıl teslim edileceğini ve son teslim tarihini nasıl karşılayacaklarını biliyorlar. Hangi köşelerin kesilebileceğini ve hangi köşelerin hiç kesilmemesi gerektiğini bilirler. Uzman düzeyinde en az bir ve çoğu zaman birkaç dil biliyorlar. Bir çok "sıcak yeni teknolojinin" işyerine isabet ettiklerini ve kaybolduklarını gördüler, bu yüzden bir sonraki heyecan verici yeni geliştirme aracı için (henüz değişime karşı tamamen dirençli değillerdi) çoğunluğa değindiler. daha yaşlı olanlara asla sıçrama yapmamış eski orta seviye geliştiriciler). İşlerini, kullanıcıların istediklerini yapan, eğlenceli araçlarla oynamamak için çalışan bir yazılım sunmak olduğunu anlıyorlar. Nerede işe yarayacakları konusunda sıkıcıdırlar, çünkü olabilirler ve ilk elden bazı yerlerin ne kadar kötü olabileceğini gördüklerinden. Yapılacak en ilginç görevlere sahip yerleri ararlar. Genellikle birkaç ay olsalar bile şirketlerinin ürünleri hakkında herkesten daha fazla şey biliyorlar. Programlama bilgisinden daha fazlasına ihtiyaç duyduklarını biliyorlar ve destekledikleri iş alanı hakkında bilgi edinmede iyiler. Genellikle gençlerin asla dikkate almadığı sorunların farkındadırlar ve orta dereceli kişiler genellikle destekledikleri iş alanındaki düzenleyici ve yasal konular hakkında düşünmezler. Bir gereksinimi geri alabilirler ve geri çekebilirler, çünkü sorunların ne olacağını biliyorlar ve meslekten olmayanlara da aynı şeyi açıklayabilirler.


2
"Orta seviye" nin bir başlığı (İngilizce) var mı? Google tercümanı "Tam geliştirici" kullanıyor. Ama bu değerli bir kaynak değil =)
Michel Ayres

23
Mükemmel, hikaye benzeri bir açıklama. Okumaktan zevk aldım.
Saeed Neamati

1
Bu açıklama için teşekkürler. İOS dev'de (hiçbir uzmanlık eğitimi yok) kendi kendime öğrendim ve bazı önemsiz özelliklere sahip olan ilk uygulamamı (yani CRUD'ın JSON'u, bazı sosyal bileşenleri, iyi tasarım) yayınladım. Harika bir programcı olduğumu sanmıyorum ama uygulamayı en başa geri yazdım ve neye nakliye edeceğimi anladım. Benim gibi birini varsayımsal olarak nereye yerleştirirsin?
SamYoungNY

1
@NYCTechEngineer, iyi yığın taşması akla geliyor. Ayrıca yerel kullanıcı grupları, bloglama, makale ve kitap yazma.
HLGEM

1
@BrianHaak Thx - söylediklerin ilginç. Geçen yıldan beri öncekinden çok daha büyük bir projede çalıştım. Birkaç ay önce yazdığım koda bir göz atıp “wtf? Bunun iyi bir fikir olduğunu kim düşündü?” Diyerek edindiğim hissine kapıldım. :) - Bu projeyi küçük bir çekirdekten başlayarak kolayca genişletilebilecek ve içerik eklemek isteyen olmayanları barındırabilecek bir projeye başlatmak beni daha yüksek seviyeli bir yapı hakkında düşünmeye zorladı. Eşleştirme wa daha deneyimli programcı bana çok fazla opp eksik olduğumu gösterdi. soyutlamaları kullanmak için. Ayrıca ad alanıyla ilgili sorunum var.
SamYoungNY

43

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

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

Üst düzey tasarım ve analiz sorumluluğunun, denetimleri kendi başına, çok az / kontrolsüz, az / az talimatla düzeltmesi beklenir; Junior seviyedeki insanların analiz ve tasarım becerilerini öğrenmesine / geliştirmesine yardımcı olur


20
Güzel, sadece üst düzey için "kontrol / talimat yok" ile tamamen aynı fikirde olduğumu bilmiyorum dışında. Bir ekip üzerinde veya bir ekiple birlikte çalışmadıkça hiç kimse tamamen bir ada olmamalıdır.
San'ko Santo

@WonkotheSane, herhangi bir codeReview veya pull isteği olmadan hatalı kodları birleştiren bir kişiye sahibiz. Sadece her yerde gözlem paterni kullanmak dışında uygulama mimarisi hakkında pek fazla tartışmaz. Tüm kararları kendi başına verir, böylece yeni bir şeye adapte olmaz . Bütün o çünkü olan bir ada kendisi. İçinde yok. O ise ada :(
Bal

16

Gerçekten, bence ne kadar zamandır bu işte çalışıyorsun? Eğer 10 yıllık bir deneyime sahipseniz, kıdemli bir öğrenci olursunuz, mezunsanız, o zaman muhtemelen giriş seviyesindesiniz. Neredeyse kodlayabilen ve ne yaptıklarını gerçekten bilemeyen pek çok 'kıdemli' dev gördüm ve fantastik olan birçok genç dev gördüm.


7
Bu benim deneyimlerimi yansıtıyor. "Kıdemli", şirketle olan zaman anlamına gelir ve genellikle başka bir şey yoktur; beceri bir iotada faktör değildir. Deneme-yanılma gelişiminin ötesinde yazılım hakkında hiçbir şey bilmeyen, ancak 5 + yıl boyunca şirkette olan ya da ilk kez çalıştığı ilk programcı olan birçok "üst düzey" geliştiriciyle (ve bu konuda yöneticilerle) çalıştım. yer başladı ve görev nedeniyle terfi etti.
Wayne Molina,

8

Eski okul ustalarının çırak, yolculuk görevlisi ve ustalık dilimlerinin giriş seviyesine, küçüklüğe (ya da sadece ön eke) ve son sınıfa uygun bir şekilde bu yuvalara sığdığını düşünüyorum.

Birine giriş seviyesi, derin sonuçları olmayan nispeten basit görevler verilir ve çalışmaları bir küçük veya yaşlı tarafından kontrol edilir. Zaman geçtikçe daha fazla sorumluluk alırlar ve yol boyunca ipleri öğrenerek daha karmaşık görevler alırlar.

Bir gençlikte (veya sadece "giriş seviyesi" / "junior" un başlık / tanımdan çıkarılması) çıraklığınızı tamamladınız ve her büyük alana dalmanız için şirketiniz için önemli gelişim alanlarını ele aldınız. her biri ile tanıdık. Artık çıraklık eşdeğeri için rehberlik ve girdi sağlamanıza yardımcı oluyorsunuz, ancak kendi çalışmanız hala küçükken olduğu kadar olmasa da, usta / kıdemli tarafından inceleniyor.

Zamanla ve başarılı projelerin teslimi sonunda kıdemli olursun. Üst düzeylerde, tüm gelişim sürecini ve ilgili tüm araç ve teknolojileri kapsayan, bölgenizde kapsanan her şeye hakim oldunuz. Önemli teknik kararlar vermeniz için yetkilendirilmişsiniz ve yazılım geliştirme sürecinde yönetime bir bakış açısı sağlamanız bekleniyor.

Bu nedenle, bu kurallar göz önüne alındığında, bir insana veya bir pozisyona bakabilmeli ve hangi üç kutudan hangisine girdiklerini belirleyebilmelisiniz.


6

Şirketin programcının beklentilerini azaltacak.

İşe alım şirketiysem ve Giriş Seviyesi programcısı tutuyorsam, o kişinin hiçbir şeyin yanında olduğunu bildiğini ve her şeyi öğrenmesi gerektiğini varsayacağımızı biliyorum. Üst düzey bir insanı teorik olarak işe alırsam, teorik olarak, teknik açıdan kendi kendine yeterli olacaklardır.


4

Bu kesinlikle şirkete bağlı. Ancak kelimeler oldukça açıktır: giriş seviyesi alana yeni giren, küçük seviye giriş seviyesinin üstünde olan ve birkaç dilde teknolojiyi bilen biri. Son olarak, projeden daha fazla sorumlu olan ve daha üst bir seviyede oturanlar kıdemlidir. Genellikle kodladıkları kadar yetki verebilirler.


Bunu anlıyorum, ancak hangi noktada “giriş seviyesinin ötesinde” veya “küçüklerin ötesinde”? Her zaman öğreniyorsanız, o zaman her gün bir gün önceki olduğunuzu aştınız demektir.
JD Isaacks,

Giriş seviyesi kolay, fakat daha küçük veya daha ileriyi önerebilecek deneyim / bilgi örnekleri arıyorum.
JD Isaacks,

Söylediğim gibi, bu, şirkete, söz konusu teknolojinin / dillerin içeriğine ve daha özel olarak da resmi iş ünvanlarından bahsetmediğiniz sürece, bunun bir mesele olduğuna bağlı. Lanet şeyi kendim yazmadığım sürece, kendimi hiçbir dilde uzman olarak göreceğimi sanmıyorum.
Chris

Ek olarak, bir şirketdaysanız jr, sr geliştiricilerine bakın ve kendinizi onlarla karşılaştırın / karşılaştırın. Bu, söz konusu şirkete özel bağlamda iyi bir göstergedir.
Chris

4

Çoğu kişinin dediği gibi, şirketten şirkete ve işten işe değişir.

Mesela bir keresinde 5 yıldan fazla bir süre orada çalışan birini "Kıdemli Yazılım Mühendisi" olarak nitelendiren bir şirkette çalıştım. Diğer uçta, çalıştığım başka bir yerde çok katı tanımlara (ve ilişkili ödeme ölçeklerine) sahipti .

Bazı yerler "giriş seviyesi" ve "junior" ı aynı anlama geldiğini düşünebilir.

Yılların verdiği tecrübe, genel bilgi, özel bilgi (yani belirli bir dilin özelliklerini bilmek), yönetim ve / veya liderlik tecrübesi, bunların tüm kombinasyonları ve kesinlikle daha fazlasına bağlı olarak değişebilir.


3

Buradaki basit cevabı bulacağım: kıdemli geliştiriciler (genel olarak) ağaçları ormanı görebilen insanlar. Hemen önündeki sorunun ötesinde yüzlerinin önünde düşünürler ve karşılaştıkları sorunu çözmenin bir sonucu olarak hangi mimari değişikliklerin olabileceğini veya olması gerektiğini bilirler.

Gördüğüm çoğu yazılım şirketi, giriş seviyesindeki kişilerin gün geçtikçe kodlama yaparken, yaşlılar yeni insanların ne yaptığını ve gerçekten çirkin, dikenli meseleleri ele aldıklarını denetliyor.

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


2

İş ilanı sitelerinde ve sadece tecrübe seviyelerinde bulunan kişisel gözlemlerden ve basitçe belirtiniz.

Giriş = Yeni muhtemelen ilk işin.

Junior = Sizin iyiliğiniz, ancak en iyisi olması gerekmiyorsa, genellikle 5 yıldan az ve 2 yıldan fazla deneyime sahip olursunuz .

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


Bir ortamı kaçırdın.
Neolisk
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.