AI कोडिंग के युग में डेवलपर की बदलती भूमिका: कोड निष्पादक से context, verification और productization डिज़ाइनर तक
(velog.io/@teo)सारांश अवलोकन
-
मुख्य तर्क
- जैसे-जैसे AI सीधे कोड लिखने, संशोधित करने और टेस्ट करने के स्तर तक पहुँच गया है, डेवलपर की भूमिका सिर्फ कोडिंग-केंद्रित काम से हटकर समस्या परिभाषित करने, काम की डिज़ाइन, verification, context प्रबंधन और productization समर्थन की ओर बढ़ रही है।
-
संरचनात्मक कारण
- AI ने कोड प्रोडक्शन की गति बहुत बढ़ा दी है, लेकिन कोड अपने-आप एक अच्छा प्रोडक्ट नहीं बन जाता।
- requirements, documentation, testing, structuring, UX judgement और maintainability जैसे non-coding क्षेत्रों का महत्व और बढ़ गया है।
-
मुख्य उदाहरण
- Playwright के जरिए AI से browser test तक करवाने का अनुभव।
- दोहराए जाने वाले कामों को command, skill और workflow के रूप में निर्दिष्ट करने का अनुभव।
- AI से बने frontend prototype का ऊपर से शानदार दिखना, लेकिन अंदरूनी structure का कमजोर होना।
-
समाधान की दिशा
- AI को सिर्फ कोड न सौंपें; development की पूरी प्रक्रिया के procedure और standards भी साथ में डिज़ाइन करने चाहिए।
- डेवलपर को AI outputs की समीक्षा करनी चाहिए, context को संरक्षित रखना चाहिए, और structure को इस तरह व्यवस्थित करना चाहिए कि वह टिकाऊ प्रोडक्ट में बदल सके।
परिचय
AI कोडिंग युग का बदलाव
- यह लेख इस सवाल से शुरू होता है: “जब इंसान सीधे कोड नहीं लिखेगा, तब डेवलपर क्या करेगा?”
- लेखक पहले मानता था कि AI hallucination और गलतियाँ करता है, इसलिए अंतिम निर्णय इंसान को ही लेना होगा।
- लेकिन हालिया AI models के performance सुधार के कारण, लेखक का आकलन है कि AI अब issue समझने, files खोजने, code संशोधित करने और tests पास करने तक सक्षम हो गया है।
- इस बदलाव के साथ डेवलपर सिर्फ AI को सहायक tool की तरह इस्तेमाल करने से आगे बढ़कर यह सोचने लगता है कि AI से development procedure ही कैसे करवाया जाए।
मुख्य समस्या-बोध
- AI अब अच्छा कोड लिख सकता है, लेकिन इसका मतलब यह नहीं कि डेवलपर की भूमिका खत्म हो रही है।
- उल्टा, जैसे-जैसे coding automate होती है, development के दूसरे तत्व और साफ़ होकर सामने आते हैं।
- requirements को व्यवस्थित करना, decision records रखना, test design, code structure management और product experience की समीक्षा जैसे काम डेवलपर की मुख्य जिम्मेदारियों के रूप में उभरते हैं।
मुख्य भाग
1. AI कोड लिखने वाले tool से काम निष्पादित करने वाली इकाई बन गया है
- लेखक के अनुसार AI अब सिर्फ code snippets बनाने तक सीमित नहीं है, बल्कि वास्तविक development workflow को संभालने की क्षमता तक पहुँच चुका है।
- पहले AI के outputs पर इंसान को लगातार नज़र रखनी पड़ती थी और उन्हें ठीक करना पड़ता था, लेकिन अब AI को काम सौंपकर उसके परिणामों की समीक्षा करने का तरीका संभव हो गया है।
- SWE Bench जैसे benchmark में performance सुधार को इस बदलाव का एक संकेतक बताया गया है।
- मूल बदलाव यह है कि सवाल “क्या AI कोड लिख सकता है?” से बदलकर “AI को किस हद तक काम सौंपा जा सकता है?” हो गया है।
2. जब AI असफल होता है, तो समस्या सिर्फ ‘क्षमता की कमी’ नहीं होती
- AI अभी भी हमेशा सफल नहीं होता।
- कई बार error बार-बार आता है, या AI कहता है कि उसने fix कर दिया, लेकिन वास्तविक screen पर समस्या बनी रहती है।
- शुरुआत में लेखक इसका सामना इस तरह करता था कि इंसान error को कॉपी करके AI को दे देता था।
- बाद में Playwright का उपयोग करके AI को browser सीधे खोलकर test करने लायक बनाने पर उसे समझ आया कि verification की वह प्रक्रिया भी AI को सौंपी जा सकती है जो पहले इंसान करता था।
- यह उदाहरण दिखाता है कि जिन बातों को AI की सीमा माना जाता था, उनमें से कुछ असल में इसलिए थीं क्योंकि उपयोगकर्ता ने AI को वह निर्देश ही नहीं दिया था।
3. AI Native सोच का मतलब पूरी प्रक्रिया को delegate करना है
- लेखक AI को सिर्फ सहायक tool की तरह देखने के बजाय इस दिशा में बढ़ता है कि वह पूरी प्रक्रिया, जो वह खुद करता था, AI से करवाए।
- वह दोहराए जाने वाले कामों को command, skill और workflow में बदलकर अपने tacit knowledge को specification के रूप में लिखने की कोशिश करता है।
- उदाहरण के तौर पर वह
/plan,/prd,/debug,/refactor,/verify,/retrospectजैसे command flows बनाता है। - महत्वपूर्ण बात यह है कि AI से सिर्फ “कोड लिखो” नहीं कहा जाता, बल्कि यह भी नियमबद्ध किया जाता है कि कब सवाल पूछना है, कब रुकना है और कब verification करना है।
- इससे डेवलपर अपनी कार्यशैली और decision standards को ऐसे structure में बदलता है जिसे AI दोबारा इस्तेमाल कर सके।
4. व्यक्तिगत know-how तेज़ी से tool features में समा जाता है
- लेखक जो command और workflow खुद बनाता था, समय के साथ वे Skill, memory, hooks, orchestration जैसी official features और concepts के रूप में सामने आने लगते हैं।
- AI के उपयोग की जो methodology कोई व्यक्ति खोजता है, वह जितनी प्रभावी होती है, उतनी ही तेज़ी से product feature या common methodology में absorb हो जाती है।
- इसलिए AI को अच्छे से चलाने वाले किसी खास prompt या tip के आधार पर लंबे समय की differentiation बनाना कठिन है।
- अहम बात methodology से अधिक यह है कि उसे वास्तविक समस्याओं पर लागू करके कितना बनाया गया और किन सीमाओं का अनुभव किया गया।
5. AI उन समस्याओं का आकार बढ़ा देता है जिन्हें डेवलपर संभाल सकता है
- AI लेखक को ऐसे बड़े ideas वास्तव में आज़माने देता है जिन्हें वह पहले cost और time की वजह से शुरू भी नहीं कर पाता था।
- उदाहरण के तौर पर वह code और documentation को canvas की तरह फैलाकर दिखाने वाले tool, MD viewer, code analysis tool और development support tools तेज़ी से बनाकर देखता है।
- मूल बात यह नहीं कि AI तुरंत finished product दे देता है, बल्कि यह कि वह शुरुआत की बाधा को कम कर देता है।
- डेवलपर की सोच “क्या मैं यह बना सकता हूँ?” से बदलकर “चलो पहले देखें, इसे कितनी दूर तक बना सकते हैं” हो जाती है।
6. बड़े समस्याओं को संभालने पर coding के बाहर का development काम सामने आता है
- जब AI से code production बढ़ता है, तो डेवलपर के लिए हर code को खुद पढ़ना और उसका context दिमाग में रखना कठिन हो जाता है।
- जब डेवलपर खुद coding करता है, तो context, judgement और structure की समझ स्वाभाविक रूप से जमा होती जाती है; लेकिन AI को coding सौंपने पर यह अपने-आप दर्ज नहीं होती।
- इसलिए documentation, tests, issues, work reports और बदलाव के कारणों का record रखना महत्वपूर्ण हो जाता है।
- यह सिर्फ management काम नहीं, बल्कि AI युग में development context बनाए रखने का एक मुख्य तंत्र बन जाता है।
- इस बात पर ज़ोर दिया गया है कि coding skill जितनी ही context और judgement को संरक्षित रखने की क्षमता भी महत्वपूर्ण होती जा रही है।
7. commits और tests की बढ़ोतरी अपने-आप product improvement नहीं होती
- AI का उपयोग करने पर commits, files, tests और documents की संख्या तेज़ी से बढ़ सकती है।
- लेकिन केवल संख्याएँ बढ़ने से यह नहीं मान लिया जा सकता कि product वास्तव में बेहतर हो गया है।
- features जुड़ जाते हैं, लेकिन UX अटपटा हो सकता है, या tests पास होने के बावजूद असली screen flow अस्थिर रह सकता है।
- शुरुआत में लेखक इसे सिर्फ code quality और structure की समस्या की तरह देखना चाहता था।
- लेकिन उसे अनुभव हुआ कि code structure सुधार देने से product experience अपने-आप बेहतर नहीं हो जाता।
- आखिरकार code production और product improvement अलग समस्याएँ हैं, और product quality पर अलग judgement की ज़रूरत होती है।
8. frontend ऐसा क्षेत्र है जहाँ AI विशेष रूप से डगमगा सकता है
- AI dashboard, landing page और admin screen जैसे भरोसेमंद दिखने वाले शुरुआती UI को तेज़ी से बना सकता है।
- लेकिन वास्तविक product-level frontend के लिए design system, state management, accessibility, keyboard operation, exception states और user flows जैसे जटिल standards चाहिए होते हैं।
- frontend की कई ज़रूरतें “स्वाभाविक लगे”, “कम अजीब लगे”, “चयनित होने का एहसास दे” जैसी अस्पष्ट भाषा में व्यक्त की जाती हैं।
- AI ऐसी अस्पष्ट requirements को code में बदलते समय आसानी से बिखरे हुए results दे सकता है।
- इसलिए frontend में AI का अच्छा उपयोग करने के लिए यह judgement चाहिए कि जो हिस्सा अच्छा निकला है उसे स्थिर रखा जाए और सिर्फ कमज़ोर हिस्सों को फिर से संशोधित कराया जाए।
9. अच्छे परिणाम एक बार में नहीं आते, वे convergence प्रक्रिया से बनते हैं
- लेखक एक planner द्वारा AI से बनाए गए उच्च-गुणवत्ता prototype को देखकर अपनी सोच बदलता है।
- वह result किसी एक खास prompt से नहीं बना था, बल्कि “जब तक ठीक न हो जाए” बार-बार संशोधन करने से आया था।
- यह उदाहरण दिखाता है कि AI उपयोग का सार सिर्फ automatic generation नहीं, बल्कि कमी को देखते रहना और फिर से माँग करना—यानी convergence की प्रक्रिया—है।
- अच्छे परिणाम बनाने वाला व्यक्ति AI के output में क्या कमी है, यह पहचानता है और मनचाहा स्तर आने तक लगातार उसे समायोजित करता है।
- AI युग में भी इंसान के standards, sense और निरंतर review ही परिणामों में फर्क पैदा करते हैं।
10. डेवलपर की भूमिका संभावनाशील outputs को product में बदलने की है
- AI से बने outputs ऊपर से अच्छे लग सकते हैं, लेकिन उनकी अंदरूनी code structure कमजोर हो सकती है।
- state management अस्थिर हो सकता है, components की responsibility अस्पष्ट हो सकती है, या tests वास्तविक flow की गारंटी नहीं दे सकते।
- डेवलपर की भूमिका ऐसे outputs को हर हाल में कमतर आँकना या फेंक देना नहीं है।
- लेकिन उन्हें ज्यों का त्यों product बनाकर जारी भी नहीं कर देना चाहिए।
- डेवलपर को ऐसे संभावनाशील outputs की structure व्यवस्थित करनी चाहिए, risks को चिह्नित करना चाहिए, testable units बनाने चाहिए और context को दर्ज रखना चाहिए ताकि वे आगे तक जा सकें।
- यानी डेवलपर की भूमिका “शुरू से अंत तक अकेले बनाने वाले व्यक्ति” से बढ़कर “AI और इंसान द्वारा बनाए गए outputs को टिकाऊ product में बदलने वाले व्यक्ति” की हो जाती है।
11. AI युग में development roles एक ही रूप में नहीं सिमटेंगे
- coding की बाधा कम होने पर development में भाग लेने वाले लोगों के प्रकार भी विविध हो जाते हैं।
- planner, designer, PM और domain teams के लोग भी AI के जरिए काम करने वाले prototypes या internal tools बना सकते हैं।
- इसका मतलब डेवलपर की ज़रूरत खत्म होना नहीं, बल्कि development से जुड़े roles का और अधिक विभाजित होना है।
- लेखक इसकी तुलना YouTube ecosystem से करता है।
- जैसे YouTube ने video experts को खत्म नहीं किया, बल्कि presenter, editor, planner, channel operator और platform builder जैसे कई roles पैदा किए, वैसे ही AI भी development roles को विविध बना सकता है।
- आगे चलकर deep systems बनाने वाले, prototype को product में परिष्कृत करने वाले, AI के अच्छे से काम करने लायक layers बनाने वाले, और समस्याओं को सीधे हल करने वाले लोग साथ-साथ मौजूद रह सकते हैं।
निष्कर्ष
डेवलपर को coding के बाद वाले development की डिज़ाइन करनी होगी
-
इस लेख का निष्कर्ष यह नहीं है कि “क्या coding जारी रखनी चाहिए, या छोड़ देनी चाहिए।”
-
चूँकि AI अब coding कर सकता है, इसलिए डेवलपर को अनुभव के आधार पर सीखना होगा कि AI को क्या सौंपना है और किन बातों पर खुद judgement देनी है।
-
खास तौर पर निम्न क्षमताएँ महत्वपूर्ण हो जाती हैं।
- समस्याओं को बड़े स्तर पर परिभाषित करने की क्षमता
- दोहराई जाने वाली प्रक्रियाओं को skill और workflow में बदलने की क्षमता
- requirements, documentation, tests और issues को structure करने की क्षमता
- AI outputs की समीक्षा कर कमियों पर दोबारा निर्देश देने की क्षमता
- कच्चे outputs को टिकाऊ product में परिष्कृत करने की क्षमता
- code के बाहर के tools और work flows को भी AI से जोड़ने की क्षमता
मुख्य संदेश
- AI डेवलपर्स की उम्मीद जितना परफेक्ट नहीं है, लेकिन वह सोच से कहीं अधिक काम कर सकता है।
- यह मान लेने से पहले कि AI कुछ नहीं कर सकता, यह प्रयोग करना चाहिए कि उससे वास्तव में कितना काम लिया जा सकता है।
- दूसरी ओर, सिर्फ इसलिए कि AI ने कोई काम आसानी से कर दिया, उसके output पर ज्यों का त्यों भरोसा नहीं करना चाहिए।
- डेवलपर को AI द्वारा बने परिणामों का judgement करना, उन्हें convergence की दिशा में ले जाना, context को संरक्षित रखना और उन्हें product तक पहुँचाना होगा।
- अंततः AI युग का डेवलपर वह व्यक्ति कम और अधिक होता जा रहा है जो खुद बहुत सारा code लिखता है, और अधिक वह जो AI और इंसान द्वारा बनाए गए outputs को बेहतर परिणाम तक पहुँचाने के लिए समस्या, प्रक्रिया, standards और context डिज़ाइन करता है।
अभी कोई टिप्पणी नहीं है.