Bir dili kullanarak Kıdemli Geliştirici olmak, başka bir dil kullanarak Kıdemli Geliştirici olmak için uygun mu? [kapalı]


27

Bir dilde bir Geliştirici olarak çalışırsam (örneğin Java) ve Üst Düzey Geliştirici'ye kadar çalışırsam, bu başka bir dili (örneğin Ruby) kullanan bir pozisyon için Üst Düzey Geliştirici olmaya hak kazanır mı?


2
@Philip - Bu soru gerçekten birkaç cephede sınırda olan bir soru. Sınır çizgisi "fazla yerelleştirilmiş" çünkü gerçekten sadece sizin için değere sahip olacak ve SSS'imizde listelenen soruları sorma kurallarına gerçekten değinmediğinden "yapıcı değil" sınır çizgisi. Bu soruyu düzenleyebilir ve yönergeleri ele alabilirseniz, soruyu kaydetmeye değer olabilir.
Walter

8
@Walter - Yerelleştirme konusundaki ilk yorumunuzla aynı fikirde değilim. Bu, bir dilde kıdemli bir geliştirici olmanın size başka bir üst düzey geliştirici pozisyonu sağlayıp sağlamadığına dair genel olarak uygulanabilir bir soru / cevaptır.
Craige

1
@Walter - yerelleştirme sorunları kaldırıldı, şimdi muhtemelen makul olduğunu düşünüyorum.
Jon Hopkins,

1
@Walker - Üzgünüm, soru Craige'in dediği gibi. Ben böyle yazdım çünkü Junior kabul edilen çoğu programcının bir gün Kıdemli Geliştirici olmak istediğini farz ediyorum. Doğru Junior pozisyonu seçmek bu nedenle çok önemlidir (veya değil)
Philip

11
Bu soru "Kıdemli Geliştirici" nin genel olarak kabul edilmiş bir anlamı olduğunu varsayar gibi görünüyor. Bu normalde bir iş unvanı türüdür ve bir iş unvanı, sizin ve işvereninizin hemfikir olduğu şeydir.
David Thornley

Yanıtlar:


33

Bunu yanıtlamanın en iyi yolu, bir Geliştirici ile bir Kıdemli Geliştirici arasındaki farkın ne olduğuna bakmaktır. Bunun sadece bir zaman hizmetinin olmadığını düşünerek, genel olarak hem Geliştiricilerin hem de Üst Düzey Geliştiricilerin şunları yapabilmesini bekliyorum:

  • Rolün gerektirdiği dillerde kodları uzman bir şekilde yaz
  • Hataların teşhisi ve düzeltilmesi
  • Birim testleri yaz
  • Standartları ve makul en iyi uygulamaları izleyin (sürüm kontrolü, dokümantasyon)
  • Geniş bir temel teknik uzmanlığa sahip olmak
  • Profesyonel bir şekilde hareket etmek

Ek olarak bir Üst Düzey Geliştirici'nin şunları yapmasını bekliyorum:

  • Diğer çalışanlara en iyi uygulamalarda mentorluk yapmak
  • Ekip tarafından kullanılan dillerin en azından bazıları için referans noktası olun ve onaylayın.
  • Aktif olarak en iyi uygulama alanlarını araştırın ve şampiyonlayın
  • Daha karmaşık sorunların / kod alanlarının teknik sahipliğini alın ve sağlam çözümler sağlayın

Öyleyse, soru şu olur: ikinci (veya üçüncü veya dördüncü) diliniz için genişletilmiş kriterleri yerine getiriyor musunuz? Teknik olarak, yetiştiğiniz dilde yeteri kadar yetkin olduğunuz sürece, daha sonra, Kıdemli Geliştirici işlerinin çoğunun aktarılabilir olma eğiliminde olduğu, evet diyebilirim.


1
Bu gerçekten çevreye, özellikle de patrona bağlı. Bazı "Sr" ler, her konuda, özellikle de "jr" nin bir konuda daha fazla bilgi ve deneyime sahip olabileceği durumlarda bilgilerini göstermeleri gerektiğini düşünmektedir. C ++ geçmişi olan bir Sr. bir C # projesinde çalışırken bazı ciddi gerginlikler oluşabilir. Bir "jr" bu özel çerçeve için daha büyük bir bilgi tabanına sahip olabilir. Bu, özellikle patron dinlerken, bazı sıcak savaşlara neden olabilir.
P.Brian.Mackey

@ P.Brian.Mackey - Yeterince adil, aynı başlıkta farklı işler arasında oldukça ağır farklılıklar var. Oldukça genel (ve mantıklı) bir tanım olduğunu düşündüğüm şeye gittim, ancak “30 yaşın üzerinde” ile “her şey hakkında her şeyi bilir” arasında değişebilir.
Jon Hopkins,

1
BF'den daha karmaşık olan herhangi bir dilde ikinci diliyle iyi şanslar ... C'nin bile beklediğinizden daha karanlık köşeleri var!
SamB

'Bazı' Sr'ler 'her konuda bilgilerini göstermeleri gerektiğini düşünüyor'. Bu insanlara rahatlamaları söylenmeli. Bilmediğin şeyler olduğunu kabul etmezsen, hiçbir şey öğrenemezsin. Bir şeyin cehaletini özgürce kabul edebilme yeteneği, zayıflığın değil bir güç belirtisidir.
PeterAllenWebb

1
+1 Bazı becerilerin ancak tüm becerilerin aktarılabilir olmadığını belirtmek için. Bunu koymak için harika bir yol.
Nicole

5

Mevcut durumunuz ne olursa olsun herhangi bir şirkette istediğiniz pozisyona başvurabilirsiniz.

Özgeçmiş / kapak mektubunuz / görüşmenizdeki işin sizde olduğunun kanıtı size kalmış olacaktır.


5

Bay Developers ile röportaj yaparken aşağıdaki özellikleri ararım.

  • Birden çok dilde çalıştı
  • En az bir uzman, en az bir uzman, tercihen farklı bir paradigmada
  • Seçilen alandaki güncel teknolojilerden, en son teknolojiden, vb. Haberdar olmak.
  • İyi CS temeli yani (algoritmalar, algoritmik maliyetleme, veri yapıları vb.)
  • Belirli bir sorunun detayları ve büyük resim arasında geçiş yapabilme
  • İşlerin yanlış yöne doğru hareket ettiğini ve nedenini açıklayın; ve sonra bu yanlış yöne devam edebilme (yani profesyonellik)
  • Mentor'a yeteneği
  • Takım içinde ve takımla çalışabilme

Aradığım sayısız şey var ama bunlar ana konular.

İşyerinde kullanılan dilde uzman olmayan Bay Geliştiricilerin işe alınmasını tavsiye etmeme rağmen, benzer dillerde uzmanlardı.


3

Başvurabilirsiniz ama en azından işe alım yapıyor olsaydım, sizi işe alabilir ya da çalışmayabilirim.

Kıdem (en az) iki alanla ilgilidir. Genel gelişim uzmanlığı ve dil / çerçeve uzmanlığı. (Ben bilerek iş-uzay-bilgisini dışarıda bırakıyorum) şu anda. Kitaplarımda kıdemli bir geliştirici olmak ayrıca bir tasarım / mimarlık uzmanlığı seviyesine de sahip. İyi / test edilebilir sistem vb.

Java'da bu seviyeye gelmek , diğer (benzer / prosedürel) dilleri iyi durumda tutmanızı sağlamalıdır .

Ancak bu beklenen hızlı üretkenlik çağında, Ruby hakkında Java kadar bilgi sahibi olmanız pek mümkün değildir. Sisteminizi Java dostu yapılar yerine Ruby uyumlu yapılara nasıl ayırabilirsiniz. Muhtemelen bazı Java çerçevelerini biliyorsunuzdur, Rails veya diğer Ruby'ye özgü şeyleri değil.

Sizden, görüşme sırasında Ruby'de beyaz tahta kodlaması yapmanızı isteyecek olsam, yapabilir miydiniz?

Tüm bunlar, herhangi bir düzeyde sizi işe alıp almaya kararımı verecek; ama özellikle üst düzey bir rol için.

İyi şanslar


Cevabınız için teşekkürler, evet Ruby'de beyaz tahta kodlama yapabilirim (aynı C ++, Java için). Aslında kendimi şu an Ruby'de Java'da olduğundan daha ustalıkla düşünüyorum, çünkü bir yıldan beri Ruby üzerine kurulu özel bir projede çalışıyorum.
Philip

3

Hayır!

Mesleğimiz ve diğer “resmi” meslekler arasındaki büyük farklardan biri budur. Eğer bir avukat 20 yıldır iradelerini ve malikaneler yapıyor olarak çalıştık, o zaman çünkü yüksek bir oran komuta edecek Eğer bilginin 20 yıl var inşa o etki alanında .

Eğer 15 yıldır C ++ / Win32 / MFC yaptığını, bu gerçekten bir Raylar geliştirici olarak üst düzey bir nokta için hak yok bile hala aynı etki alanında aynı sorunları çözme eğer ... tıbbi demek Örneğin, faturalandırma.

Daha da kötüsü, çoğu şirket sizi kabaca benzer bir pozisyon için bile düşünmez ... Örneğin, eğer 5-7 yıl boyunca C ++ / MFC yaptıysanız, C # hızına ayak uydurabilmeniz gerekir. /.NET çok hızlı bir şekilde, en azından masaüstü için. Ne yazık ki çoğu şirket bu şekilde görmüyor.


4
Bilmiyorum, "çoğu" şirket bu şekilde görüyor. Şu andaki sorun, aşağı bir ekonomide, halihazırda bildiğiniz pek çok insanın (örneğin örneğinizden) C # olması, bu yüzden sizi sadece sayılara dayanarak yapılan bir aramadan daraltabilirler.
Wonko Sane

Bence çoğu beceri ve deneyim aktarılabilir. Yeni bir sözdizimi öğrenmek kolaydır. Maalesef haklısın: düşündüğün gibi değil, ama seni işe alan kişinin ne düşündüğü.
Hiç kimse,

3

Değişir

Ondan "programlama" yap. Bunun yerine profesyonel bir tercüman gibi davran.

İngilizce'nin ilk diliniz olduğunu ve Fransızca'da da yeterli olduğunuzu varsayalım. İspanyolca'yı kolayca öğrenmeniz muhtemeldir.

Ancak, pek çok Çince lehçesinde ustalaşmanız pek olası değildir. Dilbilimci olarak deneyimleriniz, dilleri öğrenmenize yardımcı olurken, size yabancı bir dil eğitimi vermemiş birisine göre avantaj sağlamanıza rağmen, bir “uzman” (örneğin, “kıdemli” olmak için hala daha uzun bir zaman alacaktır) ) bu dilde tercüman.


2

Evet ve hayır.

Eğer diller birbirine benziyorsa , C ++, Java veya Ruby diyelim. Bu ofislerde oturan insanların ne kadar esnek olduklarına bağlı olarak, bir mücadele şansınız var.

Ancak, eğer diller çok farklıysa ve bununla Haskell hakkında tekmeleyen bir COBOL kişisiyseniz, o zaman 10+ yıl süren COBOL şansınız röportajdan bile emin olamayacağınız kadar zor olsa da.

İYİ DURUMLARDA YERİNE ALACAK ŞEYLER ÇİFTİ:

  1. Zaten birden fazla dil biliyor ve aynı konuda kanıtlanmış bir deneyiminiz varsa. Diyelim ki C ++ 'ta iyi, ama Perl, Tcl ve Ruby’yi de biliyorum. Aslında, özgeçmişlerinde C ++ ile Java işi olan insanları tanıyorum.
  2. Deneyiminiz ilgili bir alanda ise, bunu yapma şansınız yüksektir. Örneğin, eğer bir C ++ oyun programcısıysanız, adil bir parça iş parçacığı gerektiren bir C # işi için neden işe alınamayacağınız konusunda bir neden göremiyorum.

1
Tamam, sormam gerekiyor - Ruby nasıl C ++ veya Java gibi? C ++ ve Java hem C tarzı dillerdir, hem de Ruby Perl, Python ve Smalltalk'tan türetilmiştir.
Craige

OOP'a yol gösterici tema olarak değiniyordum.
Fanatic23

2

Dile dayalı bir "kıdemli" unvanı nadiren gördüm. Birkaç kıdemli sistem programcısı, birkaç kıdemli web programcısı ve bir kıdemli COBOL programcısı tanıyorum .

Programlama çok yönlüdür ve size sunabileceği birkaç disipline sahiptir. Üst düzey bir web geliştiricisinin (başlıklar, programlayıcı ve geliştiricinin birbiriyle değiştirilebilir gibi göründüğünü) web geliştirmede kullanılan birçok ana dilde yetkin olmasını beklerdim. Bu bir Python ve PHP guru C # bir anlık uzman yapar mı? Hayır. Öte yandan, tüm C # guruları proje yönetimi ve liderlik sanatında ustalaşmamışlardır.

CTO'nun üst düzey sistem programcısı olmasının yanı sıra bir şirkette de rol aldım. Yine de, zorunlu bir projeyle karşılaşırsak, bir programı veya LISP uzmanını mutlu bir şekilde ertelerim. İyi bir lider olmanın Bölüm Kendi sınırlarınızı ve eksiklikleri anlamak olduğunu ilk .

Bir şirkette, hatta yalnızca bir dile odaklanan bir bölümde çalışmak istediğimden emin değilim. Bu, sigara içmek her zaman söylediklerini yapar gibi geliyor gibi görünüyor: gerçekte gerçekte çok daha kötüsü olduğunda, büyümenizi engeller.

Başlıkları takip etmeyin, bilgiyi takip edin. Ancak, dürüst olmak gerekirse, önceden liderlik pozisyonundaki rolünüz, eldeki dilde yetkinlik göstermeniz koşuluyla muhtemelen size ilave bir avantaj sağlayacaktır.


0

Sanırım bu bir üst düzey geliştirici olarak algıladığınız şeye bağlı mı? Daha fazla bir mimar rolü varsa, tasarım ilkelerinin ve tasarım modellerinin birçoğu, dile bakılmaksızın, geliştirici olarak deneyimlerinizle hizmetinizde olacaktır. Yani bu bir artı ;-)

Bununla birlikte, bir uygulama veya kodu mümkün olduğunca üretken ve sürdürülebilir bir şekilde oluştururken (dilimlerinizi biraz yuvarlayarak) bakarken, dil, IDE ve / veya çerçeveyi değiştirirken aynı deneyime girebileceğinizi düşünmüyorum.

Fakat runrunun dediği gibi, bu hiçbir şey için başvurmanızı engellemez


0

Bu, röportaj yaptığınız şirkete büyük ölçüde bağımlı olacaktır, çünkü tipik olarak yeni çalışanların işe alınmalarını sağlayan dahili insan kaynakları prosedürleridir. Büyük şirketler çok katı olma eğilimindedirler ve eğer üst düzey olarak kabul edilmek için belirli bir dilde n yıllık deneyime sahip olmanız gerektiğini söylerlerse, sizi yalnızca orta seviye bir geliştiriciye getireceklerini görebilirsiniz.

Bununla birlikte, bu pozisyon için başvurmanızı engellememelidir ve sizi bir röportaj için getirirlerse tartışmanız gereken bir şeydir.


0

Dilin ne kadar düşük seviyeli veya makine dostu olduğunu, ne kadar uzman olduğunuzu söyleyebilirim.

Java / C # uzmanlığı ASM / C / C ++ uzmanlığından daha az ödenir.

Bu ikinci diller bellek yönetimi ve programlamada gerçekten önemli olan diğer şeyleri yapar.

Ancak, diğer "kolay" diller için, onları "kolay" yapan özelliklerle ilgili hızlı bir karşılaştırma yapmanız gerekebilir, ancak bunu işe yaramaz buluyorum. Kolay dillerle ilgili deneyimler, kod ateşleyici veya django veya Apache veya RoR gibi, CMS / iş yaptığınız diğer kodlarla daha iyi ölçülür.

Benim için kıdemli geliştiriciler, Çekirdek, Sistem, Gömülü donanım vb. Programlayan insanlardır. Makine dostu olmayan dilleri kullanan programcılar benim için yaşlı değil. Sadece işi yapıyorlar, ama hepsi bu.


İlginç görüş Katılıyorum, C ++ çok daha fazla acı. Öte yandan, birçok C ++ 'ın acısı var, çünkü (şu anki) dilin bir kısmı eski tarihli. Daha yeni diller, çok daha fazla kütüphane fonksiyonuna, Lambdas, her döngü için ve daha pek çok şey için daha az şifreli sözdizimine sahiptir. Bu konular, düşük seviyeli gerçek konulara odaklanmaktan uzaklaştırabilir.
Philip

Bu ilginç bir fikir. Tecrübelerime göre, kıdemli bir kişi zorunlu olarak kodlamadıkları için değil, düşük seviye işleri teknisyen olmayanlara çevirme konusunda daha fazla deneyime sahip oldukları için yönetim ile daha fazla ilgileniyor. Bu yeteneğe kesinlikle saygı duyabilir veya veremezsiniz. Bakış açınız 30 web geliştiricisinden oluşan bir ekipte, bir çekirdek yazamadıkları için hiçbiri üst düzey değil mi? Mozaik üzerinde çalışmışlar mı ya da Liseyi yeni bitirmişlerse, bu sizin için hiçbir şey ifade etmez mi?
Steve Jackson

30 web geliştiricisi? GELİŞTİRİCİLER? Peki, "kıdemli" benim için kişinin uzun zamandır kod yazdığı veya daha yaşlı olduğu anlamına gelir. Ancak, önemli olan deneyim ve bilgi açısından "kıdemli" olduğunu düşünüyorsanız, çöp toplama dili kullanıyorsanız, bunu programlama deneyimi olarak adlandıracağınızı sanmıyorum.
jokoon
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.