150 पॉइंट द्वारा GN⁺ 2025-04-10 | 19 टिप्पणियां | WhatsApp पर शेयर करें
  • लेखक ने अलग-अलग डेवलपर्स से मिलते हुए यह सोचना शुरू किया कि बेहतरीन डेवलपर्स में कौन-सी साझा विशेषताएँ होती हैं
  • यह लेख शुरुआती डेवलपर्स या आगे बढ़ना चाहने वालों को प्रेरणा देने के लिए लिखी गई एक अवलोकन-आधारित टिप्पणी है

पहले reference docs पढ़ें

  • Stack Overflow या LLM को पहले देखने के बजाय आधिकारिक दस्तावेज़ पहले पढ़ने की आदत डालना ज़रूरी है
  • Apache, Python, TOML आदि की आधिकारिक docs वास्तव में काफ़ी अच्छी तरह लिखी गई हैं
  • source से सीधे सीखने की आदत लंबे समय में बहुत मदद करती है

tools को गहराई से समझें

  • किसी tool को ‘इस्तेमाल’ करना और उसे ‘समझना’ दो अलग स्तर हैं
  • जो लोग tools को अच्छी तरह जानते हैं, वे हर setting को समझा सकते हैं
  • सही मायने में समझने के लिए tool की इन बातों को जानना चाहिए:
    • इतिहास (यह क्यों बनाया गया)
    • वर्तमान (इसे कौन maintain करता है)
    • सीमाएँ (यह कब उपयुक्त नहीं है)
    • ecosystem (आसपास के tools, libraries आदि)
      इन सबको समझना ज़रूरी है
  • अगर आप Kafka जैसे tool को मुख्य रूप से इस्तेमाल करते हैं, तो Reddit पर पढ़े हुए स्तर से कहीं अधिक जानना चाहिए

error messages ध्यान से पढ़ें

  • error messages को ध्यान से देखने पर उनमें hints छिपे होते हैं
  • बेहतरीन डेवलपर्स बहुत कम जानकारी देखकर भी समस्या का अनुमान लगा लेते हैं
  • 80% समस्याएँ सिर्फ़ error message को ठीक से पढ़ने से सुलझ सकती हैं

समस्या को छोटे हिस्सों में बाँटना सीखें

  • अटक जाना हर किसी के साथ होता है, और समस्या को छोटे हिस्सों में बाँटे बिना उसे हल करना मुश्किल है
  • जिनके पास अनुभव ज़्यादा होता है या problem-solving skill बेहतर होती है, वे इसे आसानी से कर लेते हैं
  • डेवलपर का मूल काम आखिरकार बड़ी समस्या को छोटी समस्याओं में बाँटना ही है
  • सरल समस्याओं को एक-एक करके हल करें, तो पूरी समस्या भी हल हो जाती है

code से डरें नहीं

  • बेहतरीन डेवलपर्स code पढ़ने से नहीं डरते
  • वे “यह मेरा क्षेत्र नहीं है” जैसी बातें कहे बिना बस कोशिश करते हैं और सीखते हैं
  • अक्सर ऐसा होता है कि जिस codebase को उन्होंने पहली बार छुआ हो, उसमें भी वे जल्दी ही टीम के expert बन जाते हैं

हमेशा दूसरों की मदद करें

  • व्यस्त होने पर भी मदद करने वाले डेवलपर्स अच्छे teammate और शानदार professional होते हैं
  • जिज्ञासा और सहयोगी रवैया अच्छे डेवलपर की अनिवार्य विशेषताएँ हैं

लिखें

  • उत्कृष्ट डेवलपर्स अच्छा बोलते भी हैं और अपने विचारों को लिखकर भी व्यक्त कर सकते हैं
  • वे blog, talks, open source activities आदि के ज़रिए अपने विचार साझा करते हैं
  • writing skill का संबंध सीधे सोच की संरचना से है
  • जो लोग अच्छा लिखते हैं, उनका code भी structured, स्पष्ट और कभी-कभी witty होता है

सीखना कभी बंद न करें

  • उम्र चाहे जो हो, लगातार सीखते रहने वाले लोग ही सच में बेहतरीन डेवलपर होते हैं
  • वे नए tools या languages आज़माने से नहीं हिचकते
  • वे नई technology का अंधाधुंध पीछा नहीं करते, बल्कि उसके फायदे-नुकसान खुद समझते हैं
  • कम उम्र में भी अगर कोई fixed mindset में फँस जाए, तो उसकी growth रुक जाती है

status से चिपके न रहें

  • अच्छे डेवलपर्स पद से परे जाकर किसी से भी सीखने को तैयार रहते हैं
  • वे नए लोगों से भी सीखने लायक चीज़ें होने का रवैया रखते हैं
  • नए नज़रिये वाले लोगों से बातचीत में उन्हें प्रेरणा मिलती है

अपनी reputation बनाएँ

  • skill महत्वपूर्ण है, लेकिन skill का पहचाना जाना भी महत्वपूर्ण है
  • reputation प्रभाव बढ़ाने का एक साधन है
  • reputation बनाने के कुछ तरीके:
    • महत्वपूर्ण services को खुद बनाना या deploy करना
    • widely used tools विकसित करना
    • प्रसिद्ध open source projects में योगदान देना
    • ऐसी किताब लिखना जिसे बार-बार cite किया जाए
  • reputation एक दिन में नहीं बनती; इसके लिए लगातार मेहनत और समय चाहिए

धैर्य रखें

  • इंसानों और computers दोनों के लिए धैर्य की ज़रूरत होती है
  • आपके आसपास के लोग मूर्ख नहीं होते, बस उनके पास जानकारी कम हो सकती है
  • धैर्य न हो, तो असंतोष जल्दी जमा होता है और collaboration मुश्किल हो जाता है
  • कठिन समस्याओं को हल करने के लिए focus और persistence दोनों चाहिए

computer को दोष न दें

  • बेहतरीन डेवलपर्स कभी system या बाहरी कारणों को दोष नहीं देते
  • जो समस्या ऊपर से random लगती है, उसके पीछे भी कोई logical कारण होता है
  • कारण खोजने के लिए अंत तक गहराई में जाने वाला रवैया ज़रूरी है

“मुझे नहीं पता” कहना सीखें

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

अनुमान न लगाएँ

  • PEP 20 की philosophy की तरह, जब बात अस्पष्ट हो तो कभी अनुमान न लगाएँ
  • अनुमान के ख़तरे:
    • गलत हुआ तो bug
    • सही होने पर भी गलत assumption पर भरोसा बन सकता है, जो बाद में समस्या पैदा करेगा
  • अगर भरोसा न हो, तो:
    • सवाल पूछें
    • docs पढ़ें
    • debugging tools का इस्तेमाल करें
    • और प्रमाण खोजें

चीज़ों को सरल रखें

  • चतुर लोग चतुर code लिखते हैं, महान लोग सरल code लिखते हैं
  • सरल code maintenance के लिए कहीं अधिक बेहतर होता है
  • कहाँ complexity ज़रूरी है और कहाँ नहीं, यह समझना ही असली skill है

समापन विचार

  • यह लेख कोई checklist नहीं है, और शानदार engineering कोई प्रतियोगिता नहीं है
  • लेकिन अपने आप से यह झूठ मत बोलिए कि आप कठिन कामों को छोड़कर भी आगे बढ़ सकते हैं
  • शानदार डेवलपर बनने का कोई shortcut नहीं है

19 टिप्पणियां

 
dduha 2025-04-24

अच्छा लेख है, धन्यवाद!!

 
openman 2025-04-17

यह बात सुकून देती है कि यह लेख कोई चेकलिस्ट नहीं है, और यह बात हौसला देती है कि कोई शॉर्टकट नहीं होता।

 
geekbini 2025-04-13

अगर आप कंपनी के प्रोजेक्ट को समझते हैं,
तो किसी भी क्षेत्र में senior developer बनें,
चाहे वह firmware हो, app हो या web,
web, app या firmware के debug logs को देखते हुए
उस स्तर तक पहुँच जाना संभव लगता है जहाँ यह debug किया जा सके कि समस्या कैसे पैदा हुई।

 
softer 2025-04-11

मुझे याद है कि इंटरव्यू के दौरान मैंने उस व्यवहार का अनुमान लगाया था।

 
wogns3623 2025-04-11

व्यक्तिगत रूप से, मैं इस बात को भी महत्वपूर्ण मानता हूँ कि "मैं क्या बना रहा हूँ" इस बारे में हमेशा सोचते रहना चाहिए।

 
wogns3623 2025-04-13

अच्छा, इसके लिए Critical Thinking जैसा एक बढ़िया शब्द है।

 
lighteach 2025-04-10

इससे मुझे वाकई बहुत मदद मिली। अच्छे लेख के लिए धन्यवाद।

 
kylian 2025-04-10

तो फिर आधिकारिक दस्तावेज़ LLM से पढ़वा लेना चाहिए!

 
dudlf016 2025-04-10

RTFM: कृपया आधिकारिक दस्तावेज़ पढ़ें।

 
kandk 2025-04-10

कहा तो गया है कि यह चेकलिस्ट नहीं है, लेकिन लगता है मुझे इसे अपनी चेकलिस्ट बना लेना चाहिए।

 
haejuk99 2025-04-10

मैं इससे पूरी तरह सहमत हूँ कि आधिकारिक दस्तावेज़ ज़रूर देखने चाहिए।

 
aer0700 2025-04-10

जब मैं पहली बार coding सिखाता हूँ, तो यह बात कि कोई व्यक्ति error messages को ध्यान से पढ़ सकता है या नहीं, वहीं से पहली बार यह दिखने लगता है कि उसमें programmer बनने की योग्यता है या नहीं।

 
postinsight 2025-04-19

.... जो लोग इस बुनियादी समझ को नहीं मानते कि errors और bugs हमेशा मौजूद रहते हैं, वे ठग ही हैं

 
roxie 2025-05-05

वाक्य बहुत कठिन हैं..

 
postinsight 2025-04-19

वेब पर.

 
coremaker 2025-04-10

सभी नहीं, लेकिन ज़्यादातर बिंदु ऐसे हैं जिनसे सहमति बनती है।

 
GN⁺ 2025-04-10
Hacker News राय
  • अंदाज़ा न लगाना बिज़नेस में सबसे महत्वपूर्ण है

    • सेमीकंडक्टर मैन्युफैक्चरिंग में समस्या-समाधान क्षमता विकसित की, जहाँ गलत assumptions की लागत बहुत ज़्यादा होती है
    • हमेशा root cause को 100% समझना चाहिए
    • असामान्य tech stack से बचने की वजह यह है कि वे root cause analysis में बाधा डालते हैं
    • समस्या को ठीक-ठीक हल करना प्रतिष्ठा बनाने का सबसे तेज़ तरीका है
  • नई चीज़ों के साथ काम करते समय, reference material को गहराई से पढ़ने से पहले थोड़ा अनुमान लगाना अच्छा लगता है

    • नई language या API सीखते समय, tutorial के ज़रिए पहले अंदाज़ा लगाते हैं और उसके बाद reference material पढ़ते हैं
    • Intellisense जैसी सुविधाएँ देने वाली languages और IDE को पसंद करते हैं
  • Stack Overflow या LLM पर निर्भर होने के बजाय सीधे source reference देखना बेहतर है

    • गणित की किताब की तरह, शुरुआत में मुश्किल लगता है लेकिन समय के साथ समझ आने लगता है
    • Rust crates के docs.rs, Haskell का hoogle, C++ reference जैसी चीज़ें बेहतरीन reference material हैं
  • बेहतरीन डेवलपर हर स्तर के लोगों से संवाद करते हैं और उनसे सीखते हैं

    • नए लोग ताज़ा नज़रिया देते हैं, और हो सकता है कि पुराने अवरोध अब खत्म हो चुके हों
    • नियमों के मौजूद होने की वजह को समय-समय पर जाँचना चाहिए
  • Stack Overflow का सही उपयोग बहुत मददगार हो सकता है

    • LLM real-time event analysis या automation में उपयोगी हैं, लेकिन वे programmer की जगह नहीं ले सकते
    • LLM के ज़रिए विषय को समझ लेने के बाद official documentation देखना अच्छा है
  • बेहतरीन programmer CS background के बिना भी शानदार प्रदर्शन कर सकते हैं

    • ऐसे उदाहरण हैं जहाँ non-CS पृष्ठभूमि वाले लोगों ने programming सीखी और तेज़ी से आगे बढ़े
  • programming के अलावा business domain के साथ communication भी महत्वपूर्ण है

    • programming के बाहर के कई अलग-अलग factors पर भी विचार करना चाहिए
  • error messages को पढ़ना और समझना समस्या-समाधान में बहुत मदद करता है

    • asdf का उपयोग करके Python, Go, NodeJS versions मैनेज करते समय, error messages के ज़रिए समस्या हल की जा सकी
 
postinsight 2025-04-19

asdf क्या है? आपको warning देखनी चाहिए।

 
postinsight 2025-04-19

पता नहीं, लेकिन मुझे लगता है कि किसी भी कीमत पर सबसे महान न बनने का रवैया ज़्यादा बेहतर है। लिखने की बात हो... मदद करने की बात हो... ऐसे इंसानों में से...