Software engineer को थोड़ा-सा cynical होना चाहिए
(seangoedecke.com)- इंजीनियर का उचित स्तर का cynical नज़रिया बड़े संगठनों के काम करने के तरीके को सही ढंग से समझने में मदद करता है, और विडंबना यह है कि यह अत्यधिक cynical होने से भी बचाता है
- अगर इंजीनियर खराब code क्यों लिखते हैं, इसके लिए यथार्थवादी, थोड़ा cynical स्पष्टीकरण न हो, तो बात अत्यधिक षड्यंत्र सिद्धांतों की ओर झुक सकती है, जैसे जानबूझकर मनोबल गिराना या anti-labor strategy
- तथाकथित “idealistic” दृष्टिकोण दुनिया को मूल रूप से भ्रष्ट और स्वार्थी संरचना के रूप में देखता है, और इस अर्थ में कि वह सकारात्मक बदलाव को ही असंभव मान लेता है, वह उल्टा अधिक cynical है
- software engineering की चर्चा में idealistic लेख जरूरत से ज़्यादा दिखाई देते हैं, जबकि बड़ी कंपनियाँ वास्तव में कैसे काम करती हैं यह समझाने वाले लेख अपेक्षाकृत कम हैं
- 2010s में बनी बड़ी कंपनियों को लेकर तथ्यों से मेल न खाने वाली समझ को भीतर तक अपनाने वाली पीढ़ी 2020s में कठिनाई झेल रही है, और सही operating model को समझना अपने idealistic लक्ष्यों को भी अधिक यथार्थवादी ढंग से हासिल करने में मदद करता है
खुद को cynical कहे जाने पर मेरा नज़रिया
- मेरे इस तर्क पर कि "manager को खुश करने वाला काम करना चाहिए" या "बड़ी कंपनियाँ कौन-से project करेंगी, यह कैसे तय करती हैं", कई पाठकों ने मुझे cynic कहा
- Alex Wennerberg ने जवाब दिया कि "इंजीनियर राजनीतिक खेल के सिर्फ औज़ार नहीं हैं, बल्कि अपनी विशेषज्ञता को अर्थपूर्ण समस्या-समाधान में लगाने वाले पेशेवर हैं"
- फिर भी, मुझे बड़ी कंपनियों में काम करना पसंद है, और मेरा मानना है कि संगठन के भीतर रास्ता बनाकर असल features या सुधारों को users तक पहुँचाना अच्छा काम करने का सबसे अच्छा तरीका है
idealistic दृष्टिकोण जितना दिखता है, उससे ज़्यादा cynical क्यों है
- एक कट्टर "idealistic" नज़रिये के अनुसार:
late-capitalist hellscape में बड़ी कंपनियाँ ऐसे लुटेरे अभिजात चलाते हैं जिन्हें सिर्फ सत्ता चाहिए,
आज्ञाकारी engineer drones तेजी से खराब code उगलते हैं ताकि stock price फूले,
और अंत में users बदतर software के लिए ज़्यादा पैसे देते हैं और ads झेलते हैं - यह दृष्टिकोण सहकर्मियों और managers को cynical नज़र से देखता है
- जबकि वास्तव में बड़ी कंपनियों के executives users को अच्छा software देना चाहते हैं
- यह दृष्टिकोण सिर्फ तभी idealistic दिखता है जब मान लिया जाए कि किसी individual engineer को कोई समझौता स्वीकार नहीं करना चाहिए
- इस नज़रिये के अनुसार, कंपनी दबाव डाले तब भी खराब software नहीं लिखना चाहिए, और चाहे कंपनी कितना भी समझौता करे या सिर्फ output देने को कहे, नैतिक रूप से डटकर मना कर देना कर्तव्य है
- यह कहानी कि एक अनाम व्यक्ति उस भलाई की रक्षा कर रहा है जिसके बारे में users को भी पता नहीं, अपने आप को नायक मानने वाली self-image को मजबूत करती है
- लेकिन यह दृष्टिकोण दुनिया को मूल रूप से भ्रष्ट और स्वार्थी ढाँचे के रूप में परिभाषित करता है, और यहीं से शुरू होता है कि वास्तविक सकारात्मक बदलाव संभव ही नहीं है
- इसलिए यह idealism से ज़्यादा, बदलाव की संभावना छोड़ चुके cynical नज़रिये के करीब लगता है
cynical दृष्टिकोण जितना दिखता है, उससे ज़्यादा idealistic क्यों है
- "राजनीतिक खेल का औज़ार" और "अर्थपूर्ण समस्याएँ हल करने वाला पेशेवर" — इन दोनों के बीच कोई साफ़ रेखा नहीं है
- वास्तव में लगभग हर अर्थपूर्ण समस्या राजनीतिक प्रक्रियाओं के ज़रिए ही सुलझती है
- बहुत कम समस्याएँ हैं जिन्हें आप अकेले हल कर सकते हैं; बड़े product बदलाव (जैसे GitHub के 15 करोड़ users के लिए Markdown में LaTeX का उपयोग संभव बनाना) में बहुत से लोगों के साथ तालमेल चाहिए, इसलिए राजनीति में शामिल होना पड़ता है
- software engineer बड़ी कंपनियों में दिशा तय नहीं करते, लेकिन कंपनी की दिशा को ठोस technical बदलावों में बदलने में उनका काफ़ी प्रभाव होता है
- बड़ी कंपनियाँ करोड़ों या अरबों users को सेवा देती हैं, इसलिए छोटे बदलाव भी कुल मिलाकर बहुत बड़े सकारात्मक या नकारात्मक प्रभाव डाल सकते हैं
- इस गंदी और उलझी राजनीतिक प्रक्रिया में भाग लेना चुनना, अपने आप में idealistic काम है
- बड़ी कंपनी के engineer की स्थिति public service में काम करने वाले व्यक्ति जैसी है: वह सरकारी नीति की बड़ी दिशा तय नहीं कर सकता, लेकिन फिर भी आदर्शवादी आशा रखता है कि वह कुछ अच्छा कर पाएगा
टीके की तरह काम करने वाला cynicism
- cynicism की एक स्वस्थ मात्रा अत्यधिक cynicism के खिलाफ टीका बन सकती है
- अगर बड़ी कंपनियों में engineers खराब code क्यों लिखते हैं, इसका थोड़ा cynical स्पष्टीकरण न हो, तो लोग इस अत्यधिक cynical व्याख्या की ओर जा सकते हैं कि engineers का मनोबल जानबूझकर इसीलिए तोड़ा जा रहा है ताकि unionization रोकी जा सके, यानी anti-labor strategy
- कंपनियाँ इस तरह की साज़िशें चलाने के लिए बनी ही नहीं होतीं
- अगर यह समझ न हो कि बड़ी कंपनियाँ अक्षम फैसले क्यों लेती हैं, तो लोग इस अत्यधिक cynical व्याख्या की ओर जा सकते हैं कि बड़ी कंपनियाँ पूरी तरह निकम्मों से भरी हैं
- जबकि वास्तव में कंपनियों में मजबूत और कमजोर engineers का सामान्य मिश्रण होता है
अंतिम विचार
- software engineering पर लिखे गए लेखों में idealistic लेख बहुत ज़्यादा हैं
- अच्छा code महत्वपूर्ण है, सहकर्मियों के प्रति दयालु होना चाहिए, और सकारात्मक असर वाले projects पर काम करना चाहिए — यह बताने वाली किताबें और blog posts पहले से बहुत हैं
- लेकिन बड़ी कंपनियाँ वास्तव में कैसे चलती हैं, यह सही ढंग से बताने वाले लेख कम हैं
- cynical लेख लोगों को उदास कर सकते हैं या उन्हें कड़वा cynical बना सकते हैं, लेकिन idealistic लेख भी नुकसान पहुँचा सकते हैं
- 2010s में निकली software engineers की एक पीढ़ी के पास बड़ी कंपनियों के काम करने के बारे में तथ्यों से अलग एक मॉडल था,
और 2020s में आते-आते वे उसी के कारण लगभग पिसते जा रहे हैं - अगर उन्होंने कंपनियों के काम करने के तरीके का सही मॉडल भीतर तक अपनाया होता, तो न सिर्फ उनके समस्याओं में फँसने की संभावना कम होती, बल्कि अपने idealistic लक्ष्यों को हासिल करने में भी उन्हें ज़्यादा मदद मिलती
Hacker News टिप्पणियों पर अतिरिक्त जवाब
- कुछ टिप्पणियाँ: जब employer अनैतिक गतिविधियों में शामिल हो, तब "मैं जो कर रहा हूँ वह दरअसल अच्छा है" कहना असंगत है
- यह पोस्ट मेरे Microsoft में काम करने का नैतिक बचाव नहीं है, बल्कि "बड़ी कंपनियों में सक्षम engineers खराब code क्यों लिखते हैं" पर एक follow-up है
- कुछ टिप्पणियाँ: C-level executives अच्छे software देना चाहते हैं, इस दावे पर यह आपत्ति कि वे व्यक्तिगत सफलता के लिए इसे बलि नहीं चढ़ाते
- मैं सहमत हूँ, लेकिन यह हमेशा zero-sum नहीं होता; अच्छा software software company के लिए पैसा भी कमाता है
- कुछ टिप्पणियाँ: High-Tech Employee Antitrust Litigation का लिंक इस उदाहरण के रूप में दिया गया कि बड़ी कंपनियाँ कर्मचारियों के खिलाफ साज़िश में शामिल होती हैं
- कंपनियाँ वेतन पर मिलीभगत करने के लिए संरचनात्मक रूप से तैयार हो सकती हैं, लेकिन कर्मचारियों को जानबूझकर दुखी करने के लिए नहीं
- इस तरह का बारीक cultural control वहाँ नहीं होता, और जहाँ तक वे नियंत्रण कर सकती हैं, वे कोशिश करती हैं कि कर्मचारी कम पैसे में काम करें और नौकरी छोड़कर न जाएँ, इसलिए उन्हें खुश रखा जाए
3 टिप्पणियां
यह सही है कि थोड़ी निंदकता ज़रूरी है।
क्या code review जैसे इस क्षेत्र की भूमिका अब धीरे-धीरे AI को नहीं सौंप देनी चाहिए?
आख़िर यह उसी तरह की निंदकता के लिए उपयुक्त टैलेंट है।
Hacker News की राय
मुझे लगता है कि सनक, आदर्शवाद, आशावाद जैसे भावनात्मक फ्रेम वैचारिक अंतर्दृष्टि नहीं देते
भावनाओं के बजाय दुनिया को संभावना और असंभवता के नज़रिए से समझना बेहतर है
बड़ी कंपनियाँ अलग-अलग प्रोत्साहनों वाले लोगों का समूह होती हैं, इसलिए कुछ काम वे संरचनात्मक रूप से कर ही नहीं सकतीं
लेकिन जब प्रोत्साहन एक दिशा में हों, तो दूसरी कंपनियों या सरकारों के विरोध के बावजूद काम चौंकाने वाली तेजी से आगे बढ़ता है
आखिरकार, संगठनों को समझ में आने वाली घटनाओं की तरह देखना चाहिए, और उनके काम करने के तरीके का उपयोग कर पाना चाहिए
हालाँकि मानव समूहों जैसी जटिल प्रणालियों को नियंत्रित करने का तरीका अभी भी अनसुलझी समस्या है, और अगर किसी ने इसका दोहराया जा सकने वाला समाधान खोज लिया होता, तो निवेशक उसे अब तक लागू करवा चुके होते
हक़ीक़त में ज़्यादातर कंपनियाँ निवेशकों के हित के लिए नहीं चलतीं, और समय के साथ नौकरशाही अक्षमता की ओर झुकती जाती हैं
सनक मूल रूप से नकारात्मक प्रवृत्ति है, और सामाजिक संरचना पर ‘अच्छा’ असर नहीं डाल सकती
यथार्थवाद तटस्थ होता है। लंबे समय में मूल्यवान रवैया ‘parrhesia’ है, यानी ईमानदारी से और खुद से विश्वासघात किए बिना सच बोलना
न्यूटन के शब्दों में, “बात का सार कहने की कला, बिना दुश्मन बनाए” महत्वपूर्ण है
कंपनी भावनाओं या मान्यताओं वाली इकाई नहीं, बल्कि एक distributed optimization system है
हर सदस्य स्थानीय प्रोत्साहनों और अधूरी जानकारी के आधार पर काम करता है, और उसका नतीजा यह होता है कि पूरी तस्वीर अव्यावहारिक लग सकती है, जबकि उसके हिस्से आंशिक रूप से तर्कसंगत होते हैं
इसी ढाँचे की वजह से कंपनियाँ व्यक्ति के स्तर पर psychopathic traits जैसी चीज़ें दिखाती हैं — सहानुभूति की कमी कोई नैतिक विफलता नहीं, बल्कि metrics, targets और कानूनी जवाबदेही जैसी अमूर्त निर्णय संरचनाओं का उप-उत्पाद है
संगठन अपराधबोध महसूस नहीं करते; वे तभी प्रतिक्रिया देते हैं जब incentive gradient बदलता है
इसलिए सनक बनाम आशावाद का सवाल मूड का नहीं, बल्कि इस बात का है कि आप संगठन को इरादतन कर्ता मानते हैं या blind selection process
दूसरे नज़रिए से देखने पर समझ आता है कि बहुत सी ‘अक्षमता’ दरअसल सिस्टम का वैसा ही चलना है जैसा उसे डिज़ाइन किया गया था
समस्या यह है कि कंपनियाँ गलत लक्ष्यों को बहुत अच्छी तरह optimize करती हैं
भावनाएँ सोच को प्रभावित करती हैं, इसलिए उन्हें पहचानकर मॉडल में शामिल करना चाहिए
जैसे कैमरा लेंस की distortion ठीक की जाती है, वैसे ही अपने cognitive lens का मॉडल बनाना चाहिए
मैं इस दावे से सहमत नहीं हूँ कि C-level executives अच्छा software बनाना चाहते हैं
उनकी चिंता shareholder value होती है, और middle management की चिंता promotion और power expansion
collaboration और communication राजनीति नहीं, बल्कि साधारण सहयोग हैं
राजनीति का मतलब है बेकार रिपोर्ट लिखना, श्रेय छीनना, और सहकर्मियों को बलि का बकरा बनाना जैसे संगठन के भीतर के power games
मुझे लगता है यह प्रक्रिया भी व्यापक अर्थ में राजनीति का हिस्सा है
जो मुझे अच्छा लगता है और जो management को अच्छा लगता है, वह पूरी तरह अलग है
कुछ लोग इसे चालाकी या manipulation मानते हैं, लेकिन असल में यह संबंध बनाने की क्षमता का सवाल है
जहाँ लोग इकट्ठा होंगे, वहाँ शक्ति और प्रतिष्ठा जुड़ेंगे ही, और इससे बचा नहीं जा सकता
आखिरकार असर डालने के लिए political sense होना ज़रूरी है
मैं Sean की बात से पूरी तरह सहमत हूँ
मैंने भी काम पर चरम सनक अपनाने की कोशिश की, लेकिन थोड़े आदर्शवाद ने बेहतर नतीजे दिए
हालाँकि समाज बदलने के तरीकों पर मेरी राय अलग है
अगर आप कर्मचारी बने रहना चाहते हैं, तो उसकी सलाह सही है, लेकिन कर्मचारी बने रहना ज़रूरी नहीं
consultant के रूप में independent होने के बाद मैं कहीं ज़्यादा आज़ाद हो गया
अब अगर भूमिका CTO या CEO जैसी स्वायत्तता वाली न हो, तो मैं फिर से full-time नौकरी में लौटना नहीं चाहूँगा
जो काम असंभव लगते हैं उन्हें करने के लिए थोड़ी-सी भोली हिम्मत चाहिए
मैं ब्रिटिश हूँ, इसलिए मूल रूप से सनकी हूँ
मुझे समझ नहीं आता कि अमेरिकी engineers बार-बार कंपनियों द्वारा शोषित होने के बावजूद अब भी सिस्टम पर भरोसा कैसे रखते हैं
सचमुच सनकी बनने के लिए कंपनी की मंशा और इरादों को information network के ज़रिए समझना पड़ता है
यह मानना कि कंपनी कर्मचारियों की खुशहाली चाहती है, कुछ ज़्यादा ही पढ़ लेना है
Meta और Amazon ने एक स्तर की attrition rate बनाए रखना नीतिगत रूप से पसंद किया था
unvested stock छोड़कर जाने वाले कर्मचारियों की संख्या जितनी अधिक होती, कंपनी के लिए उतना बेहतर था
उन्हें इस बात से संतोष मिलता है कि वे अधिक सक्षम सहकर्मियों के साथ काम कर रहे हैं
यह बस एक rationalization mechanism जैसा लगता है
C-level लोग technology नहीं समझते, और middle managers सत्ता की चाह में फँसे रहते हैं
जब ऐसा ढाँचा बनता है, तो संगठन का feedback loop टूट जाता है और कंपनी toxic structure बन जाती है
तब कोई भी ‘स्वस्थ सनक’ काम नहीं आती
मुझे यह दुविधा समझ नहीं आती
engineer के रूप में मेरी भूमिका manager की जिंदगी आसान बनाना है
अगर संगठन के मूल्य मेरे मूल्यों से नहीं मिलते, तो मैं कहीं और चला जाऊँगा
बस इतनी-सी बात है
बल्कि manager की भूमिका टीम के roadblocks हटाने की होती है
अगर दुनिया बचानी है, तो non-profit में जाना चाहिए
यह “आदेश मिला है तो मैं कैंप बना दूँगा” जैसी नैतिक असंवेदनशीलता तक ले जा सकता है
जैसे-जैसे तकनीक mature होती है, राजनीति और management का हावी होना स्वाभाविक है
शुरुआती दौर में तकनीकी लोग खुलकर काम करते हैं, लेकिन उद्योग mature होते ही management दखल देने लगता है
पुल, बिजली, रेडियो आदि में भी यही पैटर्न बार-बार दिखा है
software भी अब उसी चरण में पहुँच चुका है
तकनीक का इतिहास देखें तो यह चक्र बार-बार दिखाई देता है
मैं सोचता था कि सनक पैदा क्यों होती है
यह नकारात्मक अनुभवों को ठीक से process न कर पाने का परिणाम है
युवावस्था में लोग आदर्शवादी होते हैं, लेकिन उम्र और अनुभव बढ़ने के साथ सनकी हो जाते हैं
लेकिन अगर युवा पीढ़ी ही ज़रूरत से ज़्यादा सनकी हो जाए, तो यह दुखद है
लोगों को मनाने के लिए सहानुभूति और सच्ची बातचीत की ज़रूरत होती है
राजनीति का खेल नहीं, बल्कि समानता खोजने और सम्मान देने की कोशिश ज़रूरी है
सिर्फ उम्मीद पर निर्णय लेना मुश्किल है
लेखक अच्छा इंसान लगता है, लेकिन मुझे लगता है कि वह बड़ी कंपनियों की हकीकत को बहुत भोलेपन से देखता है
वह High-Tech Employee Antitrust Litigation में उल्लिखित कंपनियों में काम करता है, और निगरानी, एकाधिकार और सैन्य परियोजनाओं में शामिल संगठनों का हिस्सा है
उसे ऊँची तनख्वाह मिलना उसके चुनाव का नतीजा है, और इसके बदले वह नैतिक ज़िम्मेदारी से नहीं बच सकता
भ्रष्ट सिस्टम के भीतर राजनीतिक रूप से सफल होना पैसे दिला सकता है, लेकिन अच्छा जीवन जीने से उसका अलग सवाल है
ऐसा चुनाव करने पर industry में मज़ाक भी उड़ाया जाता है, पर उससे फर्क नहीं पड़ता
बड़े संगठन के भीतर भी सकारात्मक प्रभाव पैदा किया जा सकता है
अमेरिका में रहना भी कुछ वैसी ही दुविधा है — जैसे लोग व्यावहारिक कारणों से वहाँ रहते हैं, भले वह पूरी तरह नैतिक न हो
वह बस मुनाफ़ा अधिकतम करने वाली संरचना का नतीजा था, और antitrust मुकदमे ने उसे ठीक किया
GitHub के सैन्य कार्रवाई में शामिल होने का दावा कमज़ोर आधार वाला है