1 पॉइंट द्वारा GN⁺ 2024-04-22 | 1 टिप्पणियां | WhatsApp पर शेयर करें
  • लेखक खुद को software engineering पेशे के साथ अच्छी तरह अनुकूल नहीं कर पाए

    • codebase की अंदरूनी logic को कुछ हद तक समझ लेने के बाद तकनीकी पक्ष उन्हें उबाऊ लगने लगा, और वे ज़्यादा करना चाहते थे तथा अलग तरीके से करना चाहते थे
    • वे design decisions और उनके व्यापक उद्देश्य को लेकर जिज्ञासु थे, लेकिन उन्हें कहा गया कि वे 'बहुत ज़्यादा सोचते हैं' या 'बहुत ज़्यादा परवाह करते हैं'
    • यह सिर्फ प्रतिभा और पद के मेल न खाने का मामला नहीं था; वे मूल रूप से इस बात से असहमत थे कि ऐसी जगहें कैसे चलती हैं, और उसे कायम रखने के बजाय बदलने का काम करना चाहते थे
  • 2023 की job postings देखते हुए लेखक का software engineering उद्योग के प्रति मोहभंग हो गया

    • ज़्यादातर मामलों में यह साफ था कि engineers जो code लिखेंगे, उसका मानवता या व्यक्तियों की महत्वपूर्ण समस्याओं से कोई वास्तविक संबंध नहीं होगा
    • startup culture इस उद्योग की 'ज़्यादा code बनाओ और कम सवाल पूछो' नीति की अगुवाई करती है
    • ज़्यादातर startups निवेशकों के पैसे को इधर-उधर घुमाते हुए paid users हासिल करने की कोशिश करते हैं, लेकिन अंततः engineers का समय बर्बाद होता है और venture capital उन लोगों के हाथ में चला जाता है जिनके पास पहले से ही काफ़ी पूंजी है
    • इसे रोमांचक और अर्थपूर्ण प्रयास की तरह पेश करने वाली job ads बुद्धि का अपमान हैं
  • पारंपरिक tech कंपनियाँ संगठन और वित्त के स्तर पर startups से अलग हो सकती हैं, लेकिन संस्कृति के स्तर पर उनमें बहुत कम अंतर है

    • FAANG में लिखा गया code वास्तव में users तक पहुँच सकता है, लेकिन code लिखने के हर पहलू पर किसी व्यक्ति की अपनी सोच पहले से भी ज़्यादा निरर्थक हो जाती है
    • engineers सिर्फ ऐसी मशीन के पुर्ज़े नहीं रह जाते जो capitalism के सबसे बुरे पहलुओं को automate करने वाले products बनाती है, बल्कि वे backend stack के आकार, technical interview scores, performance review scores जैसी संख्याओं में भी सिमट जाते हैं
    • engineers से उम्मीद की जाती है कि वे इस खोखले और अपमानजनक श्रम के लिए और अधिक आकांक्षी हों, और इस पर सवाल उठाना और भी अधिक दबा दिया जाता है
    • programmers को सिर्फ कैसे पर ध्यान देना चाहिए, क्या पर बहुत कम, और क्यों पर कभी नहीं
    • जो विरले code monkeys सिस्टम की आलोचना कर सकते हैं और करना चाहते हैं, उनके लिए संदेश साफ है: ऐसे विचार दरवाज़े के बाहर छोड़ दो
  • tech दुनिया का यह 'ज़्यादा करो, कम पूछो' वाला सोचने का तरीका भले अधिक code पैदा करे, लेकिन इससे और खराब software बनता है

    • कई बार, तब भी जब पूंजी और अन्य ताकतें—जो हमारे नियंत्रण में नहीं हैं—सैद्धांतिक रूप से हमें ऐसा software बनाने दे सकती हैं जो टिकाऊ हो, दुनिया पर सकारात्मक असर डाले या व्यावहारिक रूप से उपयोगी हो, हम सिर्फ जड़ता के कारण ऐसा नहीं करते
    • यही जड़ता पूरे tech stack में समा जाती है, जहाँ सामाजिक रूप से बेकार products बनाए जाते हैं
    • languages, libraries, frameworks, यहाँ तक कि code patterns तक, तकनीक उस बनावटी नवीनता और चालबाज़ी से संक्रमित है जो पूरे उद्योग को वास्तविक innovation से पहले ही जकड़े हुए है
    • अगर हम अपरंपरागत समस्याएँ हल नहीं कर रहे, तो अपरंपरागत engineering की ज़रूरत भी नहीं है
  • सबसे दिलचस्प engineering समस्याएँ वे हैं जो हमारे समाज में स्वाभाविक रूप से पैदा होती हैं

    • यह उन समस्याओं के विपरीत है जहाँ तकनीकी प्रगति स्वयं ही लक्ष्य बन जाती है, या जहाँ market demand न होने पर कृत्रिम रूप से demand पैदा करने की कोशिश की जाती है
    • सामाजिक आवश्यकता innovation की सबसे बड़ी प्रेरक शक्ति है, और ऐतिहासिक रूप से शुरुआती computing की सबसे क्रांतिकारी उपलब्धियाँ बड़े सार्वजनिक हित के लिए हासिल की गई थीं
    • लेखक चाहते हैं कि programming languages और paradigms, architecture से लेकर code की हर line और syntax तक, हर तरीका उस सिस्टम के कारण से तय हो जो बनाया जा रहा है
    • और वे चाहते हैं कि वह कारण महज़ अपने आप में मौजूद बेतुके business metrics नहीं, बल्कि वास्तविक और पहले से मौजूद ज़रूरतों का सच्चा प्रतिबिंब हो

GN⁺ की राय

  • लगता है कि कई software engineers मौजूदा उद्योग माहौल को लेकर संशय महसूस करते हैं, जहाँ ध्यान सिर्फ skills सुधारने या तकनीक की अपनी प्रगति पर रहता है। मैं इस विचार से सहमत हूँ कि तकनीक का उपयोग वास्तविक सामाजिक समस्याएँ सुलझाने और मूल्य पैदा करने के लिए होना अधिक महत्वपूर्ण है।
  • तकनीकी innovation अपने आप में महत्वपूर्ण है, लेकिन उसका दुनिया पर वास्तविक प्रभाव क्या है, इस पर लौटकर सोचना भी engineer की एक महत्वपूर्ण भूमिका है। सिर्फ बहुत सारा code जल्दी लिखने से ज़्यादा, उसके उद्देश्य और दिशा पर विचार करने वाला दृष्टिकोण ज़रूरी लगता है।
  • बड़ी कंपनियों या startup culture की समस्याओं को किसी individual engineer के लिए बदलना आसान नहीं हो सकता। लेकिन अपनी values के अनुसार संगठन चुनना, या परिचित लोगों के साथ मिलकर वैकल्पिक तरीकों से समस्याएँ सुलझाने की कोशिश करना भी अर्थपूर्ण हो सकता है।
  • तकनीक की प्रगति की दिशा तय करने में पूंजी की तर्कशक्ति का अत्यधिक प्रभाव चिंताजनक है। यह सोचना ज़रूरी है कि तकनीक सामाजिक सहमति या सार्वजनिक हित के लिए कैसे योगदान दे सकती है, और उस दिशा में बढ़ने के लिए सचेत प्रयास होने चाहिए।
  • अच्छा होगा अगर लेखक जैसे, उद्योग की प्रथाओं पर सवाल उठाने और विकल्प खोजने वाले engineers के बीच एकजुटता और संवाद के मंच अधिक सक्रिय हों। टिकाऊ और सामाजिक रूप से सार्थक तकनीक बनाने के लिए साथ काम करने वाली community के बढ़ने की उम्मीद है।

1 टिप्पणियां

 
GN⁺ 2024-04-22
Hacker News राय

संक्षेप में बात यह है:

  • कॉर्पोरेट दुनिया में कोड की नज़ाकत या सुंदरता से ज़्यादा ऐसे डेवलपर्स चाहिए होते हैं जो बिज़नेस आवश्यकताओं के मुताबिक फीचर जल्दी बना दें। अगर डेवलपर कंपनी को आर्थिक मूल्य नहीं दे रहा, तो उसे liability माना जाता है.
  • सॉफ्टवेयर डेवलपमेंट ज़्यादातर एक आर्थिक गतिविधि है, और डेवलपर्स ऐसा कोड लिख रहे हैं जिससे shareholders और management और अमीर बनें। उन्हें इस बात में दिलचस्पी नहीं है कि डेवलपर क्या करता है, या सॉफ्टवेयर डेवलपमेंट को कला या craftsmanship माना जाए.
  • इंडस्ट्री में बहुत से नकली लोग घुस आए हैं। product manager, scrum master जैसी "नकली भूमिकाएँ" भी पैदा हो गई हैं। सक्षम engineers को अक्षम लोगों को साथ लेकर चलना पड़ता है और उन्हें creativity, innovation, research, discovery, engineering जैसी चीज़ों का अनुभव कराने में मदद करनी पड़ती है.
  • कॉर्पोरेट सॉफ्टवेयर डेवलपमेंट में 10 साल से ज़्यादा काम कर चुके एक व्यक्ति का कहना है कि अब उसे बस बेहद ऊँची सैलरी के चेक की ही परवाह है.
  • प्रोग्रामिंग खुद में ऊर्जा देती है, लेकिन पेशे के रूप में असली प्रोग्रामिंग का हिस्सा बहुत छोटा है। इसकी जगह समय बेवकूफ़ी भरी मीटिंग्स, planning वगैरह में चला जाता है। रिटायरमेंट के बाद वह शुद्ध आनंद के लिए अपनी पसंद की चीज़ें प्रोग्राम करने का इरादा रखता है.
  • अगर meaningful projects पर काम करना है, तो हो सकता है कि आपको अपनी सैलरी या stock options छोड़ने पड़ें। अगर आप ad tech कंपनी या AI startup में काम करते हैं, तो यह बात और भी ज़्यादा सही हो सकती है.
  • समाधान के तौर पर independent development, अपने खुद के ideas पर काम करना, और सीधे consumers को बेचना जैसी बातें सामने आती हैं। startup शुरू करना भी एक तरीका है.