यदि लेखन कोड एक विज्ञान होता, तो सभी डेवलपर्स बहुत समान होते।
कला के रूप में, एक ही परिणाम के लिए कोड लिखते समय किसी भी दो डेवलपर्स के पास समान सोच या धारणा या व्यक्तिपरक सत्य नहीं होता है।
जबकि कुछ वांछित परिणाम उत्पन्न करने के लिए संघर्ष करते हैं, कुछ के लिए, यह लगभग स्वाभाविक रूप से आता है, जैसे कि एक एपिफेनी उन्हें उस समय हिट करती है जब वे कार्यक्रम बनाने या किसी समस्या को हल करने के लिए बैठते हैं।
में ब्लॉग भेजा , स्टीव मैककोनेल (सॉफ्टवेयर इंजीनियरिंग में एक विशेषज्ञ के रूप में उद्धृत) लिखते हैं कि मूल अध्ययन जिसमें व्यक्तिगत प्रोग्रामिंग उत्पादकता में भारी भिन्नता पाई गई थी, 1960 के दशक के अंत में सैकमैन, एरिकसन और ग्रांट द्वारा आयोजित की गई थी। उन्होंने पाया कि सबसे अच्छे और सबसे खराब प्रोग्रामर के बीच प्रारंभिक कोडिंग समय का अनुपात लगभग 20 से 1 था। उन्हें प्रोग्रामर के अनुभव की मात्रा और कोड गुणवत्ता या उत्पादकता के बीच कोई संबंध नहीं मिला।
हालांकि इस अध्ययन में खामियां थीं, उनके लिए लेखांकन के बाद भी, डेटा अभी भी सर्वश्रेष्ठ प्रोग्रामर और सबसे खराब के बीच 10 गुना से अधिक अंतर दिखाता है।
रॉबर्ट वैलेटा नेट वर्थ 2017
Arkenea में, हमारे पास डेवलपर्स को काम पर रखने का पांच साल से अधिक का अनुभव है, और यह उतना ही चुनौतीपूर्ण है जितना कि पहले के दिनों में एक अच्छे प्रोग्रामर को एक अच्छे प्रोग्रामर को बताना था।
यह कोई अनोखी चुनौती नहीं है। हमने कई बड़े उद्यमों और उद्योगों को एक ही मुद्दे से जूझते देखा है। कई लोगों ने विभिन्न परीक्षणों के माध्यम से एक फ़िल्टरिंग प्रक्रिया बनाई है, लेकिन क्या आप वास्तव में एक कलाकार का परीक्षण कर सकते हैं?
सीधा जवाब है नहीं।
प्रोग्रामर एक महान संसाधन है या नहीं, यह तय करते समय अच्छा कोड लिखना केवल एकमात्र कारक नहीं है।
लेकिन एक रास्ता है। कुछ अन्य संकेतक हैं (कोड लेखन की गुणवत्ता के अलावा) जो अच्छे प्रोग्रामर को अच्छे प्रोग्रामर से अलग करते हैं।
क्रिस्टोफर बर्क, एक प्रतिक्रिया में Quora , ने इस बात पर प्रकाश डाला कि जो कोई भी समस्याओं को हल करने के लिए कार्यशील कार्यक्रम लिख सकता है वह एक प्रोग्रामर है। दूसरी ओर, एक अच्छा प्रोग्रामर वह है जो ग्राहकों द्वारा उपयोग के लिए उपयुक्त, समय पर और कम दोष दर के साथ, कम या कोई पारस्परिक नाटक के साथ रखरखाव योग्य, सुरुचिपूर्ण कार्यक्रम बनाने के लिए दूसरों के साथ सहयोग करता है।
लेकिन एक महान प्रोग्रामर के लिए वह है जो एल्गोरिदम और आर्किटेक्चर को सहज रूप से समझता है, कम पर्यवेक्षण के साथ आत्मनिर्भर बड़े सिस्टम का निर्माण कर सकता है, नए एल्गोरिदम का आविष्कार कर सकता है, लाइव सिस्टम को बिना तोड़े रिफैक्टर कर सकता है, तकनीकी पर गैर-तकनीकी कर्मचारियों के साथ प्रभावी ढंग से और दृढ़ता से संवाद कर सकता है और गैर-तकनीकी मुद्दों को समझता है कि कैसे अपने अहंकार को नियंत्रण में रखना है, और दूसरों को अपना कौशल सिखा सकता है।
अपने अनुभव में, हालांकि, मैं एक प्रोग्रामर की उसकी परिभाषा को एक अच्छे प्रोग्रामर के साथ और एक अच्छे प्रोग्रामर की उसकी परिभाषा को एक महान प्रोग्रामर के साथ जोड़ूंगा।
कोई क्रिस्टोफर एक महान प्रोग्रामर कहता है, मैं कहूंगा, जरूरी नहीं कि वह अपने करियर के इस चरण तक पहुंचने पर कोड लिखे। उत्पाद निर्देश देने के लिए व्यक्ति कंपनियों और उनकी विकास टीमों के साथ अधिक रणनीतिक रूप से काम कर रहा होगा - अनिवार्य रूप से सीटीओ जैसा कोई व्यक्ति।
किसी समस्या के हल होने तक उसके साथ रहने की इच्छा (किसी समस्या पर बैठने से भ्रमित न होना), रचनात्मक रूप से इसे हल करने की क्षमता के साथ, एक अत्यधिक वांछित कौशल या योग्यता है जो केवल महान प्रोग्रामर में पाई जाती है।
मिशेल फोली कितनी पुरानी है
तो सर्वोत्कृष्ट प्रश्न, आप एक महान प्रोग्रामर की पहचान कैसे करते हैं? यह व्यक्ति आपकी समस्या की जड़ तक जल्दी पहुंच पाएगा। वह तुरंत समाधान नहीं दे सकता है, लेकिन समाधान को जल्दी और प्रभावी ढंग से प्राप्त करने की दिशा में एक मार्ग बना सकता है।