AI junior developers को बेकार बना रहा है
(beabetterdev.com)- AI tools junior developers को सिर्फ सतही क्षमता दे रहे हैं; वे तेज़ी से code output कर देते हैं, लेकिन यह समझाना अक्सर संभव नहीं होता कि वही approach क्यों चुनी गई
- senior developers की असली value code लिखने की speed में नहीं, बल्कि वर्षों की असफलताओं से बनी failure pattern recognition में होती है
- AI का उपयोग करते हुए भी error को खुद analyze करना, code trace करना और hypothesis बनाना जैसी जानबूझकर की गई जद्दोजहद की प्रक्रिया ज़रूरी है
- commit किए जाने वाले हर code के लिए library चुनने का कारण, pattern, और trade-off को खुद explain कर पाना चाहिए; वरना वह production के लिए तैयार नहीं है
- AI को सिर्फ answer generator नहीं, बल्कि tutor की तरह इस्तेमाल करना चाहिए, ताकि अलग-अलग approaches के फायदे और सीमाएँ सीखी जा सकें
समस्या का मूल: AI से बन रही सतही क्षमता
- LLM के उपयोग से feature जल्दी बनाना और deploy करना संभव हुआ है, लेकिन code चुनने का कारण समझा न पाना एक आम स्थिति बन गई है
- code review में approach पर पूछे गए सवालों का जवाब न दे पाने वाली सतही क्षमता(shallow competence) की समस्या फैल रही है
- AI द्वारा सुझाए गए code को ज्यों का त्यों स्वीकार करने का pattern बार-बार दोहराया जा रहा है
- ऊपर से productivity ऊँची दिखती है, लेकिन design intent और trade-off की समझ कमजोर रहती है
- समय के साथ यह समस्या भरोसा घटने का कारण बन सकती है
senior developers की value क्यों है
- अनुभवी developers महंगे इसलिए नहीं होते कि वे code जल्दी लिखते हैं, बल्कि इसलिए कि उन्होंने लंबे समय में यह सीखा है कि क्या नहीं करना चाहिए
- गलत architecture decision लेने, उसके परिणाम झेलने, और रात 2 बजे outage call उठाने जैसे अनुभवों से जो failure pattern recognition बनती है, कंपनियाँ असल में उसी के लिए भुगतान करती हैं
- अभी कई junior developers AI का इस्तेमाल करते हुए इस प्रक्रिया को ही skip कर रहे हैं
5 रणनीतियाँ
-
1. fundamentals को सही ढंग से सीखें
- अच्छा code क्या होता है यह जानना ज़रूरी है, तभी AI के output का सही मूल्यांकन किया जा सकता है; वरना AI output को अंधाधुंध स्वीकार कर लिया जाता है
- सुझाई गई किताबें: Head First Design Patterns (coding patterns और उन्हें चुनने के कारण समझने के लिए) और Designing Data-Intensive Applications (data-intensive systems की design principles के लिए)
-
2. outage cases का अध्ययन करें
- Cloudflare, AWS, Azure, Google जैसी बड़ी services में outage होने पर जारी किए गए detailed post-mortem दस्तावेज़ पढ़ने की सलाह दी गई है
- इनमें कारण, root cause analysis, fix का तरीका, और दोबारा ऐसी घटना रोकने के उपाय शामिल होते हैं
- Amazon में COE(Correction of Errors) और Facebook समेत अधिकांश बड़ी tech कंपनियों में इसी तरह के internal documents होते हैं
- complex systems कैसे टूटते हैं, इसे समझना सिर्फ documentation पढ़ने से कहीं ज़्यादा गहराई से याद रह जाता है
- Cloudflare, AWS, Azure, Google जैसी बड़ी services में outage होने पर जारी किए गए detailed post-mortem दस्तावेज़ पढ़ने की सलाह दी गई है
-
3. जद्दोजहद को जानबूझकर अपनाएँ
- AI से पहले समस्या को खुद हल करने की प्रक्रिया कोई विकल्प नहीं बल्कि default थी, लेकिन अब 24 घंटे उपलब्ध एक escape hatch मौजूद है
- error को AI में paste करने से पहले stack trace पढ़ें, code trace करें, logs जाँचें, और क्या गलत हुआ इस पर hypothesis बनाएँ
- यही प्रक्रिया असली debugging instinct बनाती है
- इसके बाद AI का उपयोग किया जा सकता है
- on-call में हिस्सा लेना और वे tickets उठाना जिन्हें कोई नहीं लेना चाहता, system कैसे काम करता है यह सीखने का सबसे प्रभावी तरीका है
-
4. जिस code को समझते नहीं, उसे कभी release न करें
- अगर code review में किसी specific approach के बारे में पूछे जाने पर जवाब हो, "AI ने suggest किया था", तो तुरंत भरोसा खत्म हो जाता है
- समस्या AI के उपयोग में नहीं, बल्कि अपने द्वारा submit किए जा रहे code को समझने की कोशिश न करने में है
- commit की जाने वाली हर line के लिए यह समझा पाना चाहिए कि यही library क्यों, यही pattern क्यों, और trade-off क्या है
- speed थोड़ी कम करनी पड़े तो भी पहले समझ ज़रूरी है; केवल copy-paste करने वाले व्यक्ति की reputation वापस पाना बहुत कठिन होता है
- अगर code review में किसी specific approach के बारे में पूछे जाने पर जवाब हो, "AI ने suggest किया था", तो तुरंत भरोसा खत्म हो जाता है
-
5. answer नहीं, "क्यों" को prompt करें
- AI से सिर्फ problem solve करने को कहने के बजाय, अलग-अलग approaches और उनके फायदे-नुकसान समझाने को कहें
- इससे दो प्रभाव होते हैं:
- trade-off के बारे में सचमुच सीखने का मौका मिलता है
- AI जब reasoning process से गुजरता है, तो उसकी recommendation खुद बदल सकती है, जिससे बेहतर जवाब मिल सकता है
speed pressure पर व्यावहारिक सलाह: productivity और learning का संतुलन
- धीमे पड़ जाने पर पीछे छूटने का डर वास्तविक है, लेकिन काम को पूरी तरह रोकने की ज़रूरत नहीं है
- free time, side projects, और कम प्रतिस्पर्धी tickets में जानबूझकर कठिन और असुविधाजनक learning करें
- असली skill बनाने के समय और सिर्फ output देने के समय के बीच सचेत रूप से अंतर करना ज़रूरी है
AI को tutor की तरह इस्तेमाल करें
- आज developers के पास ऐसा AI tutor है जो किसी भी चीज़ को मनचाही गहराई तक समझा सकता है, जो पिछली पीढ़ियों के पास नहीं था
- AI से सिर्फ काम करवाने के बजाय, उससे explain करने और सिखाने के लिए भी कहें
- developer की value code output करने की क्षमता में नहीं, बल्कि किसी भी code को देखकर यह तय कर पाने की क्षमता में है कि वह अच्छा है या नहीं
- code AI-generated हो या न हो, अच्छे और बुरे में फर्क कर पाना ही मुख्य क्षमता है
- जानबूझकर किया गया learning और failures का accumulation ही लंबी अवधि की competitiveness बना सकता है
20 टिप्पणियां
अगर उन्होंने AI के आउटपुट टेक्स्ट को पढ़ा होता, तो ये हाल नहीं होता.
समस्या सिर्फ़ junior होने की नहीं है, समस्या उन juniors की है जो बस copy-paste और क्लिक ही करते हैं.
असल में, AI से पहले भी ऐसे लोग थे.
बस Stack Overflow की जगह अब AI आ गया है.
AI वास्तव में डेवलपर्स को कब replace करेगा, या यह सच में संभव भी होगा या नहीं, यह अभी तक पता नहीं है, इसलिए बिना सोचे-समझे उसकी तारीफ़ करने की ज़रूरत नहीं लगती। वास्तव में Reddit पर भी ऐसे काफ़ी पोस्ट हैं जहाँ लोग कुछ बनाकर users को ला तो रहे हैं, लेकिन उन्हें यह तक नहीं पता कि उनकी अपनी service में क्या जोखिम है, और फिर वे मदद माँग रहे हैं।
पहले जब चीज़ें हस्तशिल्प से बनाई जाती थीं, तो लोगों को गुरु-शिष्य जैसी पद्धति से तैयार किया जाता था, और फिर औद्योगिक क्रांति के बाद वह साधारण श्रम में बदल गया।
अब लोग conveyor belt से गुजरने वाले parts की तरह बस line 4 से उगलकर निकलने वाले code को घूरते रहते हैं।
जो व्यक्ति सिर्फ parts की inspection करता है, उससे अगर पूछो, 'इसे ऐसे design क्यों किया?' तो 10 साल काम करने के बाद भी उसके पास 'machine ने ऐसा किया' के अलावा कोई जवाब नहीं होगा।
???: "क्या नहीं करना चाहिए, इस पर सावधानी से विचार करो"
हाहाहाहा, ये सही है हाहाहा
हाहा
हाहाहाहा
आखिरकार, जब AI की reasoning और memory capabilities बढ़ जाएँगी, तो ऐसी सारी बहसें बेमानी हो जाएँगी। वैसे भी, senior developers की भी ज़रूरत नहीं रहेगी।
आखिरकार, यह इस बात पर निर्भर करेगा कि उसे इस्तेमाल करने वाला व्यक्ति कैसे सोचता है और उसका उपयोग कैसे करता है।
बिना सोचे-समझे बस उसी पर काम छोड़ देने वाला माहौल बन जाने से अनजाने में उसके पीछे-पीछे चल पड़ने का खतरा भी बढ़ा है, लेकिन अगर इसे सही तरह से इस्तेमाल किया जाए तो पहले की तुलना में कहीं अधिक तेज़ और सटीक learning और development संभव है।
हालांकि, जो लोग शुरुआत में सीख रहे हैं उन्हें मार्गदर्शन देने के लिए, मौजूदा learning और experience के तरीकों से अलग किसी नए आदर्श learning framework और method को जल्दी व्यवस्थित किया जाए तो अच्छा होगा।
मुझे लगता है कि senior ने अब तक जो अनुभव किया है, junior उसे उससे भी तेज़ी से सीख पाएगा, है न?
वैसे भी, लेखक जिस तरह के सिर्फ़ साधारण copy-paste करने वाले junior developer की बात कर रहे हैं, वे Stack Overflow के दौर में भी उपयोगी नहीं थे।
बस AI के दौर में Stack Overflow से code copy-paste करने की आदत
AI के जवाबों पर शिफ्ट हो गई है।
आख़िरकार, अगर कोई junior developer पहले भी ठीक से पढ़ाई-सीखाई कर रहा था,
तो AI युग में वह और भी तेज़ी से senior-level developer बनकर आगे बढ़ेगा।
अब अगर low-level भी देखने की ज़रूरत न रहे और मान लें कि AI से सीखना भी तेज़ी से होने लगे, तो 4-year degree करके निकले किसी कोरियाई junior developer को महंगे में कौन hire करेगा?
सब कुछ कर देने वाले किसी जादुई AI agent से hiring करेंगे, AI से onboarding कराएंगे, AI से translation कराएंगे, और उधर India के Rahul Singh (24, IIT master's) या Zhang Wei (26, Tsinghua University topper) जैसे लोगों को उससे भी सस्ते में hire कर लेंगे।
खासकर पुरुषों के लिए, यह देखते हुए कि military service की वजह से समाज में entry करने में +2 साल लग जाते हैं, मुझे लगता है कि अभी के junior लोगों की स्थिति को लेकर बहुत चिंता है।
अगर आप मुख्य रूप से AI का इस्तेमाल करेंगे, तो आपको असफल होने का मौका नहीं मिलेगा, इसलिए आप engineering के सबक नहीं सीख पाएंगे। जो बातें किताबों या लेखों में व्यक्त नहीं हुई हैं, उन्हें AI भी cover नहीं कर सकता।
AI भी विफल होता है, इसलिए क्या हमें ऐसा इंसान नहीं बनना चाहिए जो 'AI के साथ असफल हो और साथ मिलकर उसे पार करे'।
आपके दिए गए जवाब के अनुसार, अगर नाकामी AI करे तो उससे उबरेगा कौन? कॉलेज से नया निकला जूनियर?
मैं एक विनम्र और शालीन टिप्पणी छोड़ रहा हूँ.
मैं भी यही कहूँगा। साथ में खोजते हैं और साथ में समाधान निकालते हैं। शायद आपने इस तरह कोशिश नहीं की होगी, लेकिन मुझे लगता है कि आप इसे कुछ ज़्यादा ही मजबूती से अंतिम सही जवाब की तरह पेश कर रहे हैं। मैं भी अपनी तरफ़ से यथासंभव विनम्र और शालीन तरीके से टिप्पणी छोड़ रहा हूँ~^^
आखिरकार 10 साल बाद हम 10 साल के junior (powered by AI) बन जाएंगे।
AI models की सुधार की रफ्तार देखें तो लगता है कि जब तक आज का junior developer senior बनेगा,
तब तक शायद senior को भी replace किया जा रहा होगा।
तो मतलब यह कहा जा रहा है कि AI उन जूनियर डेवलपर्स की जगह ले रहा है जो आगे चलकर सीनियर बनते। AI ज़िंदाबाद, ज़िंदाबाद, महा ज़िंदाबाद
यही सही जवाब है
Hacker News की राय
मुझे लगता है कि आगे चलकर AI के बिना सीखने की अवधि ज़रूरी होगी
किसी भी skill को सीखने में ‘खुद हाथ से करके बार-बार अभ्यास’ सबसे अहम होता है
मेरा मानना है कि learning stage इस तरह आगे बढ़ेगी: “AI के बिना intuition बनाना → धीरे-धीरे AI का इस्तेमाल करके उसकी सीमाएँ समझना → AI-native expert”
लेकिन इसे बड़े पैमाने पर कैसे लागू किया जाए, यह अभी तय नहीं है
विडंबना यह है कि AI एक personal tutor के रूप में उपयोगी है, लेकिन साथ ही practice से बचने का प्रलोभन भी बन जाता है
मौजूदा exam-centric education system उल्टा AI पर निर्भरता को और मज़बूत करता है
इसलिए मैंने अनुमान लगाया था कि apprenticeship system फिर से लौटेगा, और Microsoft के preceptorship proposal को मैं उसका संकेत मानता हूँ
यह उत्साहजनक है कि बड़ी कंपनियों ने समस्या को पहचाना है और समाधान भी सुझाया है
इन टूल्स ने यह समझने में मदद की कि मैं कहाँ गलत था, लेकिन आखिरकार हाथ से अभ्यास ही सबसे महत्वपूर्ण था
लेकिन आज का AI उपयोग सिर्फ theory सीखना नहीं है, बल्कि कुछ-कुछ गुलाम से काम कराने जैसा है
इतिहास में ऐसे तरीकों से mastery पैदा नहीं हुई
पहले से ही बहुत से लोग social media addiction को नियंत्रित नहीं कर पा रहे हैं
Rich Hickey की Simple Made Easy talk ने मेरे career पर बड़ा असर डाला था
AI में ‘taste’ नहीं है, और वह code की मात्रा बढ़ाने की दिशा में काम करता है
असली engineering कम code में सबसे असरदार functionality बनाना एक कला है
पहले भी junior developer productivity से ज़्यादा learning के लिए होते थे
इसी वजह से senior जानबूझकर कुछ घंटों के काम को एक हफ्ते के assignment की तरह देते थे
अब कंपनियाँ उस ‘training cost’ से बचना चाहती हैं
हर कोई सिर्फ short-term profit देखता है और long-term collapse को बुलावा देता है
junior नहीं होंगे तो senior भी गायब हो जाएँगे, और अंततः पूरा industry ही टूट जाएगा
cost reduction और promotion structure के balance के लिए भी juniors ज़रूरी हैं
लेकिन AI आने के बाद अब mid-level developer तक replace होने की संभावना है
short-term targets के हिसाब से देखें तो “junior negative productivity” होते हैं
धीमापन skill की वजह से नहीं, बल्कि inefficient organizational process की वजह से होता है
मैं छात्रों से हमेशा कहता हूँ — “junior को खुद code लिखना चाहिए”
htmx के लेख की तरह, senior को junior को code लिखने लायक बनाना चाहिए
क्योंकि senior, junior से ही बनते हैं
सोच यह हो गई है कि “senior चाहिए तो senior hire करो”
यह कहीं COBOL पीढ़ी की पुनरावृत्ति न बन जाए
senior और junior के बीच का gap बढ़ गया है, और खुद जूझकर सीखने का अनुभव गायब होता जा रहा है
मेरे जैसे 30 साल के experience वाले developer को अभी बहुत ऊँचे contract rates मिल रहे हैं
अगर coding एक कला है, तो शायद अंत में कलाकारों की तरह survival competition करना पड़े
अगर सब junior training छोड़ देंगे, तो अंततः senior supply collapse होगा
लेकिन short-term profit के लिए नियम तोड़ने का प्रलोभन बहुत बड़ा है
सच तो यह है कि बहुत से senior developer भी खास अच्छे नहीं होते
एक निश्चित बिंदु के बाद project quality हमेशा गिरती है
ज़्यादातर लोग सिर्फ title के हिसाब से senior थे, और मैं खुद भी नाम का senior था, असल में mid-level ही था
manager, recruiter, developer — सब ‘काम करने का अभिनय’ करते हैं, जबकि असली value कुछ गिने-चुने genuinely skilled लोगों से आती है
मुझे जिस scenario से डर लगता है, वह यह है कि हम prompt manager बनकर रह जाएँ
एक ऐसा भविष्य, जहाँ codebase को ठीक से समझे बिना हम सिर्फ AI द्वारा सुधारे गए code पर भरोसा करें
गहरे problem-solving का आनंद अब भी मौजूद है
बस यह अच्छा लगता है कि React या NextJS जैसी stack को खुद इस्तेमाल न करना पड़े
जिन्होंने AI से पहले मजबूत fundamentals सीखे, वे आज सच में बहुत lucky हैं
यह बस ‘left-pad culture’ का अगला चरण है
तभी AI भी बेहतर काम करता है, और इंसानी domain knowledge भी चमक पाती है
मुझे भी वही बेचैनी महसूस होती है
review लगभग नहीं के बराबर है, और long-term architecture thinking गायब हो चुकी है
लगता है समाज कुल मिलाकर quality decline को स्वीकार कर रहा है
आजकल मुझे लगता है कि junior, senior से ज़्यादा उपयोगी हैं
senior से सवाल पूछो तो जवाब मिलता है, “AI ने ऐसा कहा”
जबकि junior में सीखने का उत्साह होता है, और staff-level लोग अब भी शानदार mentor हैं
दूसरी तरफ कुछ mid-level लोग AI के बिना कुछ भी नहीं कर पाते
वे समस्या को समझते ही नहीं, और AI जब उनकी जगह हल दे देता है तो वे अपनी अक्षम्यता के प्रति सुन्न हो जाते हैं
LLM का दुरुपयोग cognitive decline लाएगा
मैं तो कोशिश करूँगा कि सिर्फ उन्हीं लोगों को hire करूँ जो LLM से दूषित न हुए हों
यह लेख खुद भी LLM द्वारा लिखा हुआ लगता है
“It’s not X, but Y” जैसी writing style बहुत stereotypical है
यह सोचकर उदासी होती है कि अब web content का ज़्यादातर हिस्सा AI-generated होगा
आख़िरकार हम ऐसी दुनिया की ओर बढ़ रहे हैं जहाँ असली और नकली का फर्क मिट जाएगा
इसलिए मैं तो सोच रहा हूँ कि शायद welding सीखने चला जाऊँ
यह लेख भी उसी style का है
समस्या की जड़ senior में है
वे junior को सिर्फ बेकार का काम देते हैं, और नए tools इस्तेमाल करने का मौका नहीं देते
अब “email template ठीक करो” की जगह “internal process automation service बनाओ” जैसे assignments देने चाहिए
junior के लिए यह समझना मुश्किल है कि उसे क्या नहीं पता, और senior के लिए सिखाना भी मुश्किल हो गया है
AI की वजह से मैं ऐसे junior को भी hire कर पाया जो HTML तक नहीं जानता था
पहले यह असंभव था, लेकिन अब थोड़ी persistence हो तो entry possible है
अंततः अगर आसान रास्ता चुनोगे, तो वैसा ही परिणाम मिलेगा
जानना चाहता हूँ कि ऐसा junior hire कैसे हुआ
अगर हमेशा आसान रास्ता चुनो, तो जीवन की गहराई गायब हो जाती है
मैंने भी ऐसा कोई course कभी नहीं किया
आख़िरकार AI में creativity के स्रोत को सुखा देने का जोखिम है
अगर इंसान नए ideas नहीं लाएँगे, तो AI सिर्फ खुद की नकल करता रहेगा
ऐसा चक्र तकनीकी stagnation और dependency पैदा करेगा
unsupervised learning शायद इन सीमाओं को पार कर सके
अच्छे developer गायब हो जाएँ, तो बुरा AI भी उपयोगी लगने लगेगा