Görüşme sırasında şirketin kod örneğini isteme [kapalı]


69

Bir iş arayandan bazı kodlar göstermesini istemek bir yazılım şirketi için oldukça yaygın bir uygulamadır. Bununla birlikte, adaydan görüşmeciden iyi yazılmış olduğunu düşündüğü küçük bir kod parçası göstermesini istemesi kabul edilebilir mi?


14
Kodlama standartları, kod incelemeleri vb. Hakkında soru sormayı tercih ederim.
user16764

5
Şirket "Joel testini" geçiyor mu: joelonsoftware.com/articles/fog0000000043.html
Martin York

2
@LokiAstari, joel testi kodlama kültürüyle doğrudan ilgili değildir (sadece çalışma ortamı).
Simon Bergot

8
@ user16764, adaylara teorik sorular sormak gibidir: ilk adım iyidir, ancak bu bilgiyi nasıl uyguladığını size göstermez.
Simon Bergot

Yanıtlar:


69

Her zaman bazı nedenlerle bazı kodlar görmek isterim:

  • Neye bulaştığımı bilmek istiyorum. Tabii ki hiçbir yazılım firması mükemmel değildir ve herkesin her zaman zarafetin harikalarını çıkarmasını beklemiyorum (çünkü ben de yapmam), ama bir şirketin en iyi kodunu istersem ve bana gösterebileceklerinin hepsi bir sub-spagetti karmaşasını, perişan bir zaman geçirdiğimi, tüy yumaklarını açacağımı ve bir şeyleri yapmak için teknik borçlarla mücadele ettiğimi biliyorum. Bir şirketin gösterebileceği en iyi koda bakarak, orada ne tür bir kalitenin mümkün olduğunun üst sınırını belirler; Tüm kodlarının böyle görünmesi mümkün olmasa bile , hala bunun için çabaladıklarını biliyorsunuz.
  • Kod örneklerine bakmak bana bir şirketin kodlama kültürü hakkında çok şey anlatıyor . Dokümantasyon yorumları kullanıyorlar mı? Nesne Yönelimli bir tarza yöneliyorlar mı, İşlevsel Programlama eğilimleri var mı? Muhafazakar mı yoksa ilerici mi? Tutarlı adlandırma, doğru biçimlendirme ve girintiye ve genel olarak temiz bir koda değer veriyorlar mı? Kodun takip edilmesi kolay mı? Projelerini nasıl yapılandırıyorlar? Önemli testlere nasıl yaklaşıyorlar - otomatik testler, hata yönetimi vb.? Kodlama tarzı ne kadar savunmacı?
  • Mevcut kodlarını görmek, standartlarına uyup uymadığınızı yargılamanıza izin verecektir .
  • Bir şirketin yalnızca kod örneklerini paylaşmaya istekli olması, prensip olarak iyi bir işarettir. Kod tabanları en değerli varlıklarından biri olduğundan , bana, başvuru sahibine, biraz güven sundukları anlamına geliyor . Ayrıca, kodlarından utanmadıkları, kodun bana gösterilmesinin onlarla çalışmama yardımcı olacağından emin oldukları anlamına gelir.
  • Size herhangi bir kod örneği göstermiyorlarsa, bu kırmızı bayrak olmak zorunda değildir, ancak ikisinin de neden paylaşmayacaklarını sormak akıllıca olur (büyük olasılıkla, sadece yasal nedenlerle yapamazlar), bazılarını neden görmek istediğini açıkla. Kibar ve olumlu bir şekilde sorduğunuz sürece kodlarına ilgi göstermenin olumsuz bir işaret olarak görüleceğini sanmıyorum.

Ve sonra bazı yan etkileri var:

Size kod göstermeyi kabul eden şirketler, açık bir nedenden ötürü bana kod kodlarının tamamının en son sürümünü içeren bir kaynak dosya listesi göndermezler. Bana herhangi bir kod gösterirlerse, bunu küçük bir gösteri şeklinde yapacaklar, bu harika: bu potansiyel akranlarımdan biriyle konuşmam anlamına geliyor, kodlama kültürü, süreçleri hakkında daha fazla soru sormamı sağlıyor. ve kod temeli ve ideal olarak, hem beceri hem de bilgi gösterebileceğim ve çalışma ortamı hakkında daha fazla şey öğrenebileceğim profesyonel bir tartışma başlatmaya yardımcı olacaktır. Bu aynı zamanda kullandıkları araçlara da bakmam anlamına geliyor, ki bu da oldukça anlayışlı - örneğin, bana gösterdikleri proje belirli bir IDE'ye büyük ölçüde güveniyorsa, bu herkesin bunu iyi veya kötü olabilecek şekilde kullandığı anlamına geliyor. Ve sonunda,


1
Potansiyel işveren size açıkça net kod olduğunu gösterirse, kodlarını ve işlemlerini geliştirmelerine öncülük etmenin bir fırsat olabileceğini unutmayın. Eski demişler şöyle devam eder: "Sadece mükemmel şekilde berbat edebilirim ama kırılabilirim!". Ayrıca, bir aday tarafından veya bir kod tarafından gösterilen kodun muhtemelen diğer yasalardan daha fazla titizlik ve incelemeye tabi tutulduğunu unutmayın.
akton

@ akton Kötü koda karşı benim tutumum. Bununla birlikte, "dağınık kodları düzeltme" görevinde yalnız kaldığın zaman işe yaramaz. Bazı iyi kodunu görmek için İstenen eğer KATI gibi gelecekteki takım değeri şeyler hissetmeye yardımcı olabilir
Simon Bergot

1
“Her zaman bazı kodları görmek isterim” Aslında gerçekte kod gösterildikten sonra ne yapılıyor ? Onlardan önceden bir şey hazırlamalarını mı yoksa sonradan bir şey göndermelerini mi istiyorsunuz? Hangi açıdan bakarsanız bakın, pratik görünmüyor.
Burhan Ali

1
@BurhanAli: Sadece soruyorum. Birçoğu bana herhangi bir şeyi göstermeyi reddediyor ve genellikle bana iyi nedenler veriyor, ki bu iyi. Katılıyorum bana denetimli bir tur; Kimsenin bana burnunu sokacak bir dizi kaynak postalayacağından şüpheliyim, ancak izlerken bir IDE'de projeyi tıklamak genellikle kabul edilebilir.
tdammers

Pek çok durumda, gerçekten görmek istediğim kodun rekabet avantajı olarak değerlendirileceğini düşünüyorum. Bu benim için en önemli olan kod olacak ... ancak, size kodu göstermeyi kabul ederlerse ve muhtemelen iyi kodu anlamadıklarının bir işareti olduğunu kabul ederler. Bir lider olsaydım, muhtemelen size önemsiz bir iç kod göstermezdim. Sadece ben olsa.
Rig

14

Bununla birlikte, adaydan görüşmeciden iyi yazılmış olduğunu düşündüğü küçük bir kod parçası göstermesini istemesi kabul edilebilir mi?

Sanırım tüm 'görüşmeler çift yönlüdür' mantrasına düştü, ancak bir şey beklemem. Fikri Mülkiyet endişeleri, görüşme odasında bilgisayar bulunmadığı ve sizi bir tanesine getirme durumundan sonra en bariz sorun.

Dahası, sadece ellerinden gelenin en iyisini, en az anlamlı kodunu seçmek için kirazları seçecekler. En iyi kod gerçekten bir sorun değil, en kötüsü. Adaylardan kod örnekleri almanın da faydasız olması aynı sebep.


10
Kirazın size göstermek için iyi kodu seçip seçemeyeceklerini görmek hala faydalıdır. Kötü kodlarla başa çıkmanın en sinir bozucu kısmı, kimsenin kötü olduğunu kabul etmemesi ve düzeltilmesi gerektiğidir.
JGWeissman,

5
Ayrıca, görüşmecinin iyi kod fikri sizin iyi kod fikriniz olmayabilir. Bunu bir an önce ertelemenin faydalı olacağını düşünüyorum.
Eric King,

1
Ne yazık ki, "görüşmeler çift yönlüdür" yaklaşımını kullanmaya çalıştığımda, çoğu işveren rahatsız etti. Daha önce hiç kod gösterilmedi.
Antonio2011a

12

Adaydan görüşmeciden iyi yazıldığını düşündüğü küçük bir kod parçası göstermesini istemesi kabul edilebilir mi?

Ne istersen sorabilirsin, ama:

  • Muhtemelen alamayacaksın.

  • Eğer onu alırsan, sana yararlı bir şey söylemeyecek. Kodlarının% 10'u güzel ve geri kalanı spagetti ise, hala çoğunlukla spagetti ile uğraşıyor olacaksınız.

  • Smarty bir pantolon gibi görüneceksiniz. Nihayet orada çalışmak istediğinize karar verirseniz, bu büyük bir yardım değil.

  • Değerli görüşme zamanını boşa harcıyor.

  • Ne bilmek istediğinizi öğrenmenin daha iyi yolları var. Gibi sorular sorun:

    • Kod kalitesinin en önemli göstergeleri nelerdir?
    • Çoğunlukla varolan kodu mu koruyacağım yoksa yeni kod mu yazıyor?
    • Sisteminizin nasıl çalıştığını kısaca açıklayabilir misiniz?
    • Kodlama standartları belgeniz var mı ve herkes onu takip ediyor mu?

İyi bir nokta ! Ne yazık ki "Kod kalitesinin en önemli göstergeleri nelerdir?" Gibi bir soru sormak da akıllıca bir pantolon olarak algılanabilir. (Benim açımdan bu mantıklı bir soru, ancak birçok işveren potansiyel bir ast tarafından sorgulandıklarını hissetmekten hoşlanmıyorlar).
Antonio2011a,

2
@ Antonio2011a Doğru sorarsanız iyi olmalı - belki de "burada hangi kod kalitesi ölçümlerini bekliyorsunuz?" Sadece işleri nasıl yaptıkları hakkında daha fazla bilgi edinmek istediğinizi açıkça belirtin. Onlar hakkında bir test yapmıyorsun, öğreniyorsun. Kod sorarken bile çalışabilir: "Kodunuzun nasıl göründüğünü görebilir miyim?" "İyi kod olarak kabul ettiğiniz şeyin bir örneğini istiyorum."
Caleb

3

Şey, buna bağlı. Nerede çalışacağımı bilmek her zaman hoşuma giderdi.

Bir iş görüşmesini çift yönlü olarak görüyorum. Şirket seni tanıyor ve sen de şirketi öğreniyorsun. Kod istemek biraz fazla olabilir, ancak geliştirme ile ilgili sorular sormak iyi olmalı.

Örneğin, şirketin çevik teknikleri veya TDD'yi kullanmadığı veya bu tür uygulamaları benimsemeyi ve teşvik etmeyi planlamadığı bir işi kabul etmem. Bir şirketin ürünüyle ve koduyla gurur duyduğu için de müteşekkirim - görüşmeci görüşmek için sizi beklerken görünmesini bekler, böylece yaptığı tüm güzel şeyleri açıklamak için bir bahanesi vardır.


Kabul. Kullandıkları aletlere dalmaya çalışıyorum? Yönetim, birçok yerin yapmadığı ilave araçlar (bileşenler, yardımcı programlar) için ödeme yapar. Açık kaynak araçlara yönelik tutum da her zaman iyidir.
ozz

2

Haha, bu komik bir soru. Biri röportaj yaparken bir kod örneği benden istemesini istemediysem kırgın olmazdım, ancak önceden bir soru sormadıkça ve dikkatlice planlamam için muhtemelen onlara herhangi bir kod göstermem.

Yine de böyle bir soru sorma niyetini kesinlikle anlıyorum. Bir iş arayan olarak, Joel Test'ten daha önce bir görüşmeci olmasını istedim. Ne olduğunu bilmiyorlardı ama cevap vermekten mutlu oldular.

Bazı yerlerde, bu tür sorular sormak, şansınızı başka yerlerde de incitebilirken şansınızı artırabilir. Yaşamın güzelliği, eğer şansınızı arttırırsa, çalışmak istediğiniz yer orasıdır. Şansını incitirse, o zaman bu işi istemezdin.

Kibarca sorarak ve neden görmek istediğini açıklayabilmek için kaybedecek hiçbir şey göremiyorum.


"Yaşamın güzelliği, şansınızı arttırırsa, çalışmak istediğiniz yer orasıdır." +1
Spidey

2

Bu soruyu iki röportajımda, asp.net mvc3 veya 4'e geçerken üst düzey devlerinin bulunduğunu iddia ettikleri ya da yoğun bir şekilde yorumlanmış kod istediklerini söylediklerinde sordum. Her iki durumda da gerçek kod standardı konusundaki bilgi eksikliğinden dolayı reddettim. Bulduğum tek standart, kopyalayıp yapıştırmanın işe yarayıp yaramadığını ve işe yaramasını sağlamaktı. Yeni bir proje yapmam veya takımdaki diğerlerinden bağımsız bir kod parçası yazmam gerekip gerekmediğini bu soruyu sormayacağım. Var olan bir yazılımı veya işlevi düzeltmek için kiralanırsam ve kodun cevabını bilmeden evet demeyeceğim, kesinlikle kodu göreceğim. Sormadığınızı varsayalım ve derler ki, bugünün başından itibaren başlangıç ​​tarihçesini düzeltebilir misiniz? Eski kodlara baktığınızda, herhangi bir jquery veya jquery ui görmezsiniz, ancak tüm tarihleri ​​xml dosyasında depolanan özel bir tarih seçicisi görürsünüz ve her gece bir cron işi gelecek ayları güncellemek için çalışır. Bunu başarmak için kod olarak baş ağrısına yol açacak bu örnekteki sözcüklerden daha azdır. Onların kodu üzerinde çalışacaksanız, onu görmek isteyin. Sormamak, müşterinin küçük olduğunu söylediği inancıyla ilgili bir iş için alıntı yapmak gibidir. 20 dönümlük araziye sahip olabilir ve 1 dönümlük bahçecilik onun için küçük ama bahçeci bütün küçük işleri 50'den başladığı için 50 sterlin talep edemez.


1

Çalışmalarının en azından bir kısmının açık kaynak olduğu şirketler için çalışıyorum, bu nedenle kod örnekleri bulmak çok önemli. Şirkette kimin çalıştığını anlıyorum, sonra çevrimiçi işlemlerini çözüyorum. İnsanlar aynı ekran adını tekrar tekrar kullanmaya meyilli olduklarından, kod işledikleri yeri, Github, Bitbucket veya başka bir yerde olup olmadıklarını bulmak kolaydır.

Şu anki şirketimin Github'da bir ton kod barındırıyordu, bu yüzden neyle çalıştıklarını, kod tabanlarının ne kadar büyük olduğunu ve neyin artık ilgilenmeyeceği görünüyordu.

Asla bir örnek istemeyeceğim, çünkü size sahip oldukları en iyi kodu gösterecekler. Bu çalışacağınız kod değil. Muhtemelen kilitli bir odada bir çan kavanoza yerleştirilmiştir. Birçok insanın uğraşmak zorunda olduğu karışık kodla çalışacaksınız.


0

Alabilirsen, bu harika. Bazen NDA tipi anlaşmalar olmadan mümkün olmamakla birlikte denemek her zaman iyidir. Şansınızı artırmak için, görüşme yapan kişilerin bunu önceden istediğinizi (birkaç gün) istediğinizi bilmelerini sağlayın;

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.