- किसी चीज़ को छूते, बदलते और उससे सीखते रहना (tinkering) केवल skill हासिल करना नहीं, बल्कि सीखने और अपनी रुचि गढ़ने की एक केंद्रीय प्रक्रिया है
- बिना किसी तय मकसद के कोशिश करना और बार-बार असफल होना, इसी प्रक्रिया में जिज्ञासा और संवेदनशीलता विकसित होती है
- अच्छी रुचि कई tools और environments को खुद इस्तेमाल करके, जो पसंद न आए उसे छोड़ने और जो अच्छा लगे उसे बचाए रखने वाले दोहराए जाने वाले प्रयोगों से बनती है
- हर बार हाथ लगाना, तोड़ना और फिर से बनाना, साधारण और उत्कृष्ट के बीच फर्क पहचानने वाली समझ विकसित करने का तरीका है
- सवाल करना, प्रयोग करना, और हर दिन टकराते रहना ही आज के दौर के developer की असली mindset होनी चाहिए
tinkering क्या है
- ‘Tinker’ का मतलब है किसी चीज़ को ठीक करने या बेहतर बनाने के लिए उसमें बार-बार छोटे-छोटे बदलाव करना
- FPS games में mouse sensitivity adjust करना, Linux window manager सेट करना, mechanical keyboard खोलकर उसकी lubrication करना जैसे काम इसके उदाहरण हैं
- ये काम हमेशा ज़रूरी नहीं होते, लेकिन ये अपना खुद का environment बनाने का आनंद देते हैं और उसी से सीखना आगे बढ़ता है
tinkering का रवैया
- दुनिया में broadly दो तरह के लोग होते हैं: जो सिर्फ लक्ष्य हासिल करने के लिए काम करते हैं और जो बिना किसी खास वजह के भी चीज़ें आज़माते हैं
- आदर्श रवैया इनके बीच में है, यानी experiment और practicality के बीच संतुलन ढूँढना
- नई language, tool या editor को छेड़ना और उससे होने वाली असुविधा को स्वीकार करना, रचनात्मक संवेदना को फैलाने वाली प्रक्रिया बन जाता है
- कुछ developers अगर सिर्फ VSCode terminal इस्तेमाल करते हों, vim bindings न जानते हों, या CLI की जगह GitHub Desktop इस्तेमाल करते हों, तो इसे सीधा गलत नहीं कहा जा सकता, लेकिन इसे न्यूनतम स्तर (minimum) समझना चाहिए
- जैसे कहा जाता है, “practice वह चीज़ है जिसे फेंका जा सकता है”, उसी तरह नतीजे से ज़्यादा प्रक्रिया की खोजपरकता और उसकी आवृत्ति महत्वपूर्ण है
सीखने और रुचि का रिश्ता
- अच्छी रुचि अनुभवों के जमा होने से पैदा हुई विवेकपूर्ण पहचान है, और यह बिना अलग-अलग कोशिशों के नहीं बनती
- कई tools और languages को आज़माते हुए “क्या अच्छा है” और “क्या खास नहीं है” का फर्क समझना ही सीखना है
- जो कोशिशें पहले बेकार लगती थीं, वही बाद में programming के प्रति समझ और लगाव को गहरा करती हैं
- दूसरों के मानदंडों का पीछा करने के बजाय, अपने मानदंडों के आधार पर चुनना और छोड़ना ही असली रुचि बनाने की प्रक्रिया है
- हाल में GLSL shaders लिखना, Rust procedural macros, template C++, Swift app development, और Helix editor का इस्तेमाल जैसी चीज़ें आज़माकर सिर्फ आनंद के लिए नया ज्ञान और अनुभव मिला
“सीखने में लगाया गया समय कभी व्यर्थ नहीं जाता”
अभी रुचि क्यों महत्वपूर्ण है
- लगातार कोशिश करना, सुधारना, तोड़ना और फिर से बनाना—इसी प्रक्रिया में skill के साथ-साथ संवेदना और सौंदर्यबोध भी विकसित होते हैं
- अच्छी रुचि (good taste) बहुत-सी चीज़ों को इस्तेमाल करके, जो पसंद न आए उसे छोड़कर और जो पसंद आए उसे बचाकर रखने की प्रक्रिया से बनती है
- यहाँ ‘रुचि’ का मतलब साधारण और उत्कृष्ट में फर्क करने की क्षमता है, और यह हर व्यक्ति में अलग हो सकती है; इसका दूसरों जैसा होना ज़रूरी नहीं
यथास्थिति पर सवाल उठाइए, प्रयोग कीजिए, तोड़िए, और इसे बार-बार दोहराइए
1 टिप्पणियां
Hacker News राय
बहुत पहले एक दोस्त ने कहा था कि कॉफी के बारे में सब कुछ सीख लेने के बाद वह अब सिर्फ महंगी beans और machines से बनी कॉफी ही सच में एंजॉय कर पाता है, लेकिन पहले supermarket की कॉफी पीते समय जो खुशी मिलती थी, वह उतनी ही थी
इसलिए मैं जहाँ तक हो सके ‘पसंद/रुचि’ को कम करने वाली ज़िंदगी जीने की कोशिश करता हूँ। 20 डॉलर के headphones और 200 डॉलर के TV से भी मैं पूरी तरह संतुष्ट हूँ, और दोस्तों के 3,000 डॉलर के TV होने पर भी खुशी का स्तर अलग नहीं होता
अब मैं independent roastery की beans subscription पर लेता हूँ, और हर बार नए स्वाद खोजने में मज़ा आता है। अच्छी कॉफी को जानना मेरे जीवन को और समृद्ध बनाने वाला अनुभव रहा है
मेरे लिए ‘रुचि’ अनुभव को खराब नहीं करती, बल्कि उसे और समृद्ध बनाती है
फिर भी रोज़मर्रा में मैं अब भी 20 डॉलर वाले ही इस्तेमाल करता हूँ। मेरे हिसाब से असली बात ‘दिखावे के बिना आनंद लेने का मन’ है
जैसे कोई बेहतरीन engineer वीकेंड पर आलू पर Doom चला दे, वैसे ही रुचि में विविधता को समेट लेने की ताकत होती है
असली रुचि कई styles की सुंदरता को समझ पाने की क्षमता है। मैंने भी तरह-तरह के coffee gear आज़माते-आज़माते आखिरकार ‘कम निर्णयात्मक रुचि’ विकसित की
“जो लोग सिर्फ लक्ष्य के लिए करते हैं” और “जो बस करते रहते हैं” — इस बात से मैं सहमत हूँ
आजकल हर कोई ‘vibe coding’ कर सकता है, इसलिए मुझे लगता है कि developers के बीच फर्क ‘good taste’ से तय होता है
यह सिर्फ instinct नहीं, बल्कि कई कोशिशों से जमा हुई discernment है। System design में भी यही बात लागू होती है: सिर्फ जल्दी बनाना नहीं, बल्कि ‘ऐसी संरचना बनाना जो ढहे नहीं’ ज़्यादा महत्वपूर्ण है
इसलिए मैं
sandboxफ़ोल्डर बनाकर नए ideas या libraries पर प्रयोग करते हुए अपनी रुचि को तराशता हूँ~/Codeफ़ोल्डर में experimental projects भरे पड़े हैं। ऐसे छोटे प्रयोग ही मुझे बेहतर programmer बनाते हैंउदाहरण के लिए, मैंने एक PR देखा था जहाँ Flask app में सिर्फ एक route जोड़ना था, लेकिन उसे बेवजह AWS Lambda और Terraform से जटिल बना दिया गया
मैं लेखक की बात समझता हूँ, लेकिन उदाहरण अच्छे नहीं लगे। Mouse sensitivity, keyboard switches, और VSCode settings तो वैसी चीज़ें हैं जिन्हें मूल रूप से adjust करने के लिए ही बनाया गया है
असली सीख तो ‘गलत तरीके से इस्तेमाल करके देखना’ से आती है, लेकिन आजकल ऐसे प्रयास भी product बन चुके हैं। दुनिया इतनी आसान हो गई है कि tweak तक एक packaged experience बन गया है — यह थोड़ा खलता है
पहले मैं ‘taste’ को अच्छी quality पहचानने का पैमाना मानता था, लेकिन अब इसे ‘values के मेल की डिग्री’ की तरह देखता हूँ
जब हम किसी की taste को अच्छा कहते हैं, तो अक्सर उसका मतलब यह होता है कि वह व्यक्ति और हम एक जैसे values साझा करते हैं
मेरे हिसाब से यही ‘intentionality’ असली taste का केंद्र है
मैंने जिन सबसे खराब engineers को देखा है, वे ‘अपनी ही taste में फँसे लोग’ थे। सहयोग की ज़रूरत वाले माहौल में ऐसा रवैया टीम को बर्बाद कर देता है
Coding कला नहीं, बल्कि ‘दूसरों के लिए किया जाने वाला काम’ है। Users को language या pattern से ज़्यादा नतीजे की value से मतलब होता है
सच में सक्षम developer वही है जो किसी भी तरीके से सहयोग कर सके
महत्वपूर्ण बात यह है कि कब सिद्धांतों पर टिके रहना है, इसका sense होना चाहिए
“लक्ष्य के लिए किया गया काम बनाम बस किए जाने वाला काम” का यह भेद 『Zen and the Art of Motorcycle Maintenance』 की अवधारणा जैसा लगता है
Robert Pirsig इसे ‘romantic understanding’ और ‘classical understanding’ में बाँटते हैं, लेकिन अंत में कहते हैं कि दोनों ही आभास हैं, और एकीकृत दृष्टि ही आदर्श है
लेखक का ‘tinkering’ वाला विचार मुझे दरअसल neurodivergence में दिखने वाले दोहरावपूर्ण गहन-एकाग्र व्यवहार जैसा लगता है
अच्छा taste सिर्फ दोहराव से नहीं, बल्कि ज्ञान और कौशल के संयोजन से आता है। आप दुनिया को कितनी व्यापकता से समझते हैं, और किन क्षेत्रों के बारे में अपनी अज्ञानता पहचानते हैं — यही असल बात है
पहले मैं भी ‘अनंत tweak करने वाला’ था, लेकिन परिवार, काम और जीवन की व्यस्तता के साथ मुझे व्यावहारिक रूप से बहुत कुछ छोड़ना पड़ा
अब मैं Synology NAS इस्तेमाल करता हूँ, और Linux छोड़कर फिर Windows पर लौट आया हूँ। फिर भी tinkering की भावना अभी भी मेरे अंदर है
‘ऐसा नोट लेने का तरीका जिसे maintenance चाहिए’ मेरे लिए सही नहीं है
पता नहीं ‘taste’ शब्द यहाँ बिल्कुल सही है या नहीं, लेकिन ‘मज़ेदार प्रयोगों के ज़रिए सीखने की प्रक्रिया’ वाली बात से मैं सहमत हूँ
हालाँकि इस तरह की learning की दो सीमाएँ हैं
लेखक ने IDE का उदाहरण देकर ‘tinkering’ समझाया, लेकिन IDE ही प्रयोग का अकेला विषय नहीं है
Mouse sensitivity, keyboard, window manager जैसी कई और चीज़ें भी हैं
सिर्फ IDE को न छेड़ने से किसी को ‘non-tweaker’ नहीं कहा जा सकता। आखिरकार असली बात ‘खोजी रवैया’ है, कोई खास tool नहीं