Benzersiz bir programlama dili kullanacağım bir işe girmenin sakıncaları var mı? [kapalı]


37

Üniversiteden CS dereceyle mezun oldum, bu yüzden bu alan hakkında daha fazla şey öğrenebileceğim ve bazı profesyonel deneyimler oluşturabileceğim bir iş bulmak istiyorum.

Kendi kurum içi programlama dilini kullanan bir şirketle röportaj yaptım ve başkalarının kullandığını sanmıyorum. Başka bir dil kullanmaktan ya da bir geliştirme ortamı için ne kullandıklarından bahsetmediler.

Böyle bir iş alarak neye dikkat etmeliyim? İşleri daha sonra değiştirirsem, dile özel bir deneyim kazanamadığım için giriş seviyesi pozisyonları aramaya başlamalı mıyım?


8
İşinizde, çalışma ortamınızda ve sorumluluklarınızda kendinizi rahat hissettiğiniz sürece dil önemli olmayacaktır.
Marcelo,

5
CS dereceleriyle mezun olmak, yeni şeyler öğrenme yeteneğiniz olduğu anlamına gelir. Sürekli olarak yeni bir dil veya teknoloji edinmeniz / öğrenmeniz gereken durumlar verilecektir ve bu farklı değildir. İşten işe ne alıyorsanız sorun çözme deneyimidir. Belli bir dilin sözdizimi sürüş için geliyor.
Chris

11
Özel dil MUMPS herhangi bir şansa sahip mi?
R0MANARMY

3
Eğer Wasabi ise ( blog.fogcreek.com/the-origin-of-wasabi ) - al!
Gerry

3
@DaveShaw: İnsanlar hala boğalarla koşuyorlar. Mutlaka iyi bir fikir yapmaz;).
R0MANARMY

Yanıtlar:


28

Ana olumsuz taraflar:

  • "özel bir ortamda" çalışmak, bir soruna takıldığınızda çılgına dönebilecek sınırlı araçlar / destek anlamına gelebilir.
  • Kullandıkları dil kötü tasarlanmış olabilir; bu, daha önce kötü alışkanlıklar edinmenize ve geçici çözümler oluşturmak için zorlu kodlar yazmanıza neden olabilir.
  • İK baffononlar tecrübenizi tanımayacak (Bu sorun değil. Teknik işe alım yapmak için İK'ya dayanan bir şirket, genellikle çalışmak istediğiniz türden değildir. Birkaç yıl sonra, büyük işlerin çoğu yine de bağlantılardan geçer.)

Ben olsaydım, onlara neden bir kurum içi dil kullandıklarını sorardım. Çılgın donanımsal çelişkiler gibi meşru bir nedenden ötürü, herhangi bir dilde kolayca modellenemeyen bir etki alanı varsa, o zaman bu tamamen iyidir. Öte yandan, cevapları bir grup hack ve iş mantığını bir sürü tuhaf makro için ne kadar tutabilecekleri için kendi dillerini oluşturduklarını gösteriyorsa, o zaman bu büyük bir kırmızı bayrak. İyi mühendislik prensipleri kullandıklarından emin olmak, onlardan ders almak ve onlarla başarılı olmak için.Bu durumda, topluluk bilgi tabanı ve dış desteği olmayan, evde yetiştirilen bir dili kullanarak rasyonel bir şekilde haklı çıkıp çıkmadıklarını görebilirsiniz. Kararlarının tamamen rasyonel olduğunu görebilirsiniz (facebook'un kendileri için oldukça iyi bir şekilde ölçeklendirilebilirlikle başa çıkmak için kendi PHP versiyonunu oluşturduğuna inanıyorum) veya çok dilde bir dilin canavarlığını yarattığını görebilirsiniz. Çekirdek sistemleriyle sıkıca birleştiğinde, ondan kopmayacak gibi görünüyorlar. İnan bana, çekirdek veri türü ImARInObj (Muhasebe Alacak Fatura Nesnesi) adı verilen bir dilde çalışmak istemezsin. Bir dil ile işletme ihtiyacı arasındaki sıkı bağ bu tür durumlarda sıklıkla ortaya çıkar ve her gün bu tür bir sistemle uğraşmak mutlak bir kabustur.


12
Aslında sorun değil çünkü İK baffonları işe alımların çoğunu yürütüyor, çoğu iyi şirket için bile ....
Cervo

1
Araçlar / destek ile aynı fikirdeyim. Eski işimde özel bir veri erişim motoru kullandık. Size kaç kez karşılaştığım çalışma zamanı hatalarının çoğalmasını google göstermek istediğimi söyleyemem ama bunun kendime bunun dahili bir şey olduğunu hatırlatmak zorunda kaldım. Yardım için stackoverflow'a soru bile gönderemezsiniz. Şirketinizin insafına kalmışsınızdır ve iyi belgeleri varsa, bir SSS bölümü sayfası / bölümü ve veya normalde izlemeniz için saatlerce süren bu rahatsız edici ve öngörülemeyen sorunları çözme belgelerine sahip olsanız iyi olur. Çok fena berbattı. Yine NHibernate ile döndüğüme sevindim.
A-Dubb

"Yardım için stackoverflow'a soru bile gönderemiyorsunuz." Ya dahili bir SO klonu kurmak için iç ağı koruyan insanlardan birini ikna ettiyseniz?
JAB

Benzer bir problemle karşılaştım. Kullanıcı tabanı olmayan çok özel dillerin araçlarıyla ilgili sorunları vardır. Kullandığım seçeneklerden biri, çark dişi benzeri bir araç alıp kodu yazmak için kod yazmak. Özellikle de birçoğu kazan ise.
Spencer Rathbun,

96

Kaç ve çabuk kaç. Bir iş için çaresiz değilseniz ve çok açsanız, bu sakınmak istediğiniz bir durumdur.

Bunu yapan bir şirketle deneyimim var ve bunu yapmasının tek nedeni çalışanlarının anlamlı, aktarılabilir deneyim kazanmamasıydı . Gerçekten her şey kontrolle ilgiliydi.

Burada “programlamanın program olduğunu” söyleyenler doğru, ancak bunu kafasına çevirip soruyorum, neden dış destek, kütüphaneler, forumlar ve seçilebilecek programcı havuzunu içeren standart bir dili kullanmıyorlar? dan?

Böyle bir durumun tamam olacağını düşündüğüm tek zaman, şirket dili sadece özel donanım içindi. Örneğin, 9000X Gama Işını Interferometresi için her şeyi o makineye özel bir montaj / makine kodu kullanarak yazmanız gerekir.


21
IMO, potansiyel destek ve doküman eksikliği (ev içi araçların standart araçlar kadar iyi belgelendirildiğini asla bilmedim) büyük bir endişe kaynağıdır. Ve işleri bu şekilde yapmanın sebeplerinin iyi anlaşılması gerekiyor.
Ethel Evans,

15
+100 Sadece bir düşünün ... aradığınız bir sonraki pozisyonda ana dili vardır, sıfır yıllık mesleki / uygulanabilir tecrübeye sahip olacaksınız. Yine Junior geliştirici olarak baştan başlayacaksın.

2
Ya Google hakkında konuşuyorsa ve dil sawzall ( labs.google.com/papers/sawzall.html ) veya Go (genel olmadan önce) ise? Yeni bir dil icat etmenin başka iyi nedenleri yok mu?
Neil G

3
@Neil - Pek çok harika sebep var ve insanlar genellikle onlara küçük diller, DSL'ler (etki alanına özgü diller) veya (Google söz konusu olduğunda) "sonraki büyük şey" diyorlar. Özel dillere karşı kesinlikle hiçbir şeyim yok. OP, bunun kullanılan tek dil olduğunu söyledi . Google’ın standart dillere karşı hiçbir şeyi yok.
unpythonic

3
Şirketin motivasyonlarına bakma fikrini seviyorum, ancak çalışanlarını yakalamak amacıyla kendi dilinizi icat eden IMHO, işe yarayacak bir fikir değil. Bunun yerine, neredeyse kesin olarak, birisi belirli bir sorunu çözmek için bir dil icat etti ve şimdi esas olarak eski sebeplerden dolayı kullanılıyor. İdeal bir ortam değil, en azından iyi huylu.
tylerl

22

Mezun olduktan sonra özgeçmişiniz temelde boş olduğundan, ilk işiniz gelecekteki kariyer yolunuza büyük bir ivme kazandırır. Bir sonraki potansiyel işvereniniz bu işe çok ağırlık verecek. Bu nedenle, diğer (daha pazarlanabilir) dillerde de programlama yapmazsanız, bu işi kabul etmemenizi şiddetle tavsiye ederim.

Bunu deneyimden söylüyorum çünkü CS derecemle mezun olduktan sonra ilk yaptığım işi bıraktım, neredeyse tarif ettiğiniz gibi bir pozisyondaydım. Programlamanın çoğu, Progress (aka OpenEdge ABL) adı verilen, bilinmeyen bir dilde yapıldı. Bu korkunç. COBOL kadar kötü değil, ama yakın. Oraya sıkışıp kaldım, çünkü mezun olduğum alanın pek çok programlama işi yok ve karımın, hareket etmeden önce mezuniyetten mezun olmasını bekliyordum.

Bu dilin diğer dillerle veya veritabanlarıyla konuşması neredeyse imkansızdı (kendi veritabanıyla da kilitlendi - bonus!). Kendi başıma zaten başka dillerde mevcut olan çerçeveler yazmak için çok zaman harcadım ve dil bu tür "uzantı" paradigmasını çok iyi desteklemediği için muhtemelen daha iyi uygulanmıştı. Dil, "bir özellik isteğiyle Progress Corp. ile iletişime geçin ve yeni özellik için n + 1 sürümüne kadar bekleyin" yaklaşımına göre daha da özelleştirildi. Söylemeye gerek yok, yazılım endüstrisi bunun uygulanabilir bir yaklaşım olması için yeterince yavaş hareket etmiyor. Ne kadar kötü olduğu konusunda devam etmeyeceğim, ancak özel bir dille de uğraşıyorsanız benzer bir şeyle karşılaşacağınızı varsayıyorum.

Buna ek olarak, mevcut kod temeli, alt optimal oldu mu? 80'lerin sonlarına / 90'ların başlarına dayanan birçok eski kod. Benzer bir şey beklemelisiniz, çünkü çoğu şirket yalnızca kendi dillerine bağlı kalıyor çünkü bu eski bagajların çoğunu yanlarında taşıyorlar. Unutmayın, böyle bir işverenin bu eski / tescilli ortamda kodlamaya istekli programcıları bulması zor olabilir, ayrıca muhtemelen hiç kimse duymadığından eğitim için de para ödemek zorundalar. İş arkadaşlarınız muhtemelen Ölü Deniz etkisinden dolayı yazılım mühendisliği devri olmayacak(yetenekli biri muhtemelen çoktan ayrıldı). Kod incelemelerinde nesne yönelimli kod kullanmaya çalışan kod incelemelerinde çok fazla sorun yaşadım, her türlü tasarım modelini bırakın, anlayamadıkları gibi (ekibimdeki insanlar en iyi ihtimalle MIS derecesine sahipti (suçsuz) )).

Son olarak, bu işe girdiğinizi varsayalım, ancak ayrıldıktan sonra daha iyi bir şeyler yapmak için can atıyorsunuz, bir sonraki işiniz için kendinizi rekabet edebilmek için ya iş dışında boş zamanlarınızı daha fazla pazarlanabilir dilde kırılabilir oyuncaklar yaratarak feda etmeniz gerekiyor (ve Muhtemelen yaptığınız işlerin çoğunu açık kaynak) ya da yaptığım şeyi yapın ve bir ya da iki ay boyunca aynı işi bırakmadan önce biraz para biriktirin. Her iki durumda da, bu çok stresli bir şey, özellikle de iş dışında herhangi bir sosyal ilişkide bulunmaktan veya boş zamanlarınızı bir süre kodlamayan bir şey yaparak geçirmekten hoşlanıyorsanız.

Şimdi, deneyimlerim doğrudan sizin seçiminizle eşleşmeyebilir, ancak bazılarının geçerli olacağından eminim. Umarım en azından size ortaya çıkarmak için bazı sorular verecektir. Diğerlerinin de belirttiği gibi, muhtemelen hangi araçları kullandıklarını öğrenmek istiyorsunuz (donanım, yazılım geliştirme ortamı / IDE ve kesinlikle sürüm kontrolü). Joel Testi yararlı bir rehber olabilir.

TL; DR

Yapma

Not: Yeni bir dil öğrenmenin faydalı olduğunu söyleyenler için, kendi başına doğru olduğu söylenir. Sorun, o dili neredeyse tamamen tam zamanlı olarak uzun süre boyunca kullanıp, daha faydalı dillere (ve tekniklere) maruz kalmaktan mahrum kalmanızdır. Sakınmak istediğin şey bu.


Bu. Böyle bir şey emekli olana kadar sürecek rahat ve stresli bir iş için iyidir. Bu var olmayan bir kariyer kickstart için iyi bir yoldur.
Wayne Molina,

Bu korkunç bir düşünce @Wayne: Okul dışında özel bir dil öğrenin, sonra bu dili 50 garip yıl boyunca özel olarak kullanın ...
Morgan Herlocker

Korku hafifçe koyuyor. Hiç bir zaman kovulmamış olsaydınız ya da şirket battıysa, hiç kimseye değmez değer verebilecek sıfır beceriye sahip olacaksınız . İş dünyasında da bulunmamış olabilirsiniz.
Wayne Molina

Çekirdek sistemi İlerleme ile yazılmış orta büyüklükte bir yerde bir sözleşme bitirdim - o kadar bilinmiyor. Neyse ki, web servis çağrılarıyla sisteme arayüz oluşturan yeni .NET ağ kodlayıcılarından biriydim. Hala ihtiyaç duyduklarında İlerleme kodlayıcıları almayı başardılar.
dave

16

Açıkçası, bu işi, uygulamak istediğiniz gelecekteki işlerin sahip olacağı "x dilini kullanarak 5 + deneyim" gereksinimine ekleyemeyeceğinizdir. Bu, düşündüğünüzden daha can sıkıcı olabilir (uzun yıllar deneyime sahip, ancak çok çeşitli programlama dilleri olan biri olarak konuşmak). Bugün aradığım işleri temel alarak, LOLCODE ile de deneyim kazanmış olabileceğim VBA ile ilgili mesleki deneyimim var.

Ancak, bu dili yalnızca kullanıyorlar mı? Bir şirketin yalnızca bir dil kullanması nadirdir. VBA ile olan zamanım bile ASP, Java ve PostgreSQL içeriyordu.


Daha spesifik hale getirmek için sorumu değiştirdim; Şimdiye kadar başka dillerden bahsetmediler, o yüzden onlarla bir daha konuştuğumda onlara sormam gerekiyor.
AlexMA

3
Aslında bir Java işi istediğimden ve tüm deneyimlerimin .NET'te olması nedeniyle sorun yaşıyorum, bu yüzden kimse beni işe almayacak ve onlar da çok benzerler. Tamamen özel bir dille daha da zor zamanlar geçireceksiniz. İnsan kaynakları ve çalışanlar çoğu morondur ve dokunduğunuz her teknolojide 5 yıllık bir deneyime ihtiyacınız olduğunu düşünüyor ....
Cervo

8

Hangi programlama dilinde çalıştığınıza bakılmaksızın " programlama programlama " mantığına katılıyorum . Programlamanın çoğu düşünmeyi öğreniyor ve gerisi sadece sözdizimi. Gelecekteki potansiyel bir işveren, " X şirketini Y şirketi ile başardım " dan, " Y yıllarını X dilini biliyordum " dan daha fazla etkileyecek .

En son aldığım iş çok fazla PL / SQL çalışması içeriyordu ve hiçbir zaman tek bir PL / SQL satırı yazmamıştım - yaklaşık iki hafta içinde aldım.

Bu, sadece güncel kalmak için kesinlikle diğer dillerle pratikte devam edeceğimi söyledi. Yeni işte, programlama kolunuzu daha standart bir dille formda tutacak, ancak üzerinde çok fazla telaşlanmayan bir evcil hayvan projeniz olsun.


Bu benim planımdı; İlgilendiğim teknolojilerle becerilerimi geliştirmek için hafta sonları kendi uygulamalarımı (ya da her neyse) yazdım. Bu, Brian'ın da belirttiği gibi, Y diliyle X yıllık deneyim gerektiren iş ilanlarına yönelik nitelikler kazanamayacağımı söyledi. Belli bir miktarda PL / SQL deneyimine mi ihtiyacınız var?
AlexMA

@Alex: "... Y diliyle X yıllık tecrübe gerektiren iş ilanları için nitelik kazanamayabilir" herhangi bir işe girme zayiatıdır. Belirli bir işe girmek, diğer fırsatları kaçırdığınız anlamına gelir.
Chris

2
@Chris Evet ... ama eğer "FooBar" öğrenirseniz ve bunu "FooBar" kullanan başka bir şirkete devretme umudunuz yoksa biraz farklıdır. PHP öğrenirseniz ... C öğrenemediğinizden emin olun ... ama PHP için ödeme yapan tonlarca şirket var.
WernerCD

3
-1 Bu doğru cevap, ancak bu soru için değil.
wilhelmtell

2
"Gelecekteki potansiyel bir işveren," X şirketini Y şirketi ile başardım "derken," Y yıllarını X dilini biliyorum "dan daha fazla etkileyecek. --- Teknik görüşmelerin her iki tarafındaki deneyimim bunun tam tersi oldu.

6

BT'de şirket, iyi adaylar bulmak için çoğu zaman işe alım yapanlarla ilgilidir. İşe alım uzmanları BT uzmanı değiller, bu nedenle bazı kriterleri var ve adayları eşleştiriyor ve sonra onları şirkete geri gönderiyorlar. Büyük şirketlerdeki humman kaynakları ile sam yoluna gider.

Bununla bir sorunun var. İşveren kriterlerine uymayacaksınız. Bu yüzden, yeteneklerinizi düzenlemede bir sorun olmadığını söyleyebilirim. Programlama programlamadır ve sağlam bir programcının bir dilden diğerine nasıl geçileceğini bilmesi gerekir, çünkü sözdizimi güvenilir kod, test edilebilir kod ve bakım kodu yapmayı bilmekten daha önemlidir. Thoses kapasiteleri çoğunlukla dil bağımsızdır.

Bununla birlikte, sizi işe alan hiçbir BT çalışanının eşleşme kriterlerine uymadığınız sürece, gelecekteki bir iş bulmak muhtemelen büyük olasılıkla zor olacaktır. Yine de rekabetçi olsan bile. Bu kişiler bunu nasıl yargılayacaklarını bilmiyorlar çünkü IT değiller.

Kesinlikle bu işi birincisi için tavsiye etmem. Ancak, CV’nizde geniş çapta kullanılan teknolojiler (Java, PHP, C, C ++, C #,..) Gibi bazı girdileriniz varsa, isterseniz onu seçin.


İşverenlerle ilgili görüşünüz için teşekkür ederiz; Bu doğru geliyor.
AlexMA

5

Özel dilleri ve ortamları kullanarak alabileceğiniz / geliştirebileceğiniz kesinlikle beceriler var. Diğer cevaplarda da belirtildiği gibi, bazı beceriler dili aşar ve bir özgeçmiş üzerinde çok değerli olabilirler.

Bununla birlikte, özgeçmişleri gözden geçiren kişiler teknik olmadığında bu beceriler sıklıkla göz ardı edilir. Genelde (nispeten deneyimsiz geliştiriciler için genellikle en iyi bahis olan maalesef iş kalitesi spektrumunun alt ucunda) özgeçmişler, esasen x yıllık y dili için değerlendirilecek ve bu konuya girmemiş olabileceğiniz diğer beceriler değerlendirilecektir. röportaj ile kapıdan bir ayak alana kadar oynamak.

Dikkate alınması gereken diğer bir faktör ise, özel ortamların (en azından, en azından) kötü tasarlanmış olma ihtimalinin yüksek olması, kaba ve genel olarak ana akım ortamlardan daha fazla sinir bozucu olma eğilimindedir. Yalnızca kötü bir tescilli sistemde çalışmak, özellikle programlamada kariyer yapmaya yeni başlayan biri için çok cesaret kırıcı olabilir.

Bununla birlikte, popüler bir ana dille çalışmadaki benzer deneyim kadar iyi olmasa da, tescilli bir sistemle olan tecrübenin, uzun süreli bir çekimden hiç olmadığı kadar iyi olduğunu unutmayın. Bazı pozisyonlar için giriş seviyesinin üstünde bir ayağa sahip olacaksınız ve diğerleri için hala belirli diller için giriş seviyesi olarak kabul edebilir (veya edemezsiniz), ancak deneyimleriniz sizi rekabet eden diğer insanların çoğunda önemli ölçüde öne çıkaracak bu işler için.

Özel bir dile odaklanarak teklif almayı düşünmeden önce, mevcut iş piyasasını ve uygulamalarınızın genel olarak nasıl alındığını dikkate aldığınızdan emin olun.


3

Hangi yardımcı dilleri ve becerileri alacağınıza bağlı. Eğer gerçekten onların dilleri kullanılmıyorsa veya hatta şirket dışında biliniyorsa, sınırlı bir kariyere sahip olacaktır (patlama olasılığı ve bir sonraki büyük şey olmadıkça). Birkaç yıl kendi başıma yararsız olan üçüncü bir araçla (kariyer yönünden) çalıştım, ancak bu projeler üzerinde çalışarak HTML, css ve javascript becerilerim gelişti. Ayrıca kurumsal projelerin nasıl yürütüldüğü ve yapılandırıldığı, müşterilerle ilgilenen, beklentileri yöneten bir çok şey öğrendim. Modern yazılım geliştirmenin parçası ve parçası olan her şey aslında dil değildir.


Herhangi bir yardımcı dilden bahsetmediklerini not etmek için sorumu değiştirdim; ancak dile özgü olmayan beceriler hakkında iyi noktalar.
AlexMA

2

Peki ya çerçeve: IDE, editör, kütüphaneler? En karmaşık iş uygulamaları. Bu günlerde düz metin editörü ve komut satırı derleyici ile yapılamaz.

Özel programlama dilleri için bunlardan bazıları var mı?


İyi bir nokta. Yine, bundan bahsetmediler. Sormam lazım.
AlexMA

2
Bazen tescilli IDE'ler / araç setleri göz aldatıcı derecede kötüdür (bazılarıyla çalıştım).
FrustratedWithFormsDesigner

2

Genellikle, bir iş öğrenmek bir teknoloji öğrenmekten daha önemlidir. Bu şirketin bulunduğu belirli bir sektörde kalmak isteyebileceğinizi düşünüyorsanız, devam edin ve devam edin. Bir niş pazarsa veya özellikle ilgilenmediğiniz bir pazar varsa, atlamayı öneririm. Farmakokinetiğin ve ilaçların keşfedilme sürecinin içeriğini ve sonuçlarını bilmek, başka bir C # / Python / Java programcısının olmayacağı kapılar açacaktır. Ve bu "benzersiz" dil daha fazla kod oluşturucu veya yapılandırıcı değilse, hala genel sorunları çözüyorsunuz, bu nedenle belirli teknikler doğrudan aktarılamaz olsa bile, yine de genel bir deneyim elde edeceksiniz.


Bu da. Sadece sektör bilgisi yardımcı olur ve gerçek iş etki alanına taşımak istiyorsanız bu işi bir yararı olacağını yoludur. Bir geliştirici olarak kalmak istiyorsanız, Amiral Ackbar'ın ölümsüz sözleriyle,IT'S A TRAP!
Wayne Molina

2

İsterseniz ve sadece diğer dillerde bol miktarda deneyime sahipseniz, almayı düşünürdüm. Eğer varsa yapmak işi kabul, siz (ve olmalıdır) boş zamanlarında açık kaynak projeleri üzerinde çalışarak ana dilleri ile yeteneklerinizi uydurabilecek.

Kaçınılması gereken şey, becerilerinizin bu şirkete çok iyi adapte olma ve başkalarına devredilemez olma olasılığıdır. Teknik olarak, programlama programlamadır ve tek bir programlama ortamı dışındaki deneyim, problemleri daha net görmenize yardımcı olduğu için zararlı değildir.

Bunu şu şekilde düşünün: Perl programlarını yazarken bir işe girerseniz, bu sizi mutlaka Perl programlarını yazmanın sonsuzluğuna mahkum etmez. Ne de .NET'te bir iş almak sonsuza dek Microsoft'a bağlı olmaya mahkum değildir.

Fakat işte önemli kısım: Kullanmasını istediğim dil olsa bile, sadece bir dili bilen bir programcı tutmam . Pek çok dilde geniş bir deneyime sahip olmayan bir programcı, tercih ettiği dilde bile genellikle yetersizdir. Aynı zamanda yeni şeyler öğrenmek için hırs eksikliğini de yansıtıyor.

Öte yandan, eğer bir programcı Python, Ruby, C #, PHP, C ve Erlang'ı tanıyorsa, APL'yi de bildiği gerçeği, APL için cehennemde kullanma şansımız olmasa da, ona karşı grev değildir. herhangi bir şey.

Eğer disipline sahipseniz, dili tek odak noktanız haline getirmeyin, o zaman işi alın.

Ve yine belirtmeye değer: açık kaynaklı projelere katkıda bulunmak. Tonlarca "iş tecrübesinden" daha fazla para alıyorlar çünkü bu sadece maaş almak için yaptığınız bir şey değil. Açık kaynaklı projeler üzerinde çalışan programcılar altın gibidir.


2

CS derecemden mezun olduktan sonra ilk işim karanlık bir dille gelişmekti. Benzersiz değil. Evde geliştirilmedi. Ancak, başka hiç kimsenin onu kullandığını göremediğim kadar gizli bir VMS 4GL.

Geçmişe bakıldığında, bu kararsız bir karardı. Bu işi yapan profesyonel yazılım geliştirme hakkında çok şey öğrenmeme rağmen, "yumuşak" becerilerle birlikte kullanılabilecek pazarlanabilir bir dil yeterliliğini geliştirmek daha iyi olurdu.

Şanslıydım - ikinci işim başka bir karanlık VMS 4GL ile çalışmaktı . Beni işe aldılar, çünkü dili zaten tanıyan insanları bulamadıklarını biliyorlardı - VMS platformunda 4GL olan bir deneyimim olması yeterliydi. Ve bu işte, VMS'den Windows sunucularına geçmeye çalışırken pazarlanabilir bir dilde eğitim alma fırsatım oldu.

Ancak bu şansa kolayca sahip olamadım ve özgeçmişime veya İK personelini özgeçmişime bakmaya ikna edecek kesinlikle sıfır deneyime sahip beş yıl kariyerimde buldum.

Mezun olduktan sonraki ilk işinde, gerçekten, gerçekten tavsiye etmiyorum.


2

Bir meta-cevap vermek için, birçok yanıtın “Kişisel deneyimlerden, bu kötü bir şey” dediğini fark ettim.

Diğerleri "Teoride bunun kötü olması gerekmiyor" diyor.

Fakat gördüğüm cevapların hiçbiri benzer bir şey yapmayan ve iyi bir deneyim olduğunu düşünen insanlardan değil .

Şimdi belki bazı insanlar bunu yaptı ve işleri ile heyecanlandı, ancak Stack Exchange'de değil. Bu, bazı ticari yazılımlar için geçerlidir. Örneğin, gerçekten özel Software AG Natural / Adabas yöneticileri var, ancak Stack Exchange ile ilgili pek çok tartışma yok. Ancak en azından birileri bu niş uzmanları bile arıyor. Bu tamamen tescilli bir dil için doğru olmaz.

Bu nedenle, amaç burada tartışılan teknolojilere doğru ilerlemekse, bunun çok azının gerçek deneyimden desteklendiği gerçeği, bunun mutlaka en iyi başlangıç ​​olmadığını göstermektedir. Ölüm öpücüğü olmayabilir. Ancak, beklentilerinizle ilgili açık kaynaklı bir projeye başlamak veya katkıda bulunmak gibi korkunç bir yol bloğu haline gelmemesi için çalışmak istersiniz.


1

Size yardımcı olacak ve size yardımcı olacak iyi / harika programcılar olduğunu düşünüyorsanız, işe katılın. Bunu yapan bir insanın oldukça iyi insanlara sahip olduğunu düşünebilirsiniz, ancak kesin olamaz. Ayrıca, bu şirketin en iyi adayları işe almak için herhangi bir ünü var mı? Bu işte kullanılan dillerden bağımsız olarak başka biri tarafından işe alınabilirsiniz.


1

Sorunlu alan, sektördeki bir veya birkaç dilde hâkim olduğunda, özellikle dikkatli olun. Veritabanı geliştirme, SQL ile yakından bağlantılı. FPGA gelişimi çoğunlukla Verilog ve VHDL arasında bölünmüştür. Java (PHP, PHP, Perl, Python, Scala, C ++, vb.) İle yazılmış web uygulamalarının aksine kendi dillerinde. Veri tabanı sorgulamaları yazan birini arayan bir işe alım yöneticisi SQL deneyimini beklemektedir.


1

Özel bir dilde programladım. Ancak bu, her yerde kullanılan dil değildi. Şu an bu deneyime karşı hiçbir şeyim yok, ancak bu işi yaparken her an istekli kaldım. Bu dili kullanma, o dili sürdürme ve geliştirme, birlikte bu dilde yazılmış programı sürdürme şansını elde ettim.

Bu arada, küçük bir tercümanın nasıl çalışacağını okumayı ve anlamayı öğrendim. Potansiyel işvereniniz, özel dil için derleyici / tercüman için kaynaklara sahipse, kendi içindekiler üzerinde çalışma şansı elde edebilirsiniz. Tecrübeden, gelecek yıllarda bu iş deneyimini değerlendirebilirsiniz diyebilirim.

Edineceğiniz aktarılabilir beceriler, takım çalışması, yazılım mühendisliği, derleyici / tercüman yazma veya bunların parçaları, algoritmalar vb. Olabilir. Tercüman ise, özel dil tercümanı bulacağınız bir maskedir. C dilinde veya başka bir dilde yazılmış. Eğer özel bir dil derlenirse, tamamen önyüklemeli olan bir üretim derleyici üzerinde çalışma şansınız olur. Bu nedenle, bir sonraki işi ararken, bu yetenekleri, uygulama geliştiricisi için C / C ++ / Java / Python veya Web geliştirici için Python, Perl, Java, HTML, CSS, JavaScript, Flash den daha fazla satmanız gerekir. veya Verilog, gömülü geliştirme için VHDL veya diğer uygulama alanı için diğer dil kümelerini içerir.

Bütün bunlar, potansiyel işvereninizin özel dil için kaynaklara sahip olduğunu ve özel dilde yazılmış programlar üzerinde çalışmaktan daha fazlasını yapmaya istekli olduğunuzu varsayar. Yine de, birkaç yıl önce yaptığım gibi benzer bir fırsatı yakalayabileceğinizi söylemekte son derece iyimser olduğumu itiraf ediyorum.

Görüşmelerde, işe alma kararlarında yılların deneyimi ve teknik beceriler yalnız değildir. Öğrenme, kültürel uyum, kültürel yaslanma konusundaki susuzluğunuz kararın büyük bir kısmını oluşturuyor.

Bu nedenle, ilk iş için, çalışmanız yalnızca özel dilde yazılmış programlarla sınırlı kalmayacaksa, ancak uygulaması üzerinde de çalışmanıza izin veriyorsa, onu alın.


1

Bunun iki tarafı olduğunu düşünüyorum. Birincisi bu özel iş var, ikincisi de kariyer beklentilerinizi nasıl etkilediği.

Bu iş hakkında bilmek istediğim şey neden kendi programlama dillerini yarattıkları. Mantıklı geliyor? Olmazsa farklı bir iş alırdım.

Son on yılda üç şirkette kendi dili ile çalıştım. Birincisi, proje başladığında, ihtiyaç duyduklarını yapabilecek hiçbir şey olmadığı için. (Visual Basic’ın bir teknik versiyonunu yazdılar, ancak bu Unix’te ve VB’nin varlığından yıllar önceydi.) Bu oldukça iyi nedenleri düşünüyorum.

Kariyer beklentisi tarafında, diğerlerinin de belirttiği gibi, programlamayı anlamayan ve bir dizi onay kutusunu kullanarak çalışan personel ve İK çalışanları CV'nizde zorlanacaktır. Tak ve çalıştır C ++ programcısı isteyen birçok şirket, yeni bir dil öğrenmek için para ödeyecek. Bütün bunlar doğru.

Peki gerçekten böyle bir şirket için çalışmak ister misiniz?

Bunun cevabı 'Evet' ise, o zaman muhtemelen bu işi kapatmalı ve daha geleneksel gereklilikleri olan birini aramalısınız. Ayrıca, nerede oturduğunuza bağlı olarak, fazla seçenek olmayabilir ve programcıları gerçekten anlamayan şirketler için çalışmak zorunda kalırsınız.

Şahsen, böyle bir şirket için çalışmak istemiyorum ve seçimlerimin aşırı sınırlayıcı olduğunu bulamadığımı söylemenin adil olduğunu düşünüyorum. Hızlı bir şekilde yeni teknolojileri öğrenme, gerçek dünya problemlerini çözme ve belki de bazı "işletme" bilgisine sahip bir rekorunuz varsa, o zaman iyi olmanız gerektiğini düşünüyorum.

Ayrıca pozitifler var. Derleyici / tercümanla kaç tane daha oynamalısınız? Her gün kullandığınız dilin yeni özelliklerini ve sözdizimini ne sıklıkla etkiliyorsunuz?


1

Her şeyden önce, bir kurum içi programlama dili kötü bir şey gerektirmez, ancak özel bir dili doğrulamak için ihtiyaç duyduğunuz birkaç temel kural vardır.

Yazman düşünüyorum onlar başka bir dil kullanmayın. Sorman İlk soru ise onlar da başka bir dil kullanırlar.

Özel programlama dilleri iyi gerekçelere sahip olabilir. Matematiğin özel dillerle çalıştığını biliyorum. Vergi ajansının vergileri hesaplamak için özel bir dil kullandığını duydum. Metaprogramming alanına hoş geldiniz .

Ancak, herhangi bir özel dil asla tam bir dil uygulamamalıdır. Etki alanı dışında yine de klasik / yaygın olarak bilinen bir programlama diline geri dönmelisiniz. Dil alanında bile, her küçük detayın etki alanı dili tarafından ele alınması muhtemel değildir.

Sorulacak iyi sorular:

  1. Bu şirkette başka diller kullanılıyor mu?
  2. Diğer dilin kendileri için uygun olmama nedeni nedir?
  3. Dil şirket dışında mı kullanılıyor (araştırmacılar tarafından veya diğer şirketlere lisans altında)
  4. Dili kaç kişi biliyor.
  5. Dil ile kaç tane (başarılı) proje / program yapıldı.

Bu cevaplardan, dilin durumunun ne olduğunu öğrenebilmelisiniz. eğer büyük değer katan bir etki alanı ise, her şey yolunda. 'S somebodies sevdiği proje Java veya C # yerine o zaman çık oradan en kısa zamanda .

Düzenleme: wikipedia'daki belirli bir dil yazısını alanınıza okumanızı öneririm , bu biraz daha fazla fikir verecektir.


1

Bundan hoşlanmayabiliriz, ancak bilgisayar programcısı olarak , acentelerin ve İK departmanlarının proje yöneticilerine yönlendirmek istedikleri bir özgeçmişe sahip olmalıyız . Özgeçmişimiz ayrıca, bakmakta olan birisinin 30 saniye içinde hala ihtiyaç duyulan ihtiyacı eşleştiriyor gibi göze çarpmalı, ayrıca cv veritabanında yapılan bir aramayla eşleşen doğru anahtar kelimelere sahip olmalıdır.

Bu yüzden sadece benzersiz bir programlama dilinde çalışmak büyük bir risktir! Bununla birlikte, DSL ve bir ana akış dili karışımı kullanılarak CV'de iyi bir şekilde sunulabilir. (Özgeçmişinizde gerçeği söylemelisiniz, ancak tüm gerçek olmak zorunda değildir !)


1

Zaten geniş bir programlama bilgisine sahip olsaydınız, böyle bir işe girme konusunda daha az gergin olurdum. Endüstride yepyeni iseniz, bu sizi profesyonelce çok kötü bir şekilde güvercin deliğine sokabilir, muhtemelen daha sonra neredeyse bir Jr veya stajyer olarak baştan başlamak zorunda kalacağınız noktaya gelebilir ... Bu şirketle bir süre için, sadece devredilemez becerilere sahip bırakmak.

Zaten endüstride oldukça tecrübeli iseniz, bu kariyerine gerçekten harika bir kurşun noktası olabilir. Ve eğer bu yeri terk ettiğinizde / duyduğunuzda daha fazla "lanet olsun, o bir jedi, her şeyi yaptı" algısı


1

Şirkete sadece ömür boyu şirkette çalışacaksanız katılabilirsiniz, ya da iyi bir maaş paketi alsanız bile almayı asla düşünmeyin bile. işinde birçok sıkıntı yaşanıyor, çünkü başka programlama işlerinde başka programlama dillerinde deneyim yok.


Bu. Bu "fırsat" a dikkat edin, sadece hızlı bir emeklilik için bir fırsattır.
Wayne Molina

0

Öncelikli olarak lider veya asıl geliştirici olarak 15 yıllık deneyime sahip birini uzun zamandır iş bulamamış biri olarak gördüm, çünkü şirket onu çağdaş diller ve API'lar haline geldiği konusunda hiçbir deneyime sahip bırakmadı.

Programcılar, tıpkı filmlerdeki oyuncular gibi (kahraman, villian, vb ...) çöp kutularına zihinsel olarak giriyorlar ve bir kez çöplüğün ne olduğunu belirledikten sonra, işinden yeni çıkmaktansa iş bulmayı çok daha zorlaştırabilirim. kolej.

Diğer bir deyişle, CS dereceniz varsa, muhtemelen bir dizi iş için adaysınız.

Ancak, PHP'de 3 yıllık deneyime sahip bir CS dereceniz varsa, aslında bir Java web geliştirici pozisyonu için mezun olduğunuzdan daha az adaysınız. Kendinizi bir PHP geliştiricisi olarak seçtiniz ve bunun aksini deneyinceye kadar, işe almak için gereken şey bu. (Tuhaf, ama bence doğru, daha fazla tecrübe kazanıyorsun, ama özgeçmişin önemsiz sayılacak çünkü yanlış bir tecrübe türü, kolejden yeni çıkmış olmamışsın)

Ve SpecialLanguageX'te 1 yıllık deneyime sahip bir CS derecesine sahipseniz, kendiniz için her türlü kapıyı kapatmış olursunuz.

Bunlar sadece benim düşüncelerim ve gözlemlerim, işe almayı hiç yapmadım, bu sadece bana öyle geliyor.

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.