एक प्रोग्रामर को मापने के लिए जोएल टेस्ट के समकक्ष [बंद]


70

मैं समझता हूं कि किसी परियोजना या कोड को मापने के लिए, हम द जोएल टेस्ट का उपयोग कर सकते हैं , लेकिन क्या कोई सरल मानक परीक्षण (जैसे जोएल टेस्ट) है, जो मापने और फ़िल्टर करने में सक्षम है कि प्रोग्रामर कितना अच्छा है?

मेरी योजना यह है कि अधिक विस्तृत परीक्षण करने से पहले इस परीक्षण को एक त्वरित फ़िल्टर के रूप में किया जाए।


2
अगर इस तरह के परीक्षण हैं जिनका उपयोग किया जा रहा है, मुझे लगता है कि प्रोग्रामर को इसके बारे में पता होना चाहिए। वे इस तरह मान्य हो सकते हैं या नहीं भी हो सकते हैं: सबसे अधिक शरीर संशोधनों के साथ किराया लें।
जेफ

2
दिलचस्प है, जब मैंने यह सवाल पूछा, तो इसे नरक में बदल दिया गया (अब सकारात्मक फिर से, याय और जल्दी से बंद)। क्या यह वास्तव में इस एक से अलग है? programmers.stackexchange.com/questions/133691/…
ripper234

8
@ ripper234, एसई पर एक प्रश्न के बंद होने के कारणों को उन अस्पष्टीकृत, आंतरायिक सॉफ़्टवेयर बग्स की तरह एक सा है - वास्तव में एक रहस्य। वास्तव में मानव प्रकृति की तरह एक सा।
तेहनीत

8
जोएल खुद एक सरल-अभी तक कठोर परीक्षा प्रदान करता है: स्मार्ट और गेट्स थिंग्स डन । : पी
दान जे

FizzBuzz! निश्चित रूप से!
क्रेगटीपी

जवाबों:


67

नहीं है प्रोग्रामर योग्यता मैट्रिक्स

जोएल परीक्षण के साथ के रूप में यह सिर्फ एक अस्पष्ट गाइड है। एक प्रोग्रामर का सही तरीके से आकलन करने का एकमात्र तरीका उन अच्छे प्रोग्रामरों से पूछना है जिन्होंने उनके साथ काम किया है।


27
तो केवल एक ही समस्या बाकी है कि क्या लड़के के अतीत / वर्तमान टीम के साथी अच्छे हैं ... उफ़।
पेटर तोर्क

21
हाँ, इसका पुनरावर्ती है :)
टॉम स्क्वायर्स

13
जोएल परीक्षण जैसा कुछ भी नहीं है। आपका उत्तर एक विशाल विस्तृत मैट्रिक्स की ओर इशारा करता है, जोएल का परीक्षण उत्तर देने के लिए 12 बहुत सरल प्रश्नों की एक श्रृंखला है।
ब्रायन ओकले

2
@BryanOakley - यह सच है, लेकिन पीसीएम भी सबसे पहली चीज है जो मैंने सोचा था कि सवाल पढ़ते समय। अपडॉट: कोई सरल प्रश्न नहीं हैं जो आप प्रोग्रामर को मापने के लिए उत्तर दे सकते हैं!
जॉरिस टिम्मरमैन

2
मैट्रिक्स की @BryanOakley बिंदु श्रृंखला की तुलना में अधिक जटिल है और अच्छी तरह से ली गई है; मेरे लिए जोएल के परीक्षण के समरूपता पीसीएम में लेवल 1 कॉलम तत्वों से बनी एक श्रृंखला होगी - "एरे और ..., बेसिक सॉर्टिंग ... आदि की व्याख्या और उपयोग करें"
gnat

25

मैं योएल परीक्षण को चारों ओर घुमाऊंगा:

क्या उन्होंने स्रोत नियंत्रण का उपयोग किया है?

क्या वे जानते हैं कि एक कदम का निर्माण कैसे करना है?

...

केवल एक ही जो विशेष रूप से लागू नहीं होता है वह है परीक्षकों का प्रश्न। दूसरों को जो इस तरह की बारी लगती है वह यह है कि हम इसे कैसे संभालते हैं कि आपने इसे पिछले प्रकार के प्रश्नों में कैसे संभाला है (यह है कि हम अपने शेड्यूल को बनाए रखने के लिए आज तक आपको कैसे हैंडल करते हैं?) ।

संपादित करें:

मूल रूप से आपको जोएल परीक्षण में सामान मुफ्त में नहीं मिलता है, आपको ऐसे लोगों को किराए पर लेना होगा जो इसे कर सकते हैं। आप ऐसा होने की उनकी क्षमता स्थापित करना चाहते हैं।


1
जोएल के सभी प्रश्न प्रोग्रामर की तुलना में पर्यावरण के बारे में अधिक हैं। यदि मेरी टीम स्रोत कोड नियंत्रण का उपयोग नहीं करती है, तो मेरे स्वयं के स्रोत कोड नियंत्रण का उपयोग करके उनके साथ एकीकरण नहीं करना शायद ही एक सुधार है। स्रोत कोड नियंत्रण का उपयोग करने के लिए टीम प्राप्त करना एक सुधार है।
एडविन बक

15

जोएल टेस्ट जल्दी से न्याय करने के लिए एक अनौपचारिक आधारभूत जाँच है कि क्या किसी स्थान पर प्रोग्रामर के लिए काम करने की स्थिति अच्छी है। यहां तक ​​कि अगर यह एक परिपूर्ण 10 स्कोर करता है, तो यह अभी भी एक नरक-छेद हो सकता है जो सड़क से छह महीने नीचे दिवालिया होने जा रहा है। एक कम स्कोर कुछ सही नहीं होने का एक संकेत है, और उत्कृष्ट साक्षात्कार के सवालों के लिए बनाता है ("आप वर्तमान में स्रोत नियंत्रण का उपयोग नहीं कर रहे हैं, क्या भविष्य में ऐसा करने की कोई योजना है?"), और उत्तर ऐसे हो सकते हैं? आप कम जोएल स्कोर के बावजूद नौकरी स्वीकार करेंगे।

जोएल टेस्ट 'मानक' टेस्ट भी नहीं है; यह सिर्फ एक चेकलिस्ट है जोएल स्पोल्स्की ने अपने ब्लॉग पर पोस्ट किया है।

जहां तक ​​एक प्रोग्रामर की गुणवत्ता 'मापने' की जाती है; दुर्भाग्य से, वास्तव में महत्वपूर्ण कौशल और एक अच्छे प्रोग्रामर के गुण परिमाण में कठिन या असंभव हैं, इसलिए पूरी तरह से मानव मूल्यांकन के लिए कोई प्रतिस्थापन नहीं है। आप एक बहुत ही सरल प्रोग्रामिंग कार्य का उपयोग करते हुए पूरी तरह से क्लूलेस उम्मीदवारों को आसानी से मात दे सकते हैं - आदर्श रूप से, कुछ जिसमें पुनरावृत्ति, वृक्ष संरचनाएं या पॉइंटर्स शामिल हैं (एक प्रोग्रामर जो 'नहीं मिलता है' इनका बहुत उपयोग होने की संभावना नहीं है)। इस परीक्षा को पास करने वालों के लिए, आपको मैन्युअल रूप से कौशल का मूल्यांकन करना होगा: उनके द्वारा लिखे गए कोड को पढ़ें, उनके द्वारा लिखे गए टेस्ट ड्राइव एप्लिकेशन, उन्हें और अधिक प्रोग्रामिंग कार्य (डिज़ाइन और कार्यान्वयन दोनों) दें, उन्हें काम देखें, उनसे बात करें, देखें कि क्या आप एक पेशेवर चर्चा चिंगारी कर सकते हैं। यदि आप एक विशेषज्ञ / भाषा गुरु की तलाश कर रहे हैं,


1
+1 एक अच्छे प्रोग्रामर के कौशल को आंकना एक कार्य है जो निर्धारित करना कठिन है।
कार्तिक श्रीनिवासन

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. आप काम को स्वीकार करने की गलती कर रहे होंगे। आखिरकार हर डेवलपर को पता चलता है Plans to do so in the futureकि साक्षात्कारकर्ता आपको धोखा देने के लिए कहते हैं, लेकिन सिर्फ इतना ही है कि वे कभी भी भयानक प्रबंधन के कारण काम नहीं करते हैं। कितनी बार हमने कुछ के प्रभाव को सुना है Oh, we are moving towards Agile...और यह अभी तक एक और micromanaged झरना की दुकान है?
maple_shaft

@maple_shaft: हाँ, शायद एक अच्छा उदाहरण नहीं है ...
tdammers

5
जोएल परीक्षण पर एक आदर्श 10 वास्तव में 12 होगा ... बस कह रहा है :)
मैटवेवी

3
@MattDavey: यह गंभीर रूप से ड्राइव को बदलने के लिए आपकी दक्षताओं पर निर्भर करता है । मेरे पास उन अनुभवों में से एक था जब मैं दो साल के लिए व्यापार में था (हाँ, हम C ++ में चले जाएंगे) और अपेक्षित परिणाम मिला। आजकल, यह अलग बात होगी। अगर यह एक ईमानदार इच्छा है, लेकिन बदलने में असमर्थता है, और फिर इसे संभव बनाना है तो मैं यह पता लगा सकता हूं ।
एमएसएलटर्स

12

हाँ:

क्या आप अपने खाली समय में कार्यक्रम करते हैं?

मेरे सभी अनुभव में, यह एकल प्रश्न सबसे अधिक सूचक है कि एक प्रोग्रामर कितना अच्छा है। अगर वे इसका आनंद लेते हैं; यदि उन्हें कार्य करने का जुनून है, तो वे इसमें अच्छे होंगे।

और स्पष्ट रूप से, 9 से 5 नौकरियों में बहुत सी कोडिंग शामिल नहीं है । वे नए कार्यक्रमों को डिजाइन करने के जीवन-चक्र के माध्यम से बहुत अधिक पुनरावृत्ति नहीं करते हैं और देखते हैं कि डिजाइन कैसे काम करता है / विफल रहता है। उस पुनरावृत्ति के बिना, प्रोग्रामर को कोर प्रोग्राम डिज़ाइन कौशल हासिल करने के लिए आवश्यक अभ्यास नहीं है।

और उनमें बहुत सी सीख शामिल नहीं है। प्रोग्रामर जो केवल घर पर चीजों को हैक करते हैं वे बड़े व्यवसाय की बाधाओं के बिना नए और दिलचस्प समाधान तलाशने जा रहे हैं।


2
यह केवल एक वोट क्यों है? IMO यह औसत दर्जे की टीमों और उन लोगों के बीच वास्तविक अंतर है जो वास्तव में अभिनव हैं।
रेपो मैन

1

यह जोएल टेस्ट के रूप में विस्तृत नहीं है, लेकिन उन्हें फ़िज़ बज़ कार्यक्रम लिखने के लिए कहना एक अच्छा संकेत होगा यह देखने के लिए कि क्या वे बिल्कुल भी कोड कर सकते हैं।

http://www.codinghorror.com/blog/2007/02/why-cant-programmers-program.html और http://imranontech.com/2007/01/24/use/fizzbuzz-to-find-developers- जो-grok-कोडिंग /

यह आपको व्यक्ति की सॉफ्टवेयर इंजीनियरिंग परिपक्वता के बारे में नहीं बताएगा, लेकिन यह बदतर से बाहर स्क्रीन करेगा।


0

एह, मेरे पास शुरुआत में शब्दांकन के साथ क्वालीफाइड है। यह "आपने एक्स का उपयोग नहीं किया है" या "क्या आप वाई के बारे में जानते हैं", यह वास्तव में उपयोग करने और करने की बात है। किसी भी प्रोग्रामर ने जोएल परीक्षण पर वस्तुओं को छुआ या सुना नहीं है, बस काट दिया गया है और एक सुराग प्राप्त करने की आवश्यकता है। लेकिन आप सही हैं, कोड-दुकानें जोएल परीक्षण में विफल रहती हैं क्योंकि दुकानों में लोग इसे विफल कर देते हैं। एकमात्र बचाव मैं "मैंने कोशिश की, लेकिन अधिकार नहीं था" की तर्ज पर रन बना सकता है और अब मैं यहां आवेदन कर रहा हूं।


0

क्या आप स्रोत नियंत्रण का उपयोग करते हैं?

हाँ लेकिन

  • यह वास्तव में आपको कुछ भी नहीं बताता है।
  • आप कैसे जानते हैं कि क्या मैं आगे विलय करता हूं?
  • आपको कैसे पता चलेगा कि मैं पुश करने से पहले बदलाव खींचता हूं?
  • आप कैसे जानते हैं कि क्या मैं भंडार के लिए प्रतिबद्ध होने से पहले निर्माण करता हूं।

क्या आप एक चरण में एक निर्माण कर सकते हैं?

  • हां, हमारी CI लीड स्क्रिप्ट्स लिखती है और मैं उन्हें सिर्फ पावरशेल में चलाता हूं।

क्या आप दैनिक निर्माण करते हैं?

  • हमारा CI सर्वर करता है

क्या आपके पास बग डेटाबेस है?

हां, लेकिन मैंने इसे कॉन्फ़िगर नहीं किया है और मैं इसका प्रबंधन नहीं करता, मैं बस इसका उपयोग करता हूं।

क्या आप नया कोड लिखने से पहले बग को ठीक करते हैं?

  • एक आदर्श दुनिया में जहां मेरे पास असीमित संसाधन हैं - हां मैं करता हूं। वास्तविक दुनिया में मैं कभी-कभी उन्हें लॉग इन करने और किसी और चीज़ पर काम करने के लिए मजबूर होता हूं।

क्या आपके पास अप-टू-डेट शेड्यूल है?

नहीं, यह मेरा काम नहीं है।

क्या आपके पास कोई युक्ति है?

मुझे एक युक्ति दी गई है, मैं तब इसका विश्लेषण करता हूं और प्रासंगिक दस्तावेज तैयार करता हूं।

क्या प्रोग्रामर्स के पास काम करने की शांत स्थिति है?

  • संगीत सुनने, अपने सहकर्मी से बात करने और मजाक बनाने पर क्या आप मुझे नौकरी पर नहीं रखेंगे? सॉफ्टवेयर विकास को रचनात्मक माना जाता है - काम करने की स्थिति एक संगठन से दूसरे में भिन्न होगी।

आप सबसे अच्छा उपकरण पैसे का उपयोग कर सकते हैं खरीद सकते हैं?

आपको पता नहीं है कि सबसे अच्छे उपकरण क्या हैं और यदि आपको लगता है कि आप करते हैं, तो आपकी बात पर बहस करने के लिए हमेशा कोई न कोई होगा।

क्या आपके पास परीक्षक हैं?

हाँ। वास्तव में, हाँ और वे बहुत अच्छे नहीं हैं, लेकिन यह सवाल में नहीं था।

क्या नए उम्मीदवार अपने साक्षात्कार के दौरान कोड लिखते हैं?

हाँ और वे विफल। हाँ और वे पास यह आपको क्या कहता है?

क्या आप दालान प्रयोज्य परीक्षण करते हैं?

नहीं, लेकिन क्या होगा अगर हम कुछ बेहतर करें?

समाप्त करने के लिए:

  • यह परीक्षण एक आदर्श अकादमिक दुनिया में अच्छा काम कर सकता है, जहाँ सब कुछ बस काम करता है, हर कोई साथ मिलता है, ज्ञान साझा करता है और असीमित संसाधन होते हैं।
  • आप जानना चाहते हैं कि मैं किस तरह का इंजीनियर हूं। सरल बिटवाइज़ उत्तर आपको कुछ भी उपयोगी नहीं बताएंगे और मुझे लगता है कि किसी को उनके लिए गिरने के लिए बहुत भोला होना पड़ता है।
  • ऊपर दिए गए उत्तर, नकारात्मक और सकारात्मक दोनों ही आपको स्वच्छ कोड का निर्माण करने की मेरी क्षमता के बारे में कुछ नहीं बताते हैं।

यह एक शेख़ी नहीं है, लेकिन मुझे यह सुनने में बहुत दिलचस्पी होगी कि आपको किस तरह का डेवलपर लगता है कि मैं उन उत्तरों पर आधारित हूं जो मैंने प्रदान किए हैं। यह मेरी बात को सही साबित करेगा।


8
मैं वास्तव में इस बात नहीं मिलता है। ये सवाल टीम / कंपनी के बारे में हैं, न कि व्यक्तिगत प्रोग्रामर के बारे में। और ओपी ने प्रोग्रामर को आश्वस्त करने के लिए उन्हीं सवालों का उपयोग करने का सुझाव नहीं दिया, वह केवल सरल प्रश्नों का एक सेट चाहते हैं।
कोडइन्कॉउंस

1
मुझे लगता है कि मैं जितनी अच्छी हूं, मेरी टीम है या जिस कंपनी के लिए हम काम करते हैं। मेरी राय में इस तरह के परीक्षण बहुत उपद्रव करते हैं, लेकिन वे वास्तव में आपको कंपनी या डेवलपर के बारे में कुछ भी उपयोगी नहीं बताते हैं।
कोडार्ट

3
How do you know whether I pull changes before pushing? ठीक है, मुझे नहीं पता कि आप किस स्रोत नियंत्रण का उपयोग कर रहे हैं, लेकिन कम से कम एसवीएन में, यदि आप उन परिवर्तनों के साथ एक फ़ोल्डर में प्रतिबद्ध करने का प्रयास करते हैं जो आपके पास अभी तक नहीं हैं, तो जब तक आप अपडेट नहीं करेंगे, तब तक यह विफल हो जाएगा।
मेसन व्हीलर

हम टीएफएस का उपयोग कर रहे हैं :) मुझे वास्तव में अन्य संस्करण नियंत्रण प्रणालियों पर अपने हाथ लाने की आवश्यकता है।
कोडार्ट

Soooo लोग वास्तव में TFS का उपयोग करते हैं। मैंने कुछ सीखा।
फबिनआउट
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.