कोड बंदर होने में क्या गलत है? (या, एक कोड बंदर क्या है?) [बंद]


35

प्रोग्रामर एक "कोड बंदर" होने के बारे में अपमानजनक तरीके से बात करते हैं। " वहाँ काम मत करो , तुम बस एक कोड बंदर हो जाएगा!"।

मेरे पास नौकरियों के लिए दो प्रस्ताव हैं, एक छोटी कंपनी में, एक बहुत बड़ी कंपनी (एक ही वेतन) पर। मेरे दोस्त ने मुझे बताया कि मैं बड़ी कंपनी में एक कोड बंदर होऊंगा, और पहले हाथ के अनुभव से जानता हूं कि छोटी कंपनी मुझे "कोड बंदर" को कम करने की तुलना में अधिक पुरस्कृत करेगी।

मैं वास्तव में "कोड बंदर" और "वास्तविक" प्रोग्रामर के बीच अंतर को नहीं समझता। कृपया विस्तार से बताएं। मुझे प्रोग्रामिंग बहुत पसंद है, इसलिए मुझे कंप्यूटर प्रोग्रामिंग (यानी कोड बंदर) पर बैठने का विचार बुरा नहीं लगता। यदि प्रोग्रामर को "कोड बंदर" से मतलब है तो उसे प्रोग्रामिंग में मजा आता है?


जोनाथन कूल्टन ने कोड बंदर अनप्लग्ड youtube.com/watch?v=7s8S7QxpjeY
एडम

Codemonkeys प्राप्त कूलर टी-शर्ट्स redbubble.com/people/hayko/t-shirts/1808968-b-code-monkey
Yannis


हम्म्म्म .... कोड बंदर- ओह रुको, नहीं, मैं चंकी बंदर के बारे में सोच रहा हूं।
आहारबुद्ध

एक बाबुन को छोड़कर बंदर अच्छे प्रोग्रामर नहीं हैं!
अरुण संगल

जवाबों:


32

कोड बंदर का मतलब कोडिंग करना इतना आसान है कि एक बंदर यह कर सकता है

इसका उपयोग अक्सर निम्नतम-स्तरीय प्रोग्रामिंग नौकरियों को संदर्भित करने के लिए किया जाता है, लेकिन इसका उपयोग किसी ऐसे व्यक्ति को संदर्भित करने के लिए भी किया जा सकता है जो कोडिंग के अलावा कुछ नहीं करता है। कोई यूआई डिजाइनिंग, कोई वास्तुशिल्प इनपुट, कोई विकास निर्णय नहीं, आदि

कोड बंदर होने के साथ कुछ भी गलत नहीं है (मैं कभी-कभी खुद को कॉल करता हूं), लेकिन संभावना है कि यदि आप जो कर रहे हैं वह कोडिंग है तो आप कभी भी श्रृंखला में नहीं बढ़ेंगे और उन उच्च वेतन आंकड़ों को देखेंगे जो देखने में सक्षम हैं। संपूर्ण सॉफ्टवेयर विकास चक्र को समझें।


21

"कोड बंदर" कोडर का वर्णन करता है जिनसे शून्य रचनात्मकता की आवश्यकता होती है। ऐसे कोडर दोहराव, उबाऊ, अक्सर थकाऊ काम करेंगे, जैसे कि क्लोन फॉर्म और एक दायर को बदलना आदि।

जिसे आप "वास्तविक प्रोग्रामर" कहते हैं, वह एक व्यक्ति होगा, जो वास्तव में आवेदन के तर्क को डिजाइन करने में भाग लेता है, और वास्तव में रचनात्मकता का उपयोग नौकरी में करता है।


मुझे यकीन नहीं है कि अगर मैं इसे सही कहता हूं, लेकिन क्या यह सॉफ्टवेयर प्रोग्राम के व्यावसायिक तर्क पर काम करने के लिए "वास्तविक प्रोग्रामर" है? उदाहरण: मान लें कि हमारे पास एक वेब एप्लिकेशन है, तो क्या यह डेवलपर की जिम्मेदारी होगी कि वह कुछ आँकड़े दिखाने के लिए एक विजेट को डिज़ाइन करे (या किसी अन्य को), जो डेवलपर को सभी आवश्यक जानकारी दे (यानी हमें जो प्रदर्शित करने की आवश्यकता है, वह होगा) सभी के लिए सुलभ, या केवल अधिकृत उपयोगकर्ता आदि) और फिर devewloper डेटाबेस स्कीमा, कोड आदि को डिजाइन करेगा? क्या मैं यह कहना चाहता हूं कि मैं क्या कहना चाह रहा हूं? मेरे बुरे अंग्रेजी के लिए -sorry
10

15

मेरे लिए, कम से कम, अंतर यह है कि एक कोड बंदर केवल इसके बारे में सोचने के बिना कोड का उत्पादन करता है, जहां "उचित" प्रोग्रामर के रूप में ए। पेशेवर है । वे उच्च गुणवत्ता वाले कोड का उत्पादन करने के लिए इंजीनियरिंग तकनीकों का उपयोग करते हैं और एक पूरे के रूप में सिस्टम के बारे में जागरूकता रखते हैं, बेहतर योजना और अधिक गहन डिजाइन करते हैं।

उदाहरण के लिए "उचित" प्रोग्रामर की कुछ विशेषताएं (हालांकि मालवाहक खेती से अवगत होना) हो सकता है:

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

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


कोई स्पष्ट रूप से मेरे साथ असहमत है, क्योंकि वे नीचा दिखाते हैं - मुझे यह जानना अच्छा लगेगा।
स्कॉट

2
मैंने कोड-बंदरों की दो नस्लों का सामना किया है। उनमें से एक "पुराने कुत्ते" हैं जो सिर्फ कोड हैं, विश्वसनीय हैं और काम पूरा कर लेते हैं। लेकिन क्लैगी डिज़ाइन की कीमत पर और पुराने-प्रतिमानों से भरे कोड के साथ और "cruft" अनुभव के वर्षों ने उन्हें सब कुछ नाखून के रूप में और उनके "cruft" को हथौड़े के रूप में देखा। संभवतः उन लोगों में से एक जिन्होंने आपको नीचे उतारा :)
ज़ोरन पावलोविक

आप यह भी जोड़ सकते हैं कि प्रोग्रामर इस बारे में विस्तार से जानने का प्रयास करते हैं कि अंतिम उपयोगकर्ता अपने सॉफ़्टवेयर के साथ क्या हासिल करना चाहते हैं, और संभावित रूप से जो व्यापक दुनिया को प्रभावित करता है, और उस ज्ञान का उपयोग संगठनात्मक निर्णय लेने की प्रक्रिया में कुछ भूमिका लेने के लिए करते हैं। उत्पाद वे विकसित करते हैं। मैं मार्टिन फाउलर की बातचीत 'मोर थान कोड बंदरों' का वीडियो देखने की सलाह देता हूं। एक प्रोग्रामर कभी-कभी खुद तय करता है कि क्या काम करना अच्छा है, और या तो यह स्वायत्तता से करता है, या अपने प्रबंधन को सहमत करने के लिए मनाने का प्रयास करता है।
bdsl

6

"कोड बंदर" 'कोड mon.key' (/ ko /d / / ʌŋm /ki /)

"कोड बंदर" एक प्रोग्रामर का वर्णन करने के लिए इस्तेमाल किया जाने वाला अपमानजनक शब्द है:

  • उन प्रोग्रामिंग कार्यों को प्राथमिकता देता है जिन्हें अत्यंत सरल या बिना किसी वास्तविक चुनौती के माना जाता है।
  • वास्तव में समस्याओं को हल करने, या आवेदन के डिजाइन में भाग लेने की अनुमति नहीं है।

अब "वास्तविक" प्रोग्रामर कभी-कभी समय-समय पर इन प्रकारों की कोडिंग भी करते हैं।

हालांकि मुख्य अंतर यह है कि "कोड बंदर" के पास कुछ और करने का विकल्प नहीं है।

एक "कोड बंदर" का उपयोग या तो प्रोग्रामर की स्थिति या क्षमता का उपयोग करने के लिए किया जा सकता है


4

शब्दजाल फ़ाइल के अनुसार एक कोड बंदर का उल्लेख कर सकते हैं:

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

  2. जो कोई जीवित के लिए कोड लिखता है; एक प्रोग्रामर।

  3. एक प्रबंधन निर्णय के लिए जिम्मेदारी से इनकार करने, या इस तरह के निर्णयों के साथ रहने के बारे में शिकायत करने का एक आत्म-पदावनत तरीका। जैसा कि "मुझे मत पूछो कि हमें COBOL में एक कंपाइलर लिखने की आवश्यकता क्यों है, मैं सिर्फ एक कोड बंदर हूं।"

जोनाथन कोल्टन के अनुसार एक कोड बंदर:

  1. यदि उनके कोड के बारे में अनुचित आलोचना का सामना किया जाता है, तो वे आलोचक के खिलाफ काफी गुस्से का निर्माण करेंगे, लेकिन अपनी नौकरी की स्थिति को चोट पहुंचाने के जोखिम पर क्रोध को शांत रखेंगे और कुछ भी नहीं कहेंगे (वे दावा करेंगे कि वे नहीं हैं पागल, बस गर्व है।)
  2. फ्रिटोस, टैब और माउंटेन ड्यू पसंद करते हैं।
  3. उनके पास एक संवेदनशील पक्ष है जो वे नहीं, या अधिक संभावना नहीं जानते कि कैसे, दिखाओ (वे बड़े गर्म फजी "गुप्त" दिल हैं)।
  4. उन्हें पता है कि वे एक डेड-एंड जॉब काम कर रहे हैं और कहा जाने की बजाय जॉब में आने के बजाय बहुत जगाएंगे, कॉफ़ी केक खाएँगे, नहाएँगे और झपकी लेंगे।
  5. खुद को समझाने की कोशिश करता है कि उनका काम "रचनात्मक तरीके से पूरा हो रहा है", लेकिन गहराई से वे जानते हैं कि यह बकवास का भार है।
  6. सामाजिक परिस्थितियों में इतना अच्छा नहीं है।
  7. अभी भी मानी जाने वाली सभी चीजें उनके भविष्य पर एक उज्ज्वल दृष्टिकोण रखती हैं।

सभी गंभीरता में, एक नौकरी आपको एक कोड बंदर नहीं बना सकती है केवल आपका व्यवहार और रवैया ऐसा कर सकता है।


3

पीट गुडलिफ़ के "कोड क्राफ्ट" में प्रोग्रामर के प्रकारों के बारे में एक पूरा अध्याय है । "कोड मंकी" के सभी पहलुओं का उल्लेख अन्य उत्तरों में किया गया है। मैं जिस चीज पर जोर देना चाहता हूं (और गुडलिफ का पाठ क्या दिखाता है), वह यह है कि आप सभी प्रकार के पेशेवरों और विपक्षों को ढूंढ सकते हैं । नौकरी और व्यक्तित्व के आधार पर, टीम के कोड बंदर होने के लिए यह अच्छा / वांछनीय / फुलफिलिंग हो सकता है, जो "सुंदर कोड" का निर्माण करके विचारों / अवधारणाओं / योजनाओं को वास्तविकता बनाता है।


मैं नहीं जानता कि आप किस परिभाषा का उपयोग कर रहे हैं। लेकिन एक कोड-बंदर लगभग "सुंदर कोड" का उत्पादन करेगा, व्यंग्यात्मक के अलावा किसी भी तरह के अर्थ में।
ज़ोरान पावलोविच

0

जहाँ तक एक अच्छा प्रोग्रामर होने का सवाल है, तो आप एक बहुत अच्छे प्रोग्रामर होंगे, चाहे आप कहीं भी हों, मेरा सुझाव है कि आप एक डेवलपर बन सकते हैं। कोड बंदर होने के नोट पर, यह एक ऐसा संबंध है जो आप खुद बनाते हैं या कंपनी आपको करने के लिए मजबूर करती है। कोड बंदर होने का मतलब है कि आप जो कुछ भी करते हैं वह एक साधारण उपकरण या तकनीक के आसपास होता है और आपको छोटी चीज़ों के विकास के एक ही तरीके से रखा जाता है, आप जानते हैं कि आपकी क्षमता बहुत बड़े काम करने में रहती है, अगर यह आपकी पहली नौकरी है, तो बड़ी कंपनी, भले ही यह आपको कुछ समय के लिए बंदर के स्तर पर रखे और अगर कंपनी बड़ी है तो मुझ पर विश्वास करें और मुझे यकीन है कि अगर आप कड़ी मेहनत करते हैं, तो आपको एक कोड गॉडजिला आ जाएगा !!! अगर आपका दोस्त कहता है कि कंपनी बड़ी है और आपको कोड-मनी तरीके से रखा जाएगा, तो वह गलत है। कंपनियां बड़ी हो जाती हैं क्योंकि वे औद्योगिक पैमाने की बड़ी समस्याओं से निपटते हैं और वे बड़े डिजाइन और विकास के मुद्दों पर काम करते हैं। छोटी कंपनियां शायद ही कभी ऐसा करती हैं लेकिन इसका मतलब यह नहीं है कि छोटी कंपनियां नहीं बढ़ेंगी या आप कुछ महीनों में एक टीम लीड बन जाएंगे, हम सभी की तरह आप सीढ़ी पर चढ़ेंगे।

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