कम्युनिटी पर वापस जाएँ

समस्याएँ हल करते हुए टेक लीड बनने की राह

Gabriel Nelle दक्षिण जर्मनी में Baden-Baden के पास रहते हैं। वे अपनी गर्लफ्रेंड और दो बिल्लियों के साथ एक अपार्टमेंट साझा करते हैं। उन्होंने Siegen विश्वविद्यालय में गणित और जर्मन के शिक्षक बनने की पढ़ाई की, जो उन्होंने 2008 में पूरी की।

Youtube पर देखें
अवधि 52मिनट

Jonathan: नमस्ते, सबको। मेरा नाम Jonathan है। आज शाम आपका मेज़बान बनकर मुझे बहुत खुशी हो रही है। आज के शो में एक ऐसे मेहमान हैं जिन्हें पाकर मैं अपने आप को बहुत भाग्यशाली मानता हूँ। मैं आपका परिचय Gabriel Nelle से कराना चाहता हूँ। Gabriel हमारे Exercism के मुख्य कंट्रिब्यूटर में से एक हैं। वे खास तौर पर Go ट्रैक में बहुत शामिल रहे हैं, पर थोड़ी देर में वे खुद अपने बारे में विस्तार से बताएँगे। लेकिन इतना कहना चाहता हूँ, Gabriel, आपको पाकर बहुत अच्छा लगा। हमारे साथ आने के लिए धन्यवाद, और हमें उम्मीद है कि आज के शो में जितना मज़ा सारे श्रोताओं को आएगा, उतना ही आपको भी आएगा। तो Gabriel, अब आप ही शुरुआत कीजिए। ज़रा बताइए कि आप कहाँ से हैं और आज जहाँ हैं, वहाँ तक कैसे पहुँचे?

Gabriel: हाँ। नमस्ते। मैं Gabriel हूँ। मुझे बुलाने के लिए धन्यवाद। मैं दक्षिण जर्मनी से हूँ, वहीं बड़ा हुआ हूँ, और अभी भी वहीं रहता हूँ। ठीक वही जगह नहीं है, पर फिर भी दक्षिण जर्मनी ही है। हाँ, मेरा जन्म 81 में हुआ, यानी मैं अस्सी के दशक की शुरुआत का हूँ। और मुझे लगता है मेरी कहानी अस्सी के दशक के अंत के आसपास से शुरू होती है, जब मेरे पिता अपना पहला कंप्यूटर घर लाए। तो मुझे लगता है कहानी वहीं से शुरू होती है। कम से कम तकनीकी कहानी तो वहीं से।

Jonathan: हाँ।

Gabriel: उस पर MS-DOS था, मुझे ठीक से याद नहीं कि कौन-सा वर्ज़न था। मुझे लगता है वह पुराना वर्ज़न था, क्योंकि अगर मुझे ठीक से याद है तो मेरे पिता उसे घर लाए थे क्योंकि कंपनी में उसे फेंक दिया गया था और वहाँ नए कंप्यूटर आ गए थे। तो वे उसे घर ले आए, और कंप्यूटर के बारे में मेरा पहला अनुभव वही था। MS-DOS। यह दिलचस्प भी था और अजीब भी।

Jonathan: वे, वे लाइनें, काली स्क्रीन पर रंगीन लाइनें? क्या वह काफ़ी अच्छा था?

Gabriel: हाँ, वह सिर्फ़ काली स्क्रीन पर सफ़ेद था। बस इतना ही। और ज़्यादातर वह सिर्फ़ कमांड लाइन थी, जिससे मेरा सबसे पहले परिचय हुआ। और फिर बाद में, 1991 के आसपास, मेरे पिता ने हमें QBasic में पहले for लूप सिखाए। तब मैं करीब 10 साल का था। उसके बाद शब्दावली सीखने वाला काम भी शुरू हुआ। तो मेरे पिता ने शब्दावली सीखने के लिए एक प्रोग्राम खरीदा था, जो शायद DOS पर आधारित था, और मुझे लगता है उसमें क्लिक करने के लिए माउस था, पर मुझे पूरा यकीन नहीं है। हो सकता है वह बाद में आया हो। तो बात उन्हीं दिनों की है जब मैंने पहली बार कंप्यूटर वाले काम शुरू किए, और मैंने कई बार उसे खराब भी किया। मेरे पिता को उसे कई बार ठीक करना पड़ा। तो मुझे यह सब सीखने में सचमुच दिलचस्पी थी। ऐसा नहीं था कि मैं बैठकर खुद से कहता कि मुझे यह सीखना है। मुझे यह समझने में दिलचस्पी थी कि इससे क्या-क्या किया जा सकता है। यही चीज़ मुझे खींचती थी।

Jonathan: और आपके पिता, क्या वे खास तौर पर कंप्यूटर के क्षेत्र में काम करते थे, या वे बस किसी और काम में थे और संयोग से कंप्यूटर घर ले आए? या उसे घर लाने की कोई खास वजह थी? कंप्यूटर से जुड़ी वजह, या तकनीकी वजह?

Gabriel: हाँ, वास्तव में वे पेशे से इलेक्ट्रिशियन हैं, यही उन्होंने सीखा था। पर उस समय वे Bosch में काम करते थे, इलेक्ट्रॉनिक्स विभाग में, जहाँ कारों के लिए नए चिप या नई चीज़ें बनाई जाती थीं। और वहाँ, स्वाभाविक रूप से, कंप्यूटर भी थे, और शुरुआत में ही कंप्यूटर, नेटवर्क प्रिंटर और ऐसी सारी चीज़ों की ज़िम्मेदारी उन्हीं के पास थी। बस इस तरह वे इसमें उतर गए। वहाँ चीज़ें चलती रहें, इसके लिए जो कुछ करना पड़ता था, वह ज़्यादातर वे ही करते थे। और चूँकि उनके पास डॉक्टरेट की डिग्री नहीं थी, जो उनके विभाग में बाकी लोगों के पास थी, इसलिए इस तरह के काम उन्हीं के पास आते थे। और उन्होंने इन चीज़ों के बारे में, कंप्यूटर के बारे में बहुत कुछ सीखा। हाँ।

Jonathan: हाँ। ठीक है, बढ़िया। माफ कीजिए, मैं बीच में टोक दिया। तो आप बता रहे थे कि आप खेलते-खेलते उसे कई बार खराब कर देते थे, और कंप्यूटर, हार्डवेयर और ऐसी चीज़ों से आपका परिचय वहीं से हुआ। उसके बाद क्या हुआ? उसके बाद आगे क्या हुआ? आपकी यात्रा कैसे आगे बढ़ी?

Gabriel: तो मुझे लगता है अगला बड़ा कदम यह था कि मुझे अपना कंप्यूटर मिल गया, जो शायद पाँच-छह साल बाद की बात होगी, जब मैं बड़ा हो रहा था। और मेरी कंप्यूटर में दिलचस्पी और बढ़ गई, स्कूल में भी यह कुछ हिस्सा बन गया। मैंने अपना होमवर्क कंप्यूटर पर लिखना शुरू किया, इस तरह की चीज़ें। यह वही दौर था जब MS Word जैसे प्रोग्राम आ चुके थे। और मैं कहूँगा कि एक दिन सब शुरू हुआ, जब मेरे पिता हमारे चर्च के लिए कुछ साहित्य का काम करते थे। तो हम एक बहुत छोटे चर्च में पले-बढ़े, और यह साहित्य हम इस्तेमाल करते थे। मेरे पिता उस साहित्य को डिजिटल बना रहे थे, या उसमें मदद कर रहे थे। शुरुआत में यह एक साइड प्रोजेक्ट था, पर बाद में यही मेरी पहली फुल-टाइम नौकरी बन गया, यानी अमेरिका के उस पब्लिशर के लिए काम करना जो उस साहित्य के लिए ज़िम्मेदार था।

Jonathan: हम्म।

Gabriel: वास्तव में मेरे पिता ने मुझसे पूछा कि मेरे पास ये सारे मैक्रो हैं। मैंने इन्हें एक ऐसी स्क्रिप्ट में लिखा है जो मोटे तौर पर Word के किसी पुराने वर्ज़न पर आधारित थी, Word से पहले वाले वर्ज़न पर, और अब मैं Word पर आना चाहता हूँ और मुझे अपने सारे मैक्रो Word पर चाहिए। और मैंने कहा, ठीक है। और इसी तरह मैंने Word के लिए प्रोग्रामिंग शुरू की। Visual Basic for Applications में आप पहले मैक्रो रिकॉर्ड कर सकते थे। फिर कोड देख सकते थे, समझ सकते थे कि वह क्या कर रहा है, और उसे सुधार सकते थे। और मोटे तौर पर मैक्रो को इतना सुधार दिया कि वे कर पाते थे... पहले ऐसा था कि आप कर्सर यहाँ रखते थे, कोई कुंजी दबाते थे, और वह अगली कुछ लाइनों में कुछ कर देता था। और अंत में वह पूरे Word डॉक्यूमेंट को ऊपर से नीचे तक पूरी तरह अपने आप प्रोसेस कर देता था। और मोटे तौर पर यहीं से उन बहुत सारे मैक्रो की शुरुआत हुई जो मैंने उस काम के लिए लिखे। इसने काफ़ी चर्चा बनाई, और जिन लोगों ने मेरे पिता को अपने खाली समय में यह काम दिया था, उन्होंने कहा, वाह, यह तो शानदार है। चलिए और करते हैं, और इसे और अपने आप चलने लायक बनाते हैं। हाँ। तो मैं इस तरह इस काम में आया,

Jonathan: आपने अपने पिता का बहुत समय बचा दिया।

Gabriel: हाँ।

Jonathan: उस हिसाब से, इतनी कम उम्र में,

Gabriel: यह कह सकता हूँ। तो Word में मैक्रो लिखना, और बाद में Excel में। मैंने एक छोटी दुकान के लिए Excel पर आधारित एक दुकान का सिस्टम लिखा। वह जैविक खाद्य पदार्थों की एक छोटी दुकान थी और ऐसी ही चीज़ों की। वे सारे दाम लिख लेते थे और फिर उन्हें अपने दिमाग में या कागज़ पर जोड़ते थे। शुरू में यही चल रहा था। मैंने उनके लिए एक सिस्टम लिखा जिसमें बारकोड स्कैनिंग थी और एक तराज़ू था, जिस पर आप कोई चीज़ रखकर तौल सकते थे, रसीद मिल जाती थी, और भुगतान करने जाते समय उसे स्कैन किया जाता था, और ऐसी सारी चीज़ें। तो मोटे तौर पर वह सब Excel पर आधारित था। तो वह था। हाँ, पर मैं आज इसे बिल्कुल अलग तरीके से करता। Excel ही डेटाबेस था और साथ ही प्रिंटिंग मशीन भी। मैं सब कुछ Excel में फॉर्मेट करता था, एक Excel शीट में, और फिर वह रसीद प्रिंटर पर छप जाता था, इस तरह की सारी चीज़ें। बेशक, मुझे लगता है वह मेरे करियर की शुरुआत थी, यूँ कह लीजिए।

Jonathan: जब आप यह सब कर रहे थे तब आप कितने साल के थे, और उसके बाद क्या हुआ? क्या यह यूनिवर्सिटी से पहले था, हाई स्कूल के दिनों में? और क्या उसने आपके करियर की दिशा तय करने में बड़ी भूमिका निभाई?

Gabriel: हाँ, वह सब यूनिवर्सिटी से पहले था। तो दुकान वाला सिस्टम तब बना जब मैं करीब 20 साल का था, और उसी समय मैंने अपनी सिविल सर्विस की।

Jonathan: अच्छा?

Gabriel: मैक्रो लिखने का काम तब था जब मैं करीब 16 साल का था। इस बीच मैंने चिट्ठियों पर लगाने वाले लेबल छापने के लिए Access पर आधारित एक सिस्टम भी लिखा, ताकि वे भेजी जा सकें। यानी पते वगैरह। और फिर पढ़ाई का समय आया, और हैरानी की बात, मैंने इन्फॉर्मेटिक्स नहीं पढ़ी।

Jonathan: अच्छा।

Gabriel: मैंने वास्तव में गणित और जर्मन का शिक्षक बनने की पढ़ाई की, उन उम्र के बच्चों को पढ़ाने के लिए जो 10 से 19 साल के होते हैं। ज़रा गिनता हूँ। 10 से 19 साल। तो यही उम्र है। यानी पाँचवीं

Jonathan: तो आप

Gabriel: से 13वीं कक्षा तक।

Jonathan: तो आपका करियर उसी दिशा में जा रहा था, और वह फैसला किस चीज़ पर आधारित था?

Gabriel: वास्तव में मैं शायद प्रोग्रामिंग की राह पर ही चल पड़ता। पर सिविल सर्विस के दौरान मैंने सिर्फ़ तकनीकी चीज़ें ही नहीं, बहुत कुछ और सीखा। मैं कहूँगा कि मैं एक छोटी टीम में था जो एक वृद्धाश्रम की ज़िम्मेदार थी। उसमें करीब 5-6 कमरे थे। वहाँ अलग-अलग लोग थे और ज़्यादातर ज़िम्मेदारी मेरी एक महिला की थी। वे शायद 55-60 साल की थीं और उन्हें अल्ज़ाइमर था। उसका मुझ पर गहरा असर पड़ा, क्योंकि उस उम्र में अगर आपके सामने ऐसी बात आ जाए... हाँ, वे 60 की थीं और बीस साल के लड़के को वह उम्र बहुत लगती है, पर मुझे साफ़ समझ आ गया था कि यह किसी के भी साथ हो सकता है, और मेरे साथ भी हो सकता है। और इससे जीवन के सामाजिक पक्ष में मेरी दिलचस्पी बहुत बढ़ गई, और

Jonathan: बहुत दिलचस्प।

Gabriel: सामाजिक करियर की राहों में। और वास्तव में यही वजह थी कि उस समय मैंने शिक्षक बनना चुना। मुझे कोड करना पसंद था, और मैं पढ़ाने में या अपने साथी विद्यार्थियों की मदद करने में बहुत अच्छा था, खासकर स्कूल में। और गणित। गणित मेरा सबसे मज़बूत विषय था और मुझे वह हमेशा पसंद रहा। हाँ, मुझे दूसरों की मदद करना हमेशा पसंद था, उनके हुनर सुधारना। और जब वे अचानक समझ जाते थे तो मुझे बहुत अच्छा लगता था। जब मैं उनकी आँखों में देखता था कि अब उन्हें समझ आ गया। हाँ। और इस तरह मैं वास्तव में शिक्षक बना।

Jonathan: अच्छा, यह तो बढ़िया है। और ज़रा बताइए, आपने सिविल सर्विस का ज़िक्र किया। जर्मनी में क्या यह हर विद्यार्थी या बच्चे के लिए ज़रूरी है, यूनिवर्सिटी जाने से पहले? यह सब जर्मन संस्कृति में कैसे बैठता है?

Gabriel: उस समय यह सेना में जाने का विकल्प हुआ करता था। यानी या तो आप नौ महीने की सैन्य सेवा करते थे, या 11 महीने की सिविल सर्विस। यही नियम था।

Jonathan: अच्छा।

Gabriel: पुरुषों के लिए, महिलाओं के लिए नहीं।

Jonathan: क्या जर्मनी में अब भी ऐसा है?

Gabriel: नहीं, अब ऐसा नहीं है। नहीं। नहीं।

Jonathan: अच्छा। मुझे पता है स्विट्ज़रलैंड में ऐसा है, जहाँ से मेरी पत्नी हैं। तो बस, वह व्यवस्था वहाँ अब भी चलती है। ठीक है। तो अब आपने गणित पढ़ा और शिक्षक बनने की पढ़ाई की, और ज़ाहिर है प्रोग्रामिंग ने भी आपके जीवन में काफ़ी बड़ी भूमिका निभाई। यह कब शुरू हुआ? क्या आपके साथ ऐसा कोई पल आया जब आपने सोचा कि मैं तो पढ़ा रहा हूँ, मुझे यह अच्छा लग रहा है, पर प्रोग्रामिंग वाला हिस्सा भी सक्रिय और जुड़ा हुआ है? ये दोनों चीज़ें, पढ़ाना और प्रोग्रामिंग, कैसे संतुलित हुईं?

Gabriel: मैं प्रोग्रामिंग में वापस कैसे आया? हाँ।

Jonathan: हाँ।

Gabriel: हाँ। तो जब मैं पढ़ाई कर रहा था, तब मोटे तौर पर दो साइड जॉब करता था। एक थी पढ़ाना। मैं एक ट्यूटरिंग एजेंसी में पढ़ाता था। मैं यूनिवर्सिटी में भी पढ़ाता था, छोटे विद्यार्थियों को, यानी गणित, ज़्यादातर पहले और दूसरे सेमेस्टर में। और साथ ही मेरे पास एक टेक कंपनी में नौकरी थी। उनका ज़्यादातर काम Access पर आधारित था।

Jonathan: हम्म।

Gabriel: वह एक ऐसी कंपनी थी जो कार शेयरिंग के लिए हार्डवेयर और सॉफ्टवेयर बनाती थी, और उन कंपनियों के लिए भी जिनके पास बहुत सारी कारें होती थीं और वे उन्हें अपने कर्मचारियों को किराए पर देती थीं। और हाँ, वहाँ मैंने शुरुआत में डॉक्यूमेंट लेखक के तौर पर काम किया, और फिर उन्हें पता चला कि मैं प्रोग्राम भी कर सकता हूँ। तो मैं जल्दी ही प्रोग्रामिंग के काम में चला गया। हाँ। और फिर, मैं कहूँगा, चीज़ें ज़्यादातर तब बदलीं जब पढ़ाई के अंतिम हिस्से आए, जिनमें आपको स्कूल जाना पड़ता था, छह हफ़्ते स्कूल में, और फिर चार हफ़्ते, वगैरह। और मुझे लगता है, बहुत अनुभवी और बहुत समर्पित शिक्षकों से बात करके भी मुझे यह साफ़ और करीब लगने लगा कि समय बहुत बदल गया है। विद्यार्थी बहुत बदल गए हैं। एक शिक्षिका ने मुझसे कहा, वे हमेशा पाँचवीं और छठी कक्षा को पढ़ाती थीं, और उन्होंने मुझे बताया कि पाँच साल पहले उनकी कक्षा में एक ऐसा बच्चा था जिसे हम समस्या वाला बच्चा कह सकते हैं, यानी घर पूरा नहीं था, तलाक हुआ था, घर में दिक्कतें थीं, वगैरह। और अब ऐसे बच्चे 50% से ज़्यादा हैं,

Jonathan: हाँ, समझ गया।

Gabriel: और यह 10 या 15 साल पहले की बात है। 2006 या 2007 की, तो यह 15 साल पहले हुई। और इससे पता चलता है कि चीज़ें कितनी बदल गई हैं। और मुझे यह भी साफ़ समझ आया कि आजकल बहुत से विद्यार्थी बस सीखना ही नहीं चाहते। और शिक्षक हमेशा सबसे पीछे होता है। पूरे सिस्टम की पूँछ जैसा। हाँ। माता-पिता, प्रधानाचार्य और विद्यार्थी, ये सब शिक्षक के मालिक जैसे हैं। हाँ। शिक्षक हमेशा सबसे अंत में आने वालों में से एक होता है, आप कह सकते हैं, या नहीं पता अंग्रेज़ी में इसे कैसे कहेंगे। सारी ज़िम्मेदारी उसी को उठानी पड़ती है, पर कोई अधिकार नहीं होता।

Jonathan: कार्रवाई करने का अधिकार। हाँ।

Gabriel: हाँ।

Jonathan: तो क्या आपका फैसला... माफ कीजिए, मैं टोक रहा हूँ। कीजिए, बताइए।

Gabriel: उस तरह की बातों ने कम से कम मुझे बहुत सोचने पर मजबूर किया। और यूनिवर्सिटी खत्म करने के बाद मैं फिर प्रोग्रामिंग में आ गया, क्योंकि मेरे एक दोस्त थे, वही जिन्होंने मेरे पिता को वह साहित्य का काम दिया था। उन्होंने मुझसे पूछा कि क्या मैं एक प्रोजेक्ट में उनकी मदद कर सकता हूँ। और वह प्रोजेक्ट, जो पहले चार-छह हफ़्ते का माना गया था, ढाई या साढ़े तीन साल का बन गया। या साढ़े तीन साल का। प्रोजेक्ट।

Jonathan: स्कोप क्रीप। यह स्कोप क्रीप वाकई ज़बरदस्त थी।

Gabriel: हाँ। पहले उन्होंने मुझसे किसी काम में मदद माँगी। और फिर वे इस पब्लिशर के एक व्यक्ति के संपर्क में रहते थे। और पब्लिशर हमेशा कहता था कि मुझे इस साहित्य के लिए एक सार्वजनिक होमपेज चाहिए। मुझे चाहिए कि लोग पूरी किताबें ऑनलाइन पढ़ सकें।

Jonathan: अरे वाह।

Gabriel: एक बार मैंने अपने दोस्त से कह दिया, वे फोन पर उससे बात कर रहे थे और मैंने कहा कि मैं ऐसा कर सकता हूँ, मान सकता हूँ। अभी मेरे पास वैसे भी कोई काम नहीं है। और उन्होंने कहा, अरे, Gabriel इसे कर देगा। और बस वहीं से शुरुआत हो गई। तो

Jonathan: वाह।

Gabriel: मेरे पास एक प्रोजेक्ट था, हाँ, और फिर मैंने उस प्रोजेक्ट पर साढ़े तीन साल काम किया। हज़ारों किताबें ऑनलाइन लाईं, पूरी कंटेंट लाइब्रेरी।

Jonathan: वाह।

Gabriel: इंडेक्स। अलग-अलग भाषाएँ एक-दूसरे से जुड़ी हुई हैं। हाँ, वह वेबसाइट अब भी ऑनलाइन है। वह egwwritings.org है। तो अगर किसी को देखना हो, उसका डिज़ाइन नया है। पिछले साल दिसंबर के आसपास मैंने देखा कि उन्होंने नया रूप लगाया है, पर नीचे का कोड वही है।

Jonathan: बिल्कुल वही।

Gabriel: ज़्यादातर मेरा ही, क्योंकि मैं देख सकता हूँ, वह ज़्यादातर JavaScript पर आधारित था।

Jonathan: हाँ।

Gabriel: कोड बहुत वैसा ही दिखता है, फाइलों का ढाँचा अलग हो गया है, पर सारी स्टाइल वही हैं।

Jonathan: आपको मुझे लिंक भेजना पड़ेगा और हम उसे सही समय पर शो नोट्स में डाल देंगे। तो अब आपने साढ़े तीन साल, यानी तीन साल इस प्रोजेक्ट पर काम किया। आपने यह सब इंडेक्स कर दिया। उस समय आपकी मुख्य भाषा JavaScript थी? आपका तकनीकी सेटअप कैसा था? आप किस पर ध्यान दे रहे थे?

Gabriel: तो यह मोटे तौर पर बड़ा कदम था, Windows पर आधारित सॉफ्टवेयर से हटकर, जो पहले Visual Basic और Visual Basic .NET था। और अब यह सिर्फ़ jQuery, JavaScript और पीछे PHP था।

Jonathan: अच्छा।

Gabriel: हमारे बीच यह समझौता भी था कि जब भी मैं रिसर्च करता, मेरी प्रति घंटा दर कम होती,

Jonathan: हम्म।

Gabriel: वह प्रोग्रामिंग करने की दर का एक तिहाई होती थी। और हाँ, इससे मुझे काम करते-करते सीखने की आज़ादी मिली। हाँ।

Jonathan: बढ़िया। तो फिर, Exercism। और अब आप बहुत सारी चीज़ें करते हैं। क्या मैं यह सही कह रहा हूँ कि Go आपके काम का मुख्य हिस्सा है? आप बहुत मेंटरिंग करते हैं और आप Exercism में Go से जुड़े रहे हैं, उस तरफ़ मदद करते रहे हैं। यह कब शुरू हुआ और आपको इसमें दिलचस्पी क्यों हुई? बताइए।

Gabriel: हाँ, 2016 में, वह उस बड़े प्रोजेक्ट के बाद मेरी पहली नौकरी थी। वास्तव में उसके अंत की तरफ़ मैंने Go पर जाना शुरू कर दिया था। उस नौकरी में मैंने ज़्यादातर PHP और Python किया। और Go बहुत जल्दी मेरी पसंदीदा भाषा बन गई, क्योंकि उसमें वह सादगी है। वह मोटे तौर पर कोशिश करती है... उस पागलपन भरी दुनिया से निकलकर, जहाँ भाषाओं में फीचर बढ़ते ही जाते हैं, वे और जटिल होती जाती हैं, और डेवलपर पर बहुत ज़्यादा बोझ पड़ता है, क्योंकि उसे चुनना पड़ता है कि किस तरीके से करना है। और उसे यह भी समझना पड़ता है कि बाकी लोग किन-किन तरीकों से करते हैं। इतना सारा बोझ। और Go अचानक एक तरह की शांति ले आई, और... फिर से सादा बनाने की कोशिश। और वह बहुत जल्दी मेरी पहली पसंद बन गई। उस कंपनी में मैंने नौकरी छोड़ने से करीब आधे साल पहले एक प्रोटोटाइप बनाया, क्योंकि वे Go पर आना चाहते थे। शुरुआत में, बेशक, वे शुरुआती दिक्कतें आती हैं, जब आप ऐसी चीज़ों पर अटकते हैं जो उस भाषा में नहीं की जा सकतीं, और फिर आप समझते हैं कि उस तरीके से करना क्यों बेमानी है, या क्यों किसी और तरीके से करना बेहतर है। मुझे ये चीज़ें करना सीखने में बहुत दिलचस्पी थी। और इसी तरह मैंने Go Time पॉडकास्ट सुनना शुरू किया। यह Change Log का है।

Jonathan: अच्छा।

Gabriel: और उस पॉडकास्ट में Katrina Owen दो बार आईं, मुझे लगता है। कम से कम दो बार तो मैंने उन्हें सुना। हाँ। और इसी तरह मैंने Exercism को देखना शुरू किया। मुझे लगता है 2017 में मैंने Exercism पर रजिस्टर किया। पूरा यकीन नहीं, देखना पड़ेगा।

Jonathan: मुझे भी ऐसा लगता है। ठीक कह रहा हूँ?

Gabriel: हाँ, मुझे लगता है वह तब भी शायद वर्ज़न एक ही था, क्योंकि शुरुआत में ऐसा नहीं था कि... मुझे सचमुच कोई फीडबैक नहीं मिलता था। मैंने कुछ अभ्यास किए, पर मुझे कभी फीडबैक नहीं मिला। दूसरों को फीडबैक दे सकता था, और मैंने दिया भी। पर मुझे कभी फीडबैक नहीं मिला। तो फीडबैक पाने की कोई व्यवस्था ही नहीं थी। जी करे तो दो, न करे तो छोड़ दो, यूँ कह लीजिए। हाँ। मुझे लगता है वह वर्ज़न एक था, है ना?

Jonathan: मुझे भी ऐसा ही लगता है। मेरा मतलब, मुझे लगता है वर्ज़न एक से वर्ज़न तीन तक बहुत बदलाव हुए हैं।

Gabriel: हाँ। हाँ।

Jonathan: वर्ज़न एक में फीडबैक कम था। वर्ज़न दो में बहुत ज़्यादा फीडबैक ज़रूरी था, और वर्ज़न तीन कहीं बीच में आ गया। शायद थोड़ा कम की तरफ़, पर खैर। और क्या आप वर्ज़न तीन बनाने में शामिल थे? और वह कैसे हुआ? वहाँ आपकी क्या भूमिका थी? मुझे इस पर पूरी जानकारी नहीं है, पर समझना चाहूँगा।

Gabriel: शायद मैं एक कदम पीछे चलूँ, अगर आप कहें। मोटे तौर पर, दूसरे इंटरव्यू के बाद मैं वापस आया। मैंने Katrina को Exercism पर सुना था,

Jonathan: अच्छा।

Gabriel: तब वर्ज़न दो आ चुका था। और तब बहुत काम था, बहुत सारा फीडबैक देना ज़रूरी था। मैं कूद पड़ा और मुझे फीडबैक देना बहुत अच्छा लगा।

Jonathan: हम्म।

Gabriel: मोटे तौर पर, मैं सोचने लगा कि इसे तेज़ कैसे बनाया जाए। हाँ। क्योंकि मुझे जल्दी समझ आ गया कि खासकर पहले अभ्यासों में यह साफ़ था कि मैं बार-बार वही जवाब दे रहा हूँगा।

Jonathan: हाँ।

Gabriel: और दूसरी तरफ़, बेशक, कभी-कभी ये दो-दो दिक्कतें होती थीं, और कभी कोई और दिक्कत। तो मैंने इसे बेहतर बनाना शुरू किया। मैंने एक छोटा-सा Go प्रोग्राम लिखना शुरू किया जो स्टैटिक एनालिसिस इस्तेमाल करता है, क्योंकि मैं एनालिसिस में उतरना चाहता था। मैंने पहले यह किया नहीं था। मैं इसे समझना चाहता था। वैसे भी मुझे इसे आज़माने में दिलचस्पी थी, और यह अच्छा मौका लगा। क्योंकि वह कोड फिर भी बहुत आम था, हर बार बहुत मिलता-जुलता होता था। किसी अभ्यास के हल, खासकर शुरुआती अभ्यासों के, बहुत मिलते-जुलते होते हैं। इस तरह मैं स्टैटिक एनालिसिस में आया, और मैं कोड में अलग-अलग पैटर्न ढूँढने लगा और जवाब में अपने आप जवाब वाले ब्लॉक या पहले से तय ब्लॉक जोड़ने लगा। मोटे तौर पर मैंने यह स्थानीय रूप से शुरू किया और इस तरह मैं हफ़्ते में करीब 100, हफ़्ते में 102 हल कर पाता था। और मैं यह फुल-टाइम नहीं कर रहा था, यह मेरी नौकरी के साथ-साथ था। हाँ। और फिर यह फैलने लगा। मुझे लगता है Pitfield पहले थे। John Arun, मुझे लगता है यही उनका वास्तविक नाम है। वे पहले व्यक्ति थे जिन्होंने कहा, वाह, यह तो शानदार है। यह कमाल है। और इस तरह मेरा काम जाना जाने लगा, स्टैटिक एनालिसिस के साथ। और मुझे लगता है यह वर्ज़न तीन का बड़ा हिस्सा था। हम सोचने लगे कि इन टूल की मदद से, इस अपने आप चलने वाले स्टैटिक एनालिसिस से, यानी ऐसे टूल से जो कोड अपने आप जाँचते हैं और अपने आप फीडबैक देते हैं, मेंटर का काम कैसे कम किया जा सकता है। बल्कि पूरी तरह अपने आप, बिना किसी मेंटर के शामिल हुए। और क्योंकि मेंटर, यह साफ़ था कि हमारे पास मेंटर हैं, पर वे काम के लिए काफ़ी नहीं हैं। हमारे पास मेंटरिंग का टूल था, और हमने यह भी देखा कि बहुत से मेंटर थककर छोड़ देते थे, गायब हो जाते थे। और हाँ, यह बहुत ज़्यादा हो गया था। बहुत से मेंटरों पर बहुत ज़्यादा बोझ। हाँ। काम इतना था कि कुछ मेंटरों के पास 500 या उससे ज़्यादा हल मेंटरिंग के लिए पड़े थे, और कभी-कभी एक महीने या उससे ज़्यादा का इंतज़ार भी होता था। और बेशक ऐसे हालात में विद्यार्थी भी किसी मोड़ पर छोड़कर चले जाते थे। हाँ।

Jonathan: हम्म। यह मज़ेदार है, क्योंकि मुझे लगता है Jeremy कुछ दिन पहले कह रहे थे कि जितने भी हल सबमिट होते हैं, उनमें से करीब 75% बिल्कुल अलग होते हैं, जो मुझे भी बहुत दिलचस्प लगता है। मेरा मतलब, आप Hello World जैसा कोई अभ्यास लीजिए, वह ज़ाहिर है बहुत आसान है। ज़रूर वह एक ऐसा तरीका होगा जो हर बार दोहराया जाता है। और उन्होंने कहा, नहीं, लोग तरह-तरह की अलग-अलग चीज़ें आज़मा रहे हैं। और यह मज़ेदार है कि यह कहाँ मिलता है, क्योंकि जैसे-जैसे कोडिंग लोकप्रिय हो रही है और ज़्यादा लोग डेवलपिंग और प्रोग्रामिंग करने लगे हैं, आप सोचते हैं कि यह अपने आप चलने वाला काम कहाँ से डेवलपर की भूमिका खत्म करने लगेगा? मैं सोचता हूँ, मुझे नहीं पता कि ऐसा होगा भी या नहीं। मुझे लगता है अभी बहुत कुछ ज़रूरी है। पर इस बारे में, नहीं पता आप क्या सोचते हैं, पर हाल में Exercism में मेंटरिंग पर बहुत ज़ोर दिखता है, जो वाकई बहुत दिलचस्प है, क्योंकि जैसा आपने कहा, यह उन सारी दोहराई जाने वाली बातों को लेकर उन्हें ऐसे ढाल देता है कि लोग उन्हें आसानी से संभाल सकें। साथ ही, क्या यह वहाँ पहुँच जाता है जहाँ वाकई इंसानी बातचीत की ज़रूरत होती है, किसी इंसान की ज़रूरत होती है जो सामग्री के साथ सचमुच जुड़ सके? नहीं पता आप इस पर क्या सोचते हैं, पर मुझे यह अभी बहुत दिलचस्प क्षेत्र लगता है।

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

Jonathan: हाँ। हाँ।

Gabriel: और सच कहूँ तो, मैं चाहूँगा कि अभ्यासों पर फिर से ज़्यादा मेंटरिंग हो। तो मैं सोच रहा हूँ कि क्या हमें...

Jonathan: मतलब आमने-सामने की बातचीत?

Gabriel: हाँ। मैं सोच रहा हूँ कि क्या हमें... पहले ऐसा रास्ता था, 10 अभ्यासों का, कम से कम 10 तो थे। जिनसे आपको गुज़रना पड़ता था, और आगे तभी बढ़ सकते थे जब उन पर मेंटरिंग हो जाए।

Jonathan: हाँ।

Gabriel: और मुझे लगता है कि अब जो ऑटोमेशन हमारे पास है, उसके साथ हम उसे फिर से चालू कर सकते हैं। या शायद अभी नहीं, भविष्य में। और मुझे वह पसंद आएगा।

Jonathan: हमें यह ज़रूर उठाना चाहिए, किसी समुदाय कॉल में, क्योंकि मुझे लगता है यह अच्छा रहेगा कि हम इसे फिर से चर्चा में लाएँ। तो Gabriel, हम अक्सर एक सवाल पूछते हैं, और यह वह नहीं है जिस पर मैंने आपसे पहले बात की थी, पर यह मुझे पूछने में बहुत मज़ा आता है क्योंकि यह हमेशा बहुत दिलचस्प और अलग होता है, वह यह कि प्रोग्रामिंग आपको अचानक समझ आई? लोग कहते हैं कि एक ऐसा अनुभव होता है जब अचानक सब कुछ समझ आने लगता है। मैं अक्सर अपना उदाहरण देता हूँ। स्कूल का, जब मैं रसायन विज्ञान पढ़ रहा था, ब्रिटेन में जहाँ मैं स्कूल गया। वहाँ ये परीक्षाएँ होती हैं। और उन परीक्षाओं से पहले तीन साल तक सब कुछ उन्हीं परीक्षाओं की तरफ़ बढ़ता है। तो तीन साल की पढ़ाई होती है और अंत में आपकी अंतिम परीक्षा होती है। और यह सारे विषयों के लिए होता है। और उनमें से एक विषय ज़ाहिर है रसायन विज्ञान था। मैंने करीब तीन साल रसायन विज्ञान के बारे में कुछ भी नहीं समझा। मैं इसे समझ ही नहीं पाता था, और फिर परीक्षा से एक हफ़्ता पहले अचानक समझ आ गया, जैसे कुछ टूट पड़ा हो, जैसे बात समझ में आ गई। और मैं सोचने लगा, अरे बाप रे। मुझे सब कुछ आवर्त सारणी से मिल सकता है। अगर मुझे आवर्त सारणी के नंबर पता हों, तो मैं यह, वह और वह सब समझ सकता हूँ। और चीज़ें बहुत आसान हो गईं। तो क्या प्रोग्रामिंग में भी आपके साथ ऐसा कोई पल आया, या यह कुछ ऐसा था कि आपको यह अपने आप समझ आ गई, और अगर यह मायने रखता है, तो वह पल कब था?

Gabriel: मुझे यकीन नहीं कि मेरे पास ऐसा कोई निश्चित पल था। मुझे लगता है शुरुआत में ही मैक्रो रिकॉर्ड करके कोड देख पाना, Visual Basic for Applications में, इससे बहुत मदद मिली। मुझे नहीं पता कि आज भी ऐसा कुछ है या नहीं। मुझे लगता है Word में आप अब भी यह कर सकते हैं। पर ऐसा बार-बार नहीं मिलता कि आप रिकॉर्ड करें, फिर कोड देखें और उस तरह सीखें। मुझे लगता है इससे मेरे लिए बहुत आसान हो गया, क्योंकि शुरुआत में मैं बहुत जूझ रहा था। मुझे लगता है एक पल ऐसा था जब मैं कहूँगा कि ठीक है, ऐसा नहीं कि मुझे चीज़ें समझ आ गईं, पर मुझे अंदाज़ा हुआ कि मैं चीज़ें सही कर रहा हूँ या गलत, वह तब था जब मैं उस कंपनी में शामिल हुआ, जब मैं विद्यार्थी था। वह मोटे तौर पर पहली बार था जब मैंने काम किया। मैंने दूसरे डेवलपरों के साथ काम किया। उससे पहले मैं हमेशा अकेला था और मुझे मोटे तौर पर सब कुछ खुद करना पड़ता था। और हमेशा एक बड़ा सवाल रहता था। क्या आम तौर पर ऐसे ही किया जाता है? यह अजीब लगता है। यह जटिल लगता है। यह काम करता दिखता है, पर क्या यह सही है? और इसका जवाब मुझे तब मिला जब मैं उस कंपनी में गया और वहाँ Go पर काम करना शुरू किया। बेशक, मुझे बहुत कुछ सीखना था और मैंने बहुत कुछ सीखा। जैसे Access के रिकॉर्डसेट। मैं उन्हें पहले सचमुच समझता नहीं था। मैं उनके साथ काम करता था, पर

Jonathan: हम्म।

Gabriel: हाँ, काम चलता था।

Jonathan: हाँ। कुछ...

Gabriel: फिर मैं उन्हें सचमुच समझने लगा। तो शायद वही वह चीज़ थी जो मुझे समझ आई, क्योंकि मेरे एक सहकर्मी थे और उन्होंने मुझे समझाया, और सचमुच एक दिन समझ आ गया कि वे कैसे काम करते हैं और

Jonathan: हम्म।

Gabriel: और उन्हें किस तरह काम करना चाहिए और उन्हें सही तरीके से कैसे इस्तेमाल करना है, वगैरह। तो हाँ, शायद वह उन पलों में से एक था। पर मुझे लगता है ऐसे पल हमारे काम में बहुत बार आते हैं। मुझे नहीं लगता कि कोई एक ही पल होता है, शायद वह एक शुरुआती पल था। पर Go में भी बहुत सी जगहें हैं जहाँ चीज़ें समझ आईं, जहाँ मैं समझा कि कोई चीज़ ऐसी क्यों है और उसका इस्तेमाल कैसे करना चाहिए। और, जैसे context। हाँ। जैसे context।

Jonathan: हाँ।

Gabriel: हाँ। जैसे context, वे शायद 1.6 या 1.7 में जोड़े गए थे, मुझे पक्का नहीं। उस समय मैंने उन्हें नहीं देखा। सच कहूँ तो शुरू में मुझे उनकी ज़रूरत ही नहीं पड़ी। और फिर एक बार, यह किसी मीटअप जैसा था, किसी ने context पर प्रस्तुति दी, कि उन्हें कैसे इस्तेमाल करते हैं, वगैरह। और मुझे लगा कि

Jonathan: हम्म।

Gabriel: इन्हें देखना चाहिए। पर फिर भी कुछ महीने लगे जब मैंने सचमुच इन्हें देखा और समझा कि ये क्यों हैं। और जैसे चैनल बंद करने वाली बात, नहीं पता आप जानते हैं या नहीं, बहुत लोग अब भी इंटरनेट पर सलाह देते हैं कि आप चैनल बंद करके एक गोरूटीन बंद कर दीजिए, और ऐसा नहीं करना चाहिए। context इसी के लिए है। हाँ। आप context इस्तेमाल करते हैं, context को कैंसल करते हैं, और उससे आप गोरूटीन बंद कर सकते हैं। अगर आप चैनल बंद करने वाला तरीका इस्तेमाल करते हैं, तो मोटे तौर पर आप वही हाथ से कर रहे हैं जो context अंदर से करता है। और बहुत सारे ऐसे जाल हैं जिनसे बचना होता है, बहुत सारी दिक्कतें हैं। उनसे बचने के लिए, आम तौर पर लोग इसे गलत करते हैं।

Jonathan: मुझे यकीन है आपने कोई लाइव स्ट्रीम की थी और उसमें इस बारे में कुछ कहा था। मुझे, मुझे लगता है मुझे याद है जहाँ आपने कहा था कि बस context इस्तेमाल कीजिए, क्योंकि

Gabriel: हाँ।

Jonathan: बहुत तर्कसंगत लगता है।

Gabriel: याद है मैंने वह बात कही थी।

Jonathan: हाँ। पर खैर, तो जब आपने पहले लोगों की मेंटरिंग की है, तो कुछ चीज़ें क्या हैं... क्या आप पहचान सकते हैं कि जो लोग चीज़ें जल्दी पकड़ लेते हैं, वे क्या करते हैं? क्या आप बता सकते हैं कि वे क्या करते हैं जिससे वे खुद को जल्दी या ज़्यादा असरदार तरीके से सीखने की जगह में ला पाते हैं? या जिन लोगों की आपने मेंटरिंग की है, वे स्वाभाविक रूप से ऐसे जुड़े हुए होते हैं? या कुछ लोग ऐसे होते हैं कि आप सोचते हैं, वाह, ये कुछ करते हैं, ऐसी चीज़ें करते हैं जिनसे उनकी सीखने की रफ़्तार बढ़ जाती है?

Gabriel: मुझे यकीन नहीं कि मैं दूसरों के बारे में यह कह सकता हूँ। अपने बारे में ज़रूर कह सकता हूँ। मैंने, मुझे लगता है, अपने माता-पिता से सीखा। उन्होंने खुद बहुत चीज़ें सीखीं और मैंने भी उनसे यही सीखा कि खुद चीज़ें सीखनी हैं। तो मैंने प्रोग्रामिंग पूरी तरह खुद से सीखी। शुरुआत में मेरे पिता थे। स्कूल में कुछ चीज़ें थीं। ज़्यादातर बाद की कक्षाओं में, वास्तव में मैं, या हम, हममें से लगभग सभी शिक्षक से बेहतर थे। तो वहाँ सचमुच सीखना नहीं था। एक-दूसरे से कुछ सीखना ज़्यादा था। पर

Jonathan: हाँ।

Gabriel: आम तौर पर, मैंने सब कुछ खुद से सीखा। और मुझे लगता है प्रोग्रामिंग में यह ज़रूरी है। क्योंकि आपको लगातार ऐसी चीज़ों में उतरना पड़ता है जो आपने पहले नहीं देखी होतीं। आप उनके बारे में नहीं जानते, आपको उन्हें पढ़कर समझना पड़ता है। तो क्या कहते हैं इसे? यही। क्षमता। हाँ। किसी चीज़ में उतरकर उसे खुद सीख लेने की यह क्षमता, मुझे लगता है प्रोग्रामिंग में सीखने के लिए यही सबसे ज़रूरी है। और बेशक आप बहुत जल्दी सीख सकते हैं अगर आपको कोई ऐसा मिल जाए जो आपको इसके बारे में बताए। तो मैं यह नहीं कहना चाहता कि आपको मेंटर नहीं ढूँढना चाहिए, या Exercism पर नहीं जाना चाहिए, वगैरह। इससे आप बहुत तेज़ी से आगे बढ़ते हैं, पर फिर भी बात वही है। यही मैं कहूँगा।

Jonathan: मुझे लगता है कि आपने सीखा तो समस्याएँ हल करते हुए, व्यवहार में। चाहे वह मैक्रो बनाना हो ताकि काम तेज़ी से हो, या और कुछ। मुझे लगता है यही एक मुख्य धागा है जो आपके जीवन में सीखने के मामले में बार-बार आया है, और मुझे लगता है यह काफ़ी मेल खाता है कि Exercism भी आम तौर पर यही करने की कोशिश करता है, लोगों को व्यवहार में काम करके सीखने में मदद करना।

Gabriel: हाँ। यही रास्ता है।

Jonathan: तो हाँ। यह बहुत बढ़िया है। तो Gabriel, हमारे पास ज़्यादा समय नहीं बचा है, पर मेरे पास दो अंतिम... खैर, सवाल नहीं हैं। एक सवाल है और मैं आपसे आपकी एक राय साझा करने को कहूँगा, और दूसरा यह होगा, खैर, यह भी एक तरह की राय ही है। मैं आपसे कहूँगा कि आप समुदाय को कोई सुझाव दें, ऐसा कुछ जो उन्हें इस हफ़्ते आज़माना चाहिए। पर पहली बात यह है कि हमने अपने बहुत से पहले मेहमानों से बात की है जिनका हमने इंटरव्यू किया, और अगर आपने यह पॉडकास्ट या लाइव स्ट्रीम थोड़ी देर भी सुना है, तो आप जानते होंगे कि हम हमारी लाइव स्ट्रीम के अंत की तरफ़ एक बड़ा सवाल पूछते हैं। और वह सवाल है, टेक में वह कौन-सी बात है जिस पर आप हर हाल में कायम रहेंगे? तो वह कौन-सी एक राय है जिस पर आप बहुत दृढ़ता से टिके हैं, और जिस पर आप... ध्यान रखिए, इसके लिए आपको अच्छा कारण देना होगा। आप बस यह नहीं कह सकते कि यह मेरी राय है और बस। आपको उस राय का बचाव करना आना चाहिए। पर वह राय क्या होगी... और यह जितनी भी तीव्र, गंभीर या मामूली हो, कोई बात नहीं। तो वह क्या होगी?

Gabriel: मैं कहूँगा यह एक कहावत है। हमारे पास Go में है, या Go समुदाय में किसी ने कहा है, और वह यह कि ऊबाऊ कोड चतुर कोड से बेहतर होता है।

Jonathan: मुझे यह पसंद आया। इसका मतलब क्या है?

Gabriel: इसका मतलब क्या है? हाँ, मोटे तौर पर यह Go के दर्शन का बड़ा हिस्सा समेट लेता है, सादगी और पढ़ने में आसानी के आसपास। तो अगर Go के कोड में आप सोचें, वाह, यह तो चतुर है, तो वास्तव में वह खराब कोड है। भले ही जिसने यह किया वह बहुत बुद्धिमान हो और उसने यह बहुत चतुराई से किया हो। और कभी-कभी मुझे लगता है कि अगर आप सचमुच सादगी और Go के तरीकों का पालन करें, तो आपके पूरे कोडबेस में ऐसा कोड ही नहीं होगा जिसकी तरफ़ आप इशारा करना चाहें, या कर सकें। देखिए वह कोड, कितना अच्छा है, क्योंकि आपका सारा कोड वास्तव में ऊबाऊ और बहुत सादा है, और जो भी आपका कोड देखेगा वह कहेगा, इसमें ऐसा खास क्या है? हाँ, पर बात यह है कि आप सादगी तक पहुँचे क्योंकि आप अच्छे प्रोग्रामर हैं, और यह एक बार-बार सुधारने की प्रक्रिया है। जटिल कोड, जटिल कोड लिखना बहुत आसान है। सादा कोड लिखना...

Jonathan: हम्म। क्योंकि आपको पहले अपने दिमाग में समस्या को सादा बनाना पड़ता है, फिर कोड सही लिखना पड़ता है, और फिर उसे सुधारते हुए सादा बनाना पड़ता है।

Gabriel: और यह बहुत लंबी प्रक्रिया है, और इसके लिए जटिल कोड लिखने से कहीं बेहतर डेवलपर चाहिए। जटिल कोड को देखने पर समझना मुश्किल होता है। पढ़ना मुश्किल, बनाए रखना मुश्किल, और बदलना मुश्किल।

Jonathan: यह लगातार समझौते करने वाली बात है, है ना? मैं टेक के क्षेत्र में काफ़ी नया हूँ, तीन साल, और मैं डेवलपमेंट की तरफ़ से नहीं आया हूँ। मैं प्रोडक्ट की तरफ़ से आया हूँ, यानी प्रोडक्ट वाली तरफ़ से। ज़्यादा व्यावसायिक दृष्टिकोण से। और एक बात जो बहुत दिलचस्प थी, वह यह कि यह और साफ़ होता गया कि सब कुछ समझौतों का ही खेल है। तो जैसे, समझौता सादे कोड और जटिल कोड के बीच है, जहाँ जटिल कोड आगे चलकर और भारी और जटिल साबित हो सकता है। सादा कोड पहले ज़्यादा समय ले सकता है और ज़्यादा मेहनत और ऊर्जा माँग सकता है। और यही वह समझौता है जो लगातार किया जाता रहता है। तो यह उन बातों में से एक थी, नहीं पता आप इस पर क्या सोचते हैं, पर मुझे लगता है कि सादगी वाली बात वाकई अहम है, क्योंकि मुझे याद है मेरी माँ के एक दोस्त थे यूनिवर्सिटी में, और वे अपने असाइनमेंट के लिए हमेशा दो पेज का ही निबंध लिखते थे। क्योंकि वे सब कुछ दो पेज में समेट लेते थे, और उन्हें सबसे ज़्यादा अंक मिलते थे। तो मुझे लगता है यह सादगी की पूरी अवधारणा से मेल खाता है, और मुझे लगता है सादा कोड लिखना वाकई बहुत मुश्किल है, क्योंकि इसके लिए साफ़ सोच चाहिए, सिर्फ़ कोडिंग नहीं। तो मुझे लगता है यह एक ऐसी बात है जिस पर कायम रहना बनता है, और आपने इसे अच्छी तरह समझाया है। आपने इस पर बहुत अच्छे से बात की। बढ़िया। तो Gabriel, इस हफ़्ते का अंतिम सवाल। और अब आप Exercism समुदाय को कुछ सलाह दे सकते हैं। यह कुछ भी हो सकती है। सेहत की सलाह हो सकती है, खाने-पीने की सलाह हो सकती है। यह आपका मौका है समुदाय को एक सलाह देने का, और वह जो भी आप चाहें हो सकती है। तो इस हफ़्ते आप Exercism समुदाय को क्या सुझाव देंगे? वह एक चीज़ क्या है जो उन्हें आज़मानी चाहिए या करनी चाहिए, आपकी राय में?

Gabriel: ओह, यह मुश्किल है। ठीक है, अब जब आप कह रहे हैं कि कुछ भी हो सकता है, तो क्या मैं दो चीज़ें बता सकता हूँ?

Jonathan: मैं आपको दो करने देता हूँ, हाँ दो बताइए।

Gabriel: ठीक है। एक, एक सुझाव। मैं वास्तव में शाकाहारी हूँ। मैं शाकाहारी ही बड़ा हुआ हूँ। मैंने कभी मांस नहीं खाया, और वास्तव में मेरा बचपन और जवानी का ज़्यादातर हिस्सा वीगन ही रहा। तो कोशिश कीजिए, एक हफ़्ता बिना किसी डेयरी उत्पाद के। तो यह एक हुआ। और दूसरा सुझाव यह होगा, मुझे नहीं पता कि आप यह एक हफ़्ते में कर पाएँगे या नहीं, पर अगर आप अच्छे डेवलपर हैं तो कर सकते हैं, कि कई सर्विस के बीच साझा मेमोरी बनाने की कोशिश कीजिए। एक ही सर्विस, साझा मेमोरी। Raft प्रोटोकॉल इस्तेमाल करके साझा मेमोरी बनाने की कोशिश कीजिए। आप कोई लाइब्रेरी इस्तेमाल कर सकते हैं। Raft खुद बनाने की ज़रूरत नहीं, पर

Jonathan: Raft। आपको मुझे लिंक भेजना पड़ेगा ताकि मैं उसे नीचे डाल सकूँ। तो यह Gabriel का चै... खैर, शायद हम इसे Gabriel का इस हफ़्ते का चैलेंज कहें। शायद सुझाव कम और चैलेंज ज़्यादा। शायद हमें चाहिए

Gabriel: हाँ। यह कोशिश करने वाली चीज़ ज़्यादा है।

Jonathan: आप एक चैलेंज दे रहे हैं। यह अच्छा मज़ा बन सकता है। पर बढ़िया। तो एक हफ़्ता बिना किसी मांस उत्पाद के। देखिए कैसा चलता है, और एक साझा मेमोरी सर्वर बनाइए। आप क्या कहेंगे? सर्विस, साझा

Gabriel: हाँ, आप इसे इन-मेमोरी की-वैल्यू कह सकते हैं

Jonathan: अच्छा।

Gabriel: तो कई सर्विस, एक डेटाबेस, या एक सर्विस। हाँ।

Jonathan: बढ़िया। यह तो

Gabriel: क्योंकि यह आपको बहुत सिखाता है कि डेटाबेस अंदर से कैसे काम करते हैं। हाँ। अंदर से। तो खासकर वे जो साझा होते हैं... हाँ, पक्का नहीं। हाँ। Cassandra या Scylla, नहीं पता आपने Scylla सुना है। यह किसी तरह Cassandra ही है, पर C++ में, और अब वे Raft प्रोटोकॉल पर आ रहे हैं। या यह एक की-वैल्यू डेटाबेस है। साझा वाला। एक डेटाबेस, नहीं, यह डेटाबेस नहीं है। यह सर्विस मैनेजमेंट है। हाँ, Dgraph का Badger। तो वह भी, मुझे लगता है, अंदर से डेटा बाँटने के लिए Raft इस्तेमाल करता है। पक्का नहीं कह सकता, दोबारा देखना पड़ेगा। पर बहुत से डेटाबेस हैं जो इसे इस्तेमाल करते हैं। डिस्ट्रिब्यूटेड सिस्टम। तो डिस्ट्रिब्यूटेड सिस्टम मोटे तौर पर हमारे आज के समय की एक बड़ी चुनौती है, मैं कहूँगा। हम इसे हल करने की प्रक्रिया में हैं, पर अभी भी बहुत सी चुनौतियाँ पार करनी हैं। और हाँ, इस तरह सोच पाना हमेशा अच्छा होता है, क्योंकि अगर आप ऐसा सोच सकते हैं, तो बहुत सारी संभावनाएँ खुल जाती हैं।

Jonathan: हम्म।

Gabriel: अगर आपको कोई ज़रूरत हो। मेरी पिछली कंपनी में मैं वाकई उस राह पर चल रहा था, एक ही समय में कई सर्विस के बीच साझा मेमोरी बनाने की। हाँ।

Jonathan: शायद हमें इसे मास्टर क्लास की तरह रखना चाहिए। हम लोगों को कोशिश करने के लिए कुछ हफ़्ते देंगे। तो Gabriel,

Gabriel: वही तो मास्टर क्लास है।

Jonathan: हाँ,

Gabriel: जब आप Exercism से निपट चुके हों और सारे अभ्यास कर चुके हों,

Jonathan: यही तो बड़ी बात है। बड़ी बात। यह सब कुछ जोड़ देती है। Gabriel, आपका समय देने के लिए बहुत-बहुत धन्यवाद। आज शाम आपसे बात करके सचमुच बहुत अच्छा लगा। अगर आप रिकॉर्डिंग खत्म होने के बाद थोड़ी देर रुकना चाहें, तो ज़रूर, पर मैं बस बहुत-बहुत धन्यवाद कहना चाहता हूँ, और आप Exercism में जो कुछ डालते हैं, उसकी मैं वाकई कद्र करता हूँ, और वह सिर्फ़ हमारे लिए नहीं, बल्कि वह सारी मेंटरिंग भी जो आप बाहर करते हैं और लोगों को बेहतर कोड लिखने में मदद करते हैं। मुझे यकीन है कि हर जगह इसकी बहुत कद्र होती है। तो आपका समय देने के लिए धन्यवाद। और Gabriel से जुड़िए। अगर आप Exercism पर हैं, तो उन्हें संदेश भेजिए, मेंटरिंग माँगिए, और मुझे यकीन है आपका समय Gabriel के साथ अच्छा बीतेगा। बढ़िया।

Gabriel: बहुत-बहुत धन्यवाद।

Jonathan: रिकॉर्डिंग खत्म करते हैं। हाँ, नहीं, हमारे साथ आने के लिए धन्यवाद, और हम आपसे जल्दी ही किसी न किसी प्लेटफ़ॉर्म पर मिलेंगे।

Gabriel: धन्यवाद।

हमारी कम्युनिटी की और कहानियाँ

हमारी कम्युनिटी के सदस्यों को सुनिए, उनसे सीखिए और प्रेरणा पाइए।