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ı?
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ı?
Yanıtlar:
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:
Ek olarak bir Üst Düzey Geliştirici'nin şunları yapmasını bekliyorum:
Ö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.
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.
Bay Developers ile röportaj yaparken aşağıdaki özellikleri ararım.
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ı.
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
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.
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.
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İ:
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.
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
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.
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.