7 साल की उम्र में प्रोग्रामिंग शुरू की थी, अब 50 की उम्र में लगता है कि जिस चीज़ से प्यार था वह बदल गई है
(jamesdrandall.com)- 1983 से 42 वर्षों तक प्रोग्रामिंग करते आए एक डेवलपर का यह लेख AI युग के आगमन के साथ software development की मूल प्रकृति बदलती महसूस होने पर पैदा हुई जटिल भावनाओं को दर्ज करता है
- 8-bit computer से 486 तक, उस दौर से शुरुआत हुई जब मशीन के हर byte को समझा और सीधे नियंत्रित किया जा सकता था, और उसके बाद अनेक तकनीकी बदलावों से गुज़रने पर भी मूल क्षमताएँ हमेशा स्थानांतरित होती रहीं
- AI, पहले के platform, language और paradigm बदलावों से अलग, "अच्छा होने" के अर्थ को ही बदल देने वाला परिवर्तन है
- कोड सीधे लिखने के बजाय review और निर्देश देने की भूमिका में बदलते हुए, puzzle सुलझाने वाला वह घनिष्ठ feedback loop गायब होता जा रहा है
- 42 साल के अनुभव के साथ अब पहले से तेज़ी से product बनाए जा रहे हैं, लेकिन development से जुड़ी विस्मय की भावना और पहचान एक संक्रमणकालीन बदलाव से गुज़र रही है
वह दौर जिसने मुझे बनाया
- 1983 में, 7 साल की उम्र में, washing machine chip से भी कम processing power वाली मशीन पर BASIC टाइप करते हुए पहला कोड लिखा
- RAM के हर byte का उपयोग ट्रैक किया जा सकता था, स्क्रीन के हर pixel को सीधे रखा जा सकता था, और इरादे से नतीजे तक का रास्ता सीधा और दिखाई देने वाला था
- 8-bit से 486DX2-66 तक का दौर सबसे प्रिय रहा, और हर मशीन का अपना अलग व्यक्तित्व था
- Sinclair Spectrum का attribute clash, Commodore 64 के SID chip का उसके design intent से आगे जाकर इस्तेमाल, NES की प्रति scanline 8-sprite सीमा से पैदा हुई flickering trick आदि
- PC, spreadsheet के लिए बने beige box से 286, 386, 486 होते हुए Doom चलाने वाले gaming powerhouse में विकसित हुआ
- यह सिर्फ product नहीं था, बल्कि दिखाई देने वाले trade-off वाला engineering adventure था, और IRQ conflict, DMA channel,
CONFIG.SYSतथाAUTOEXEC.BAToptimization, memory manager जैसी चीज़ों से जूझना अपने-आप में system engineer की भूमिका थी - id Software जैसी छोटी टीमें ऐसे समय में साहसी तकनीकी फैसले ले रही थीं जब किसी ने नियम तय नहीं किए थे
- Carmack की Wolfenstein raycasting, Doom की VGA Mode X trick जैसी मिसालें, जहाँ वास्तविक सीमाओं को धकेलकर सचमुच कुछ नया बनाया गया
- Plug and Play और Windows abstraction के आने से wild west का अंत हो गया, और कंप्यूटर, सम्मान और समझ की माँग करने वाली मोहक मशीन से बदलकर घरेलू appliance जैसे बन गए
वादे का बिगड़ जाना
- शुरुआती दौर में इस बात को लेकर सच्चा आशावाद था कि कंप्यूटर क्या बन सकते हैं — Spectrum वाला कोई बच्चा खुद कुछ भी बना सकता था, और शुरुआती web मानव इतिहास के सबसे बड़े equalizer जैसा लगता था
- वह उम्मीद बाद में असहज दिशा में बिगड़ गई — जिन मशीनों से प्यार था, वही निगरानी और extraction के औज़ार बन गईं
- जो platform जुड़ाव का वादा करते थे, वे दरअसल उपयोगकर्ताओं को monetize करने के लिए बनाए गए थे
- tinkerer भावना स्वाभाविक मौत नहीं मरी, बल्कि उसे अधिग्रहित करके ad click optimization में लगा दिया गया
- यह सिर्फ tools बदल जाने जैसा नुकसान नहीं था — यह उस चीज़ के बदल जाने का दुख था जिससे प्यार था, और फिर उसका इस्तेमाल ऐसी चीज़ों में होना जिन पर गर्व न हो
वे बदलाव जिनसे गुज़रा हूँ
- 40 साल में अनगिनत तकनीकी बदलाव देखे — नई language, नया platform, नया paradigm, CLI से GUI, desktop से web, web से mobile, monolith से microservices, tape, floppy, hard drive, SSD, और mayfly की तरह आते-जाते JavaScript framework
- हर लहर के साथ कुछ नया सीखना पड़ा, लेकिन मुख्य कौशल स्थानांतरित किए जा सकते थे — नया platform सीखो, systems कैसे काम करते हैं इसकी पुरानी समझ लागू करो, और बनाते रहो
- यहाँ तक कि उन platform पर software ship करने का अनुभव भी, जो अब मौजूद नहीं हैं, हर बार industry के नई दिशा में मुड़ने पर अनुभव को चक्रवृद्धि की तरह जमा करता गया
- अनुभवी डेवलपरों और industry के बीच एक अनकहा समझौता था: "चीज़ें बदलती हैं, लेकिन समझ बनी रहती है"
इस बार बात अलग है
- पहले के तकनीकी बदलावों की संरचना "नई चीज़ सीखो और पुराने कौशल लागू करो" जैसी थी, लेकिन AI कोई नया platform, language या paradigm नहीं, बल्कि "अच्छा होने के अर्थ" को ही बदल देने वाला बदलाव है
- यह बात धीरे-धीरे समझ आई — feature बनाते समय और architecture डिज़ाइन करते समय काम तो वही कर रहा हूँ, लेकिन दिलचस्प हिस्सा जैसे खोखला हो गया है
- elegant solution ढूँढना, constraints से जूझना, और कुछ ठीक बैठ जाने का संतोष — यह सब अब धीरे-धीरे ऐसे model के हवाले हो रहा है जिसे elegance में रुचि नहीं और संतोष का अनुभव नहीं
- यह सस्ता और तेज़ है, लेकिन भीतर से खाली लगता है
- अब कोड खुद टाइप करने के बजाय review, निर्देश और सुधार करने की भूमिका में बदलाव आ रहा है — 42 साल में जमा हुई यह समझ कि क्या काम करता है और क्या नहीं, अभी भी मूल्यवान है, लेकिन यह अलग तरह का काम है और वैसा महसूस नहीं होता
- feedback loop बदल गया है और घनिष्ठता गायब हो रही है — वे puzzle, tracing, और अंततः यह समझ पाने के क्षण कि कुछ काम क्यों नहीं कर रहा, जो दशकों तक रातें जगाते थे, अब prompt और response में सिमट रहे हैं
- अब ऐसे लोगों को ऊपरी तौर पर मिलते-जुलते नतीजे बनाते देख रहे हैं जिनके पास अनुभव का बहुत छोटा हिस्सा है — craftsmanship का अंतर असली है, लेकिन बाहर से देखना कठिन है, और उसका मूल्य आँकना या भीतर से महसूस करना भी कठिन होता जा रहा है
abstraction का टॉवर
- LinkedIn पर 20s की शुरुआती उम्र के, कुछ साल के अनुभव वाले डेवलपरों को AI के कारण यह कहते देखा कि "समझ ही नहीं आ रहा कि क्या हो रहा है"
- उन्हें यह एहसास नहीं था कि वे पहले से ही abstraction chain के सबसे ऊपर, डगमगाते Jenga टॉवर पर खड़े थे
- TypeScript → JavaScript compilation → C++ में लिखा V8 engine → OS kernel system call → उन cores का thread scheduling जिनके बारे में उन्होंने कभी सोचा भी नहीं → caching layer वाला memory controller → npm के 400 packages जिनकी एक भी line कभी नहीं पढ़ी
- abstraction का जहाज़ तो दशकों पहले ही निकल चुका था, बस हर layer धीरे-धीरे पहुँची, इसलिए यह दिखावा करना संभव था कि पूरा stack समझ में आता है
- AI वह layer है जिसने अब यह दिखावा बनाए रखना असंभव कर दिया है
- पूरी मशीन को समझने की भावना को याद रखना, और उसे खो देने का जो दुख है, उसे वह व्यक्ति पूरी तरह महसूस नहीं कर सकता जिसने यह अनुभव कभी किया ही नहीं
जो अब भी बचा है
- यह सच है कि अनुभव पहले से कहीं ज़्यादा मूल्यवान है, system thinking और architectural judgment ऐसी चीज़ें हैं जिन्हें AI बदल नहीं सकता, और craftsmanship किसी दूसरे रूप में जारी रहती है
- जटिल कामों में — system-level dependency management, कई interacting specs के पार mental model बनाए रखना, और किसी चीज़ को एकसार महसूस कराने वाले हज़ारों छोटे फैसले — अब भी इंसान AI के पास न होने वाली चीज़ें लाता है: taste, judgment, दशकों की pattern recognition
- जब code generation सस्ता हो जाएगा, तो bottleneck उस व्यक्ति पर शिफ्ट होगा जो जानता हो कि क्या माँगना है, जो output में सूक्ष्म गलती पकड़ सके, और जो पूरी तस्वीर को संभाले रख सके — typing कभी मुश्किल हिस्सा था ही नहीं
- लेकिन यह कहना झूठ होगा कि सब वैसा ही लगता है — विस्मय तक पहुँचना कठिन हो गया है, सिर्फ जिद और मौलिकता के दम पर कुछ समझ निकाल लेने वाली खोज की भावना संकुचित हो गई है। इस compression में कुछ मिलता है, लेकिन कुछ खोता भी है
fallow period
- हाल ही में 50 साल का हुआ हूँ, और 4 साल की तीव्र निर्माण-प्रक्रिया और पहचान-निर्माण के बाद अब उस दौर में प्रवेश किया है जिसे मैं "fallow period" कहने लगा हूँ
- यह burnout से अलग है — यह उस प्रक्रिया जैसा है जिसमें किसी ऐसी इमारत के नीचे की ज़मीन हिल रही हो जिसे स्थायी समझा गया था, और अब नई नींव खोजनी पड़ रही हो
- इसका कोई साफ-सुथरा निष्कर्ष नहीं है — "stack में ऊपर जाओ", "tools को अपनाओ", "AI जो नहीं कर सकता उस पर ध्यान दो" जैसी सलाह शायद सही हो, लेकिन यह उस एहसास का समाधान नहीं करती
- ऐसा लगता है कि जिस चीज़ को 42 साल दिए, वह अब ऐसी किसी चीज़ में बदल गई है जिसे शायद पहचानना भी मुश्किल हो — ज़रूरी नहीं कि वह बदतर हो, लेकिन वह अलग है, और उसके इर्द-गिर्द बनाई गई पहचान को चुनौती देती है, साथ ही पहले जैसी संतुष्टि भी नहीं देती
- अनुमान है कि 40 से ऊपर के बहुत से डेवलपर भी ऐसा ही महसूस करते होंगे, लेकिन कहेंगे नहीं — क्योंकि industry यौवन और अनुकूलनशीलता की पूजा करती है, इसलिए "अब पहले जैसा नहीं लगता" कहना पीछे छूटने जैसा सुनाई देता है
- यह पीछे छूटना नहीं है — मैं नए tools का इस्तेमाल करके पहले से कहीं तेज़ बना रहा हूँ और ऐसे product बना रहा हूँ जिनकी कुछ साल पहले सिर्फ कल्पना की जा सकती थी, लेकिन साथ ही यह भी समझने की कोशिश कर रहा हूँ कि अब "बनाने" का मतलब क्या है
- 7 साल की उम्र में मैंने प्रोग्रामिंग इसलिए शुरू की थी क्योंकि मशीन वही करती थी जो उसे कहा जाए, उसे खोजा जा सकता था और अंततः जाना भी जा सकता था, और यह जादू जैसा लगता था; अब 50 की उम्र में जादू अलग है, और मैं उसके साथ जीना सीख रहा हूँ
11 टिप्पणियां
मैंने पहली हाई स्कूल वर्ष से ही यह सोचकर कि मुझे Computer Science में जाना है, अपनी स्कूल रिकॉर्ड बुक भी उसी से जुड़ी गतिविधियों से भरनी शुरू की और समय-समय पर थोड़ा-बहुत self-study भी करता रहा, और अब मैं हाई स्कूल के अंतिम वर्ष में प्रवेश से पहले खड़ा हूं, लेकिन इन दिनों मन बहुत उलझा हुआ है। जब मैंने GPT-3 या शायद उसके लगभग शुरुआती versions इस्तेमाल किए थे, तब बस यह देखकर हैरानी होती थी कि AI इतनी स्वाभाविक तरह से बात करता है, और मैं Midjourney Discord में जाकर तस्वीरें भी बनाकर देखता था, लेकिन उस समय वह बस एक “दिलचस्प खिलौना” जैसा लगा था; मैंने कभी नहीं सोचा था कि यह इतनी तेजी से बढ़ेगा। शायद इसलिए भी मेरी expectations कम थीं क्योंकि मैं Bixby जैसे AI को इससे पहले लंबे समय से देखता आया था। लेकिन देखते-देखते AI तेज़ी से बढ़ने लगा, Big Tech कंपनियां AI में निवेश करने लगीं, और ऐसी बातें फैलने लगीं कि Computer Science का भविष्य अंधकारमय है वगैरह। बेशक generative AI आखिरकार गणितीय रूप से अधिक संभावना वाले शब्दों को क्रम में रखने वाला एक जटिल program ही है, लेकिन यह इंसानों के काम की नकल बहुत अच्छी तरह करता है, और इसकी growth भी इतनी तेज़ है कि मुझे चिंता होती है कि university से graduate होने के बाद, या शायद graduate school तक खत्म करने के बाद, क्या नौकरियां पर्याप्त होंगी... आधा भरोसा, आधी inertia के सहारे मैं अब भी अपने मूल लक्ष्य, यानी Seoul National University के Computer Science विभाग में जाने के लिए पढ़ाई भी कर रहा हूं और अपनी school record भी संभाल रहा हूं, लेकिन इस असुरक्षा को झटकना आसान नहीं है। ऊपर से, कई बार किताबों की तुलना में AI से पूछते हुए development पढ़ना बहुत ज़्यादा तेज़ होता है, इसलिए मन में एक तरह की द्वंद्वात्मक भावना भी है... बस, ऐसा ही है।
क्या अभी का समय और भी बेहतर नहीं है? अगर आप किसी से भी तेज़ी से आगे बढ़ें, तो लगता है कि बहुत जल्दी expert बन सकते हैं. AI क्षेत्र में भी अभी बहुत काम बाकी है.. अभी तो बस इतना ही है कि coding अच्छी तरह करने लगे हैं.
उम्र अलग है, लेकिन मैं भी कुछ हद तक ऐसा ही सोचता हूँ, हाहा
आप जानते हैं कि arts और sports जैसे क्षेत्रों में नौकरी पाना मुश्किल हो सकता है, फिर भी लोग वही major चुनते हैं जो उन्हें पसंद हो। फैसला इस आधार पर करें कि नौकरी आपके लिए ज़्यादा महत्वपूर्ण है या नौकरी पाना कठिन होने पर भी अपनी पसंद का काम करना आपके लिए ठीक है। AI का इस्तेमाल करके software बनाना और AI पर research करना अब भी शानदार काम है।
ऐसा इसलिए है क्योंकि ऐसी तकनीक सामने आई है जिसकी बुनियाद नैतिक रूप से ठोस नहीं है। जिन डेटा पर LLM ने 'सीखा' है, उनके इस तरह के उपयोग की अनुमति नहीं ली गई थी (हालांकि वे दावा करते हैं कि ली गई थी), इसलिए वे यह भी ठीक से सूचीबद्ध नहीं कर सकते कि किन डेटा पर 'सीखा' गया। नतीजतन उसकी संरचना को समझना असंभव हो जाता है। यह शुरुआत से ही मानव बुद्धि और मानसिक श्रम का सम्मान किए बिना शुरू हुई तकनीक है, और बिना अनुमति के नकली प्रतियों का बड़े पैमाने पर उत्पादन करके पर्यावरण को नष्ट करने वाली तकनीक है।
मैंने भी BASIC से शुरुआत की थी, और (प्राथमिक) स्कूल के दिनों में तरह-तरह की प्रतियोगिताओं में धूम मचा दी थी। ज़्यादातर गेम बनाए, और प्राथमिक स्कूल में फर्स्ट-पर्सन शूटिंग गेम बनाया था, उसे मैं अपने करियर का सबसे बड़ा हाई पॉइंट मानता हूँ। उसके बाद COBOL, Fortran, C/C++ से शुरू करके Windows ऐप/गेम बनाए, गेम सर्वर, फीचरफोन/सेट-टॉप बॉक्स embedded ऐप development से लेकर iOS, Android तक किया, और फिर Node, Python आधारित web app को full-stack के रूप में develop किया, साथ ही Node आधारित open source गतिविधियों में भी सक्रिय रहा। ज़्यादातर system, framework, OS आदि को बुनियाद से समझकर develop किया और उनका अनुभव लिया। 40 की उम्र में पहुँचकर नया framework या OS आता भी था तो सब लगभग एक जैसा ही लगता था। लेकिन AI आधारित development बुनियादी तौर पर अलग काम है। यह अब तक किए गए कामों की निरंतरता जैसा दिखता है, लेकिन है नहीं। अकाउंटिंग/ऑफिस का काम वही रहता है, लेकिन अबेकस से spreadsheet पर जाना कोई सीधी निरंतरता नहीं है। सवाल यह है कि क्या आप सिर्फ अबेकस ही चलाते रहेंगे, या किसी दूसरे क्षेत्र में आकर जुड़ेंगे। यह अच्छा/बुरा/बदल गया का सवाल नहीं है।
बहुत शानदार हैं आप।
मैं भी 50 पार कर चुका हूँ, और 2000 के शुरुआती दशक से इंडस्ट्री में हूँ, लेकिन मुझे लगता है कि AI के आने से उल्टा अच्छा ही हुआ है। पहले kernel source का analysis करने के लिए तनाव लेते हुए बार-बार खोज करनी पड़ती थी, लेकिन अब वह काम AI से करवा लेता हूँ, और फिर उसके आधार पर मैं दोबारा यह verify करता हूँ कि वह सही है या नहीं, इसलिए तनाव कम होता है और मैं ज़्यादा चीज़ें, और ज़्यादा गहराई से समझ पाता हूँ। और मेरा base firmware है, लेकिन अब Android application तक सब develop कर पाना संभव हो गया है, इसलिए यह भी समझ में आया कि one-person business भी संभव है।
मैंने भी 83 में BASIC से शुरुआत की थी,
और NEC की scanline पर 8-sprite सीमा का वही अनुभव MSX में भी किया था (MSX1 में 4 थे), इसलिए उसी दौर और अनुभव को साझा करने वाला यह लेख पढ़कर बहुत खुशी हुई।
आपकी मौजूदा चिंता की बात भी मैं अच्छी तरह समझता हूँ.
मैंने भी Basic से शुरुआत की थी, और देखते-देखते 40 साल से ज़्यादा हो गए।
एक दौर वह भी था जब हम अबेकस सीखते थे, और अब AI एजेंट्स से काम करा रहे हैं, तो सच में दुनिया बहुत तेज़ी से बदल रही है।
लेकिन मुझे लेखक जैसी कोई भावना नहीं आती, बस आजकल जो कुछ चल रहा है वह दिलचस्प लगता है।
Hacker News की राय
समय के साथ OS की बढ़ती जटिलता और सॉफ़्टवेयर की सामाजिक अहमियत बढ़ने से मुझे लगा कि डेवलपमेंट का माहौल लगातार खराब होता गया।
1984 का Mac पहले से ही समृद्ध graphics libraries के साथ आता था, और abstraction एक अनिवार्य दिशा थी। मुझे तो अच्छी तरह डिज़ाइन किए गए frameworks पसंद थे।
लेकिन जब सॉफ़्टवेयर ने जीवन पर हावी होना शुरू किया, तब ‘engineer-नेतृत्व वाले दौर’ का अंत हो गया, और Agile, unit tests, code review जैसी management-केंद्रित संस्कृति ने coding का आनंद छीन लिया।
अब रिटायरमेंट के बाद फिर से आज़ादी से coding कर रहा हूँ और पुराने दिनों वाले ‘cowboy programmer’ का एहसास ले रहा हूँ।
AI से बने code की quality आखिरकार उस tool का उपयोग करने वाले developer के स्तर के अनुपात में होती है। अच्छे developers अब भी अच्छे नतीजे देते हैं।
AI का इस्तेमाल करते हुए भी महत्वपूर्ण हिस्सों को खुद सँवार सकते हैं और दिमाग लगाने के लिए समय निकाल सकते हैं। असली चुनौती तकनीक नहीं, बल्कि समय प्रबंधन है।
पहले मैं रात भर assembly rendering library लिखते हुए खुद को जादूगर जैसा महसूस करता था। मुझे लगता था कि Docker containers में वह जादू नहीं है, लेकिन आजकल फिर से सुबह 2 बजे मॉनिटर की रोशनी में वही जादू करने जैसा एहसास होता है।
मैं भी 50 का हूँ, और AI coding assistants की वजह से अब उन personal projects को पूरा कर पाने की उम्मीद है जिन्हें पहले समय की कमी के कारण नहीं कर पाया।
chatbot के साथ development करना form भरने जैसा लगता है। फिर भी दुनिया बदल रही है, इसलिए इसे स्वीकार करना पड़ेगा
इससे यह एहसास होता है कि ज़्यादातर लोग कारीगरी से ज़्यादा efficiency चाहते हैं, और सच्चे कारीगर बहुत कम हैं। शायद अंत में हम संस्कृति का एक और हिस्सा खो देंगे
लेकिन LLM द्वारा बनाए गए code को debug करना किसी और के code को ठीक करने जैसा लगता है, इसलिए उपलब्धि का एहसास नहीं होता। चीज़ें जल्दी पूरी हो जाती हैं, लेकिन अब वे अपनी नहीं लगतीं
आज के बच्चे भी अब भी जादू महसूस कर रहे हैं। 50 साल बाद शायद लोग कहेंगे, “GPT-6.2 RAG tuning वाले दिन याद आते हैं।”
मैं पहली श्रेणी में हूँ। AI की वजह से अब मैं वे चीज़ें बना पा रहा हूँ जिनके लिए पहले समय नहीं था। अब मैं core features पर ध्यान दे सकता हूँ।
भविष्य की technology को लेकर उत्साह खत्म हो गया, इसलिए दूसरी दिशाओं में देखने लगा।
बड़ी कंपनी में रहते हुए मज़ा नहीं आता था, लेकिन अब हर दिन IDE के सामने बैठना अच्छा लगता है।
अगर programming मज़ेदार नहीं रही, तो consulting में जाने पर विचार करना चाहिए। स्वतंत्रता और control फिर से आनंद लौटा देते हैं।