Joel Test'in programcıyı ölçmek için eşdeğeri [kapalı]


70

Bir projeyi veya kodu ölçmek için The Joel Test'i kullanabileceğimizi biliyorum , ancak bir programcının ne kadar iyi olduğunu ölçebilecek ve filtreleyebilecek basit bir standart test (The Joel Test gibi) var mı?

Planım daha ayrıntılı bir test yapmadan önce bu testi hızlı bir filtre olarak yapmak.


2
Eğer böyle bir test kullanılıyorsa, programcıların bunu bilmesi gerektiğini düşünüyorum. Şunlar gibi geçerli olabilir veya olmayabilir: En fazla vücut modifikasyonuna sahip olanı işe alın.
JeffO

2
İlginç, bu soruyu sorduğumda cehenneme indirildi (şimdi tekrar olumlu, yay ve hızlıca kapatıldı). Bundan gerçekten çok mu farklı? programmers.stackexchange.com/questions/133691/…
ripper234

8
@ ripper234, SE'de kapatılan bir sorunun nedenleri, açıklanamayan, zaman zaman ortaya çıkan yazılım hatalarına biraz benziyor - gerçekten bir gizem. Biraz insan doğası gibi gerçekten.
tehnyit

8
Joel'in kendisi henüz basit ancak titiz bir sınavdır: Akıllı ve İşleri Yapar . : P
Dan J,

FizzBuzz! Şüphesiz!
CraigTP

Yanıtlar:


67

Orada programcı yetkinlik matrisi .

Joel testinde olduğu gibi, belirsiz bir rehber. Bir programcının uygun şekilde değerlendirilmesinin tek yolu, onlarla çalışan iyi programcılara sormaktır.


27
Yani geriye kalan tek sorun, erkeğin geçmiş / şu anki takım arkadaşlarının iyi olup olmadığını değerlendirmektir.
Péter Török

21
Evet, özyinelemeli :)
Tom Squires

13
Joel testi gibi bir şey değil. Cevabınız çok detaylı bir matrise işaret ediyor, Joel'in testi cevaplanması gereken 12 basit sorudan oluşuyor.
Bryan Oakley

2
@BryanOakley - bu doğru, ancak PCM, soruyu okurken aklıma gelen ilk şey . Sonuç: Bir programcının ölçülmesi için cevaplayabileceğiniz basit sorular yok!
Joris Timmermans,

2
@BryanOakley matrisin seriden daha karmaşık olması noktası iyi alınmış; benim için Joel'in testine daha yakın bir benzetme , PCM'deki Seviye 1 sütun unsurlarından oluşan bir seri olurdu - "açıkla ve Dizileri kullan ..., Temel sıralama ... vb"
gnat

25

Joel testini tersine çevirirdim:

Kaynak kontrolü kullandılar mı?

Tek adımlı bir yapının nasıl otomatikleştirileceğini biliyorlar mı?

...

Özellikle uygulanabilir görünmeyen tek kişi, test edenlerin sorusu. Buna kapalı gibi görünen diğerleri, bununla nasıl başa çıkacağımızdır. Bunu, önceki soru türlerinde nasıl ele aldınız. .

Düzenle:

Temel olarak Joel sınavındakileri bedavaya alamazsınız, bunu gerçekleştirebilecek kişileri işe almak zorundasınız. Bunu yapabilmek için yeteneklerini oluşturmak istiyorsun.


1
Joel'in tüm soruları programcıdan çok çevre hakkında. Ekibim kaynak kod kontrolü kullanmıyorsa, benim kendi kaynak kod kontrolümü kullanarak onlarla bütünleşmem zor bir gelişmedir. Ekibin kaynak kodu kontrolünü kullanmasını sağlamak bir gelişmedir.
Edwin Buck

15

Joel Testi, bir yerin programcılar için iyi çalışma koşullarına sahip olup olmadığını hızlı bir şekilde değerlendirmek için sadece resmi olmayan bir temel kontroldür. Mükemmel 10 puan alsa bile, altı ay boyunca iflas edecek cehennem deliği olabilir. Düşük puan, oldukça doğru olmayan bir şeyin göstergesidir ve mükemmel görüşme soruları yapar (“Şu anda kaynak kontrolünü kullanmıyorsunuz; gelecekte bunu yapmak için herhangi bir plan var mı?”) Ve cevaplar şu şekilde olabilir: Joel'in puanının düşük olmasına rağmen işi kabul edersin.

Joel Testi de 'standart' bir test değildir; Bu sadece Joel Spolsky'nin blogunda yayınlanan bir kontrol listesi.

Bir programcının kalitesini 'ölçerken' gider; ne yazık ki, iyi bir programcının gerçekten önemli beceri ve niteliklerini ölçmek zor veya imkansızdır, bu nedenle tam bir insan değerlendirmesi için hiçbir değişiklik yoktur. Tamamen ipucu olmayan adayları oldukça basit bir programlama görevini kullanarak kolayca çıkarabilirsiniz - ideal olarak, özyinelemeyi, ağaç yapılarını veya işaretleyicileri içeren bir şey (bunları 'almayan bir programcı çok fazla işe yaramaz). Bu testi geçenler için, becerileri manuel olarak değerlendirmek zorunda kalacaksınız: yazdıkları kodu okumak, yazdıkları test uygulamalarını test etmek, daha fazla programlama görevi vermek (hem tasarım hem de uygulama), çalışmalarını izlemek, onlarla konuşmak, görmek. Profesyonel bir tartışmaya yol açabilir. Bir uzman / dil gurusu arıyorsanız,


1
+1 İyi bir programcının becerilerini değerlendirmek, bir görevi ölçmek zordur.
Karthik Sreenivasan

20
("You're not currently using source control; are there any plans to do so in the future?"), and the answers might be such that you'd accept the job despite a low Joel score. Bu arada işi kabul etmekle hata yapıyordun. Sonunda, her geliştirici, bunun Plans to do so in the futuresadece görüşmecilerin sizi aldatmak için söylediklerini, ancak korkunç bir yönetim nedeniyle asla işlem yapmadıklarını öğrenir . Etkisi hakkında bir şey duyduk kaç kez Oh, we are moving towards Agile...ve başka bir mikro yönetilen şelale dükkanı olduğu ortaya çıktı?
maple_shaft

@maple_shaft: evet, muhtemelen iyi bir örnek değil ...
tdammers

5
Joel testinde mükemmel bir 10 aslında 12 olacak ... sadece diyerek :)
MattDavey

3
@MattDavey: eleştirel bağlıdır sizin yetkileri değişimi sağlamaya çalışıyor. İki senedir işimdeyken (evet C ++ 'a taşınıyoruz) ve beklenen sonucu aldığımda bu deneyimlerden birini yaşadım. Günümüzde, farklı bir konu olurdu. Ben yapabilirsiniz bunu değiştirmek için bir içten dilek ama yetersizlik olmadığını anlamaya ve sonra mümkün kılar.
MSalters

12

Evet:

Boş zamanlarında programlıyor musun?

Tüm tecrübelerime göre, bu tek soru bir programcının ne kadar iyi olduğunun göstergesidir. Eğer zevk alırlarsa; Görevi yapma tutkusu varsa, o zaman bu konuda iyi olacaklar.

Ve açıkçası, 9 ila 5 işin çoğu kodlama gerektirmez . Yeni programlar tasarlamanın ve bu tasarımın nasıl işlediğini / başarısız olduğunu görmenin yaşam döngüsü boyunca çok fazla yineleme yapmayı içermezler. Bu yineleme olmadan, programcıların temel program tasarım becerilerini kazanması için gereken uygulama yoktur.

Ve çok fazla öğrenmeyi içermiyorlar. Evdeki şeyleri basitçe bile kesen programcılar, büyük işletmelerin kısıtlamaları olmadan yeni ve ilginç çözümler araştıracaklar.


2
Bunun neden sadece bir oyu var? IMO, vasat takımlar ve gerçekten yenilikçi olanları arasındaki gerçek ayrımdır.
Repo Man


0

Eh, başlangıçta ifadeler ile nitelikleri var. Bu, "X'i kullandın mı" veya "Y'yi biliyor musun" değil, aslında kullanma ve yapma meselesi. Joel testindeki öğelere dokunmamış veya duymamış herhangi bir programcının bağlantısı kesilmiştir ve bir ipucu alması gerekir. Ama haklısın, kod dükkanları Joel testinde başarısız oluyor çünkü dükkanlardaki insanlar başarısız olmasına izin veriyor. Görebildiğim tek savunma "Denedim ama yetkim yoktu. Ve şimdi burada başvuru yapıyorum" çizgileri boyunca ilerliyor.


0

Kaynak kontrolü kullanıyor musunuz?

Evet ama

  • Gerçekten sana hiçbir şey söylemiyor.
  • Birleşmeyi iletip sevmediğimi nereden biliyorsun?
  • İttirmeden önce değişiklik yapıp yapmadığımı nasıl biliyorsun?
  • Depoya başlamadan önce inşa edip edemeyeceğimi nasıl bildin?

Tek adımda bir yapı oluşturabilir misiniz?

  • Evet, CI liderimiz senaryolar yazıyor ve ben sadece powershell'de çalıştırıyorum.

Günlük inşaatlar yapıyor musunuz?

  • CI sunucumuz

Böcek veritabanınız var mı?

Evet, ancak yapılandırmadım ve yönetmiyorum, sadece kullanıyorum.

Yeni kod yazmadan önce hataları düzeltiyor musunuz?

  • Sınırsız kaynaklara sahip olduğum mükemmel bir dünyada - evet yaparım. Gerçek dünyada bazen onları günlüğe kaydetmeye ve başka bir şey üzerinde çalışmaya zorluyorum.

Güncel bir programınız var mı?

Hayır, bu benim işim değil.

Bir fikrin var mı

Spesifikasyon aldım, sonra analiz edip alakalı belgeler üretiyorum.

Programcıların sessiz çalışma koşulları var mı?

  • Müzik dinlersem, meslektaşımla konuşup şaka yaparsam beni işe almayacak mısın? Yaratıcı olması gereken yazılım geliştirme - çalışma koşulları bir organizasyondan diğerine değişecektir.

Paranın satın alabileceği en iyi araçları kullanıyor musunuz?

En iyi araçların ne olduğunu bilmiyorsunuz ve yaptığınızı düşünüyorsanız, her zaman amacınızı savunan biri olacak.

Test cihazın var mı?

Evet. Aslında, evet ve onlar çok iyi değil, ama söz konusu değildi.

Yeni adaylar görüşmeleri sırasında kod yazıyor mu?

Evet ve başarısızlar. Evet ve geçer. Bu size ne anlatıyor?

Koridorda kullanılabilirlik testi yapıyor musunuz?

Hayır, ama ya daha iyisini yaparsak?

Sonuç olarak:

  • Bu test, her şeyin sadece çalıştığı, herkesin katıldığı, bilgi paylaştığı ve sınırsız kaynakların olduğu mükemmel bir akademik dünyada iyi çalışabilir.
  • Bilmek istediğin şey ne tür bir mühendis olduğum. Basit bitsel cevaplar size yararlı bir şey söylemeyecek ve birisinin onlar için düşmek için çok saf olması gerektiğini düşünüyorum.
  • Yukarıdaki cevaplar, hem olumsuz hem de pozitif, size temiz kod üretme yeteneğim hakkında hiçbir şey söylemez.

Bu bir rant değil, ama verdiğim cevaplara dayanarak ne tür bir geliştirici olduğumu düşündüğünüzü duymak isterim. Bu umarım amacımı kanıtlayacaktır.


8
Bunun anlamını gerçekten anlamadım. Bu sorular bireysel programcı ile değil ekip / şirketle ilgilidir. Ve OP, programcıyı değerlendirmek için aynı soruları kullanmayı önermedi, sadece bir dizi basit soru istiyor.
KodlarInChaos

1
Takımım veya çalıştığımız şirket kadar iyi olduğumu düşünüyorum. Benim düşünceme göre, bu gibi testler çok fazla karışıklık yaratıyor, ancak size şirket veya geliştirici hakkında yararlı hiçbir şey söylemediler.
KodART

3
How do you know whether I pull changes before pushing? Peki, hangi kaynak denetimini kullandığınızı bilmiyorum, ancak en azından SVN'de, henüz yapmadığınız değişikliklerin bulunduğu bir klasöre karar verirseniz, Güncelleme'yi çalıştırana kadar taahhüt başarısız olur.
Mason Wheeler

TFS kullanıyoruz :) Gerçekten de diğer sürüm kontrol sistemlerinde elime geçmem gerekiyor.
CodeART

Soooo insanlar aslında TFS kullanıyor. Bir şey öğrendim.
Fabinout
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.