55 पॉइंट द्वारा GN⁺ 2025-10-31 | 1 टिप्पणियां | WhatsApp पर शेयर करें
  • Google Chrome टीम में 13 साल तक काम कर चुके engineering leader Addy Osmani ने पेशेवर software engineers के लिए AI-आधारित development methodology पेश की
  • Vibe coding तेज prototyping के लिए उपयोगी है, लेकिन production-quality software development के लिए engineering principles और human oversight अनिवार्य हैं
  • AI tools का उपयोग करते समय spec-driven development, tests लिखना, और code understanding के ज़रिए quality सुनिश्चित करनी चाहिए, और model की सोचने की प्रक्रिया की समीक्षा करके generated code को पूरी तरह समझना चाहिए
  • LLM application का लगभग 70% तक तेज़ी से generate कर सकते हैं, लेकिन बाकी 30% की completeness, security, और maintainability सुनिश्चित करने के लिए senior engineers की expertise और भी महत्वपूर्ण हो जाती है
  • asynchronous background agents, parallel coding जैसे नए development workflows उभर रहे हैं, और engineers को critical thinking और code understanding बनाए रखते हुए AI का उपयोग करने वाले lifelong learner बनना होगा

Vibe Coding vs. AI-सहायित engineering का अंतर

  • Vibe coding वह तरीका है जिसमें AI के साथ creative flow में पूरी तरह डूबकर high-level prompting पर ध्यान दिया जाता है और code itself को लगभग भूल दिया जाता है
    • AI के सुझावों को गहराई से review किए बिना स्वीकार करना और तेज़ iterative experimentation पर ध्यान देना
    • prototypes, MVP, और learning purposes के लिए उपयोगी, जहाँ speed और exploration को accuracy और maintainability से ऊपर रखा जाता है
  • AI-सहायित engineering ऐसा दृष्टिकोण है जिसमें AI को एक शक्तिशाली collaborator की तरह इस्तेमाल किया जाता है, लेकिन engineering principles का विकल्प नहीं बनाया जाता
    • AI पूरे software development lifecycle में boilerplate, debugging, deployment आदि में force multiplier की भूमिका निभाता है
    • human engineers architecture design, model review, और सारे generated code को समझने की ज़िम्मेदारी अपने पास रखते हैं
    • final product की security, scalability, और maintainability सुनिश्चित करना engineer का काम है
  • software engineering expertise जितनी अधिक होगी, LLM का उपयोग करके मिलने वाले output की quality उतनी बेहतर होगी
  • production-quality programming के लिए केवल वही code repository में commit होना चाहिए जिसे आप किसी और को पूरी तरह समझा सकें

Addy AI tools का उपयोग कैसे करते हैं

  • spec-driven development पर आधारित approach
    • क्या build करना है, इसकी clear planning सबसे अहम है
    • Vibe coding को personal tools, disposable projects, और ideas को visualize करने के लिए इस्तेमाल किया जाता है
    • prototype से vision साफ़ करने के बाद, वास्तविक requirements को document करके LLM से high-quality output लिया जाता है
  • tests लिखकर risk कम करना
    • नए models भी कभी-कभी complex या गलत code generate कर सकते हैं
    • tests से behavior साबित किया जा सकता है और issues आने पर उन्हें स्पष्ट रूप से identify किया जा सकता है
  • Chrome DevTools MCP का उपयोग
    • LLM को browser के लिए एक तरह की “vision” देकर rendering, console errors, warnings आदि detect कराए जाते हैं
    • browser को loop में शामिल करके feedback loop बेहतर किया जाता है
  • नए models, tools, और platforms पर लगातार experimentation और teams के बीच insights साझा करना
    • psychological safety बनाकर साथ में सीखने वाली culture तैयार करना

Google में AI tools पर observations और सीख

  • Google के validated software engineering principles AI युग में भी प्रभावी हैं
    • quality और due diligence पर ध्यान आज भी महत्वपूर्ण है
  • prompt engineering और context engineering का महत्व
    • LLM से best result पाने के लिए सही “incantations” बनाना
    • context window को optimize करके high-quality result की संभावना बढ़ाना
    • project-specific descriptions, details, files, examples जैसे ऐसे content शामिल करना जो LLM training data में नहीं है
  • AI native engineer की ओर बदलाव को तेज़ करना
    • किसी समस्या को खुद हल करने से पहले AI को पहले प्रयास करने देना
    • eval benchmarks, RAG vs. fine-tuning जैसी चीज़ों के ज़रिए AI expertise बनाना
  • human oversight का महत्व
    • अगर AI code writing और review दोनों करे, तो वास्तव में क्या deploy हो रहा है यह अनिश्चित हो जाता है
    • PR की बढ़ती speed के कारण human review bottleneck बन सकता है
    • code review best practices अभी भी विकसित हो रही हैं

Addy के पसंदीदा tools

  • मुख्य रूप से Klein in VS Code का उपयोग
    • Cursor और GitHub Copilot भी कई features देते हैं
  • tools द्वारा दिखाए जाने वाले thinking log की समीक्षा
    • solution बनाते समय model के decision-making और generated code को देखना
    • PR से पहले code review करके भविष्य की maintainability सुनिश्चित करना
  • जब LLM problem solve करने में fail हो, तब खुद debug कर पाने की क्षमता बनाए रखना
    • अगर code कैसे काम करता है यह न समझें, तो खुद को जंगल में फेंका हुआ महसूस हो सकता है
  • expert engineer और आम उपयोगकर्ता के बीच अंतर
    • सिर्फ prompt डालना कोई भी कर सकता है
    • code के काम करने के सिद्धांत को समझना, model fail होने पर उसे सुधारना, और meetings में स्पष्ट रूप से समझा पाना ही असली भेद है

70% समस्या का सार

  • LLM working applications का लगभग 70% बहुत तेज़ी से बना सकते हैं, लेकिन बाकी 30% पर अटकते हैं
  • अंतिम 30% के घटक
    • “Two steps back” pattern: एक prompt UI या feature को पूरी तरह rewrite कर देता है और काम गलत दिशा में चला जाता है
    • hidden maintenance cost: अस्पष्ट specs के कारण ज़िम्मेदारी LLM को सौंपने पर लाभ घट सकता है
    • security vulnerabilities: API key exposure, XSS issues जैसी समस्याएँ, जो holistic thinking की कमी से पैदा होती हैं
  • Vibe coding से बने PoC को production deployment से पहले rewrite करना पड़ता है
    • वास्तविक user base वाले codebase में security और quality अनिवार्य हैं
  • experienced engineers अंतिम 30% को कहीं ज़्यादा आसानी से पूरा करते हैं
    • junior engineers अक्सर LLM को बार-बार re-prompt करने से आगे का कदम नहीं जानते
    • critical thinking और problem-solving mindset का महत्व और स्पष्ट हो जाता है
  • code पढ़ना, system समझना, और सभी हिस्से कैसे जुड़े हैं यह जानने की मेहनती आदत अब भी अनिवार्य है

LLM का प्रभावी उपयोग करने की रणनीतियाँ

  • project manager mindset अपनाएँ
    • काम को छोटे और verifiable units में बाँटें
    • सारी requirements एक साथ फेंक देना प्रभावी नहीं होता
    • clear expectations सेट करें और AI के साथ iterative work के लिए तैयार रहें
  • modular और testable code लिखें
    • code review जैसी software engineering best practices AI युग में भी वैध हैं
  • input/output constraints का ध्यान रखें और पर्याप्त context दें
    • यह नई आदत है, लेकिन अच्छे results दे सकती है
  • human को loop में शामिल रखने वाली अनुशासित सावधानी ही सफलता की कुंजी है
    • LLM को जितनी अधिक ज़िम्मेदारी देंगे, समस्याओं का जोखिम उतना बढ़ेगा

autonomous agents और नए workflows

  • asynchronous background coding agents का उभार
    • Jewels, Devin, Codex जैसे tools और GitHub के experiments
    • backlog का कुछ हिस्सा सौंपकर उसे asynchronously implement कराने का विचार
  • मौजूदा स्थिति
    • tests लिखने/अपडेट करने, library version migrations जैसी चीज़ों में ये पहले से प्रभावी हैं
    • dark mode जोड़ने जैसे छोटे बदलाव delegate करने के लिए उपयुक्त
  • management challenges
    • orchestra conductor की तरह सभी tasks संभालने के लिए उचित interface चाहिए
    • एक साथ manage किए जा सकने वाले वास्तविक tasks की संख्या पर विचार ज़रूरी है
    • human attention सीमित है, इसलिए thorough code review के लिए एक समय में कुछ ही tasks संभाले जा सकते हैं
  • Vibe designing का विकास
    • Figma के MCP के ज़रिए designer और developer के बीच collaboration मज़बूत होना
    • designer vision को functional prototype में बदलकर production-ready code के करीब ला सकते हैं

EM और PM roles में बदलाव

  • PM role
    • problem framing, metrics, और agent policies पर ज़्यादा समय लगाना
  • EM role
    • evals, safety review, और team को confidence के साथ AI इस्तेमाल करने में मदद देना
  • results की ज़िम्मेदारी नहीं बदलती
  • product engineering में taste का महत्व
    • जब कोई भी prompt से मिलते-जुलते features बना सकता है, तब असली differentiator taste बनता है
  • junior vs. senior
    • AI baseline को ऊपर उठाता है, लेकिन ceiling भी साथ में ऊपर जाती है
    • junior लोग तेज़ी से शुरुआत कर सकते हैं
    • spec लिखना, tasks को breakdown करना, system architecture समझना, और effective review करने वाले senior और अधिक valuable हो जाते हैं
    • अंतिम 30% सिर्फ routine work नहीं, बल्कि leverage है

नई भूमिकाएँ और developer education में बदलाव

  • forward deployed engineers जैसी नई roles का उभार
    • customers के साथ ज़्यादा नज़दीकी से काम करके AI की मदद से features तेज़ी से बनाना और requirements पर feedback लेना
    • developer, PM, और designer roles के बीच boundaries धुंधली हो सकती हैं
  • AI engineering education
    • schools और colleges में prompt और context engineering best practices सिखाने की ज़रूरत
    • system design और engineering mindset को बनाए रखने के तरीके खोजने होंगे
  • trio programming
    • junior, senior, और AI साथ मिलकर काम करें
    • senior AI-generated code को समझाने या यह बताने को कहें कि वह system के अन्य हिस्सों से कैसे जुड़ता है

AI के साथ काम करते समय critical thinking का महत्व

  • AI tools इस्तेमाल करते समय accept करना बहुत आसान होने के कारण critical thinking घटने का खतरा
    • कम महत्वपूर्ण tasks पर Tab/Accept दबाकर सब कुछ स्वीकार करने की आदत
    • trust बढ़ने के साथ critical review कम हो सकता है
  • code review bottleneck
    • AI-generated code की रफ़्तार बढ़ने से human review bottleneck बन जाता है
    • LGTM(Looks Good To Me) के अंधाधुंध इस्तेमाल का जोखिम
  • response strategies
    • कुछ specific features या सप्ताह के कुछ दिनों में जानबूझकर AI के बिना काम करके critical thinking बनाए रखना
    • यह भी सोचना कि अगर सभी बड़े LLM providers डाउन हो जाएँ तो क्या करेंगे
  • code लिखना vs. पढ़ना
    • खुद code type करने पर self-review होता है और दूसरे लोग जानते हैं कि author कौन है
    • AI युग में reading और review का हिस्सा और बड़ा हो जाता है
  • code review में AI का उपयोग
    • AI की “approval” सिर्फ एक signal है
    • CI/CD pass होना, tests success होना जैसे संकेतों की तरह quality पर आपका व्यक्तिगत judgement अब भी ज़रूरी है
  • अब भी 20-30% काम AI के बिना करना चाहिए ताकि दिमाग सक्रिय रहे

learning tool के रूप में LLM

  • नए codebase को समझने के लिए बेहद शक्तिशाली tool
    • पहला काम value deliver करने के लिए नई feature prompt करना नहीं, बल्कि codebase कैसे काम करता है यह सीखना होना चाहिए
  • programming concepts, frameworks, और architecture patterns समझने में उपयोगी
  • दूसरी language में लिखे codebase के बीच features migrate करने में आवश्यक
  • team culture बनाना
    • AI को learning tool की तरह इस्तेमाल करना ठीक है, यह समझ फैलाना
    • नियमित रूप से experiments और best practices sharing को बढ़ावा देना
  • नए कर्मचारियों की तेज़ onboarding
    • AI tools 24/7 भरोसेमंद mentor की भूमिका निभा सकते हैं
    • senior engineers से पूरे दिन सवाल करने की तुलना में बिना झिझक सीखना आसान
  • Claude Code का learning mode
    • explanation mode और learning mode देता है
    • pause करके user से कुछ हिस्से खुद करने को कहता है

AI tools का विकास और expectations सेट करना

  • tool evolution का इतिहास
    • template download → CLI और scaffolding → AI-based bootstrapping
    • हर चरण में developer experience थोड़ा-थोड़ा बेहतर हुआ
  • training data की सीमाओं को समझना
    • GitHub के permissive license वाले code या open web patterns पर आधारित
    • lowest common denominator patterns को reflect करने की संभावना
    • top-level security, performance, और accessibility की गारंटी नहीं
  • Stack Overflow copy-paste से समानता
    • पहले: email validation regex जैसी चीज़ें Stack Overflow से copy की जाती थीं
    • अब: LLM वैसी ही patterns generate करते हैं, लेकिन edge cases या security issues रह सकते हैं
  • third-party library vs. खुद implementation
    • LLM से छोटा version खुद implement किया जा सकता है, लेकिन maintenance की ज़िम्मेदारी भी खुद लेनी होगी
    • library होने पर security issues आदि के centralized fixes मिल सकते हैं
    • हर विकल्प के trade-offs पर विचार ज़रूरी है
  • कम expectations और उच्च control बनाए रखना ही कुंजी है

बेहतरीन software engineer की परिभाषा में बदलाव

  • lifelong learner का महत्व नहीं बदलता
    • frameworks, tools, और industry बदलती रहे, फिर भी नई चीज़ें सीखने के लिए openness ज़रूरी है
  • growth mindset
    • नए models, tools, और platforms को आज़माने की इच्छा
    • failures से सीखना और constraints को समझना
  • leadership की भूमिका
    • जब leaders दिखाते हैं कि वे सीखने के लिए खुले हैं, तो team में psychological safety बनती है
    • Addy हर सोमवार team internal newsletter लिखते हैं
      • personal projects, लेख, और विचार साझा करते हैं
      • AI और AI engineering के महत्वपूर्ण updates चुनकर साझा करते हैं
      • दूसरे executives भी इसका उपयोगी ढंग से लाभ लेते हैं
  • information overload के युग में curation
    • social networks पर हर घंटे कुछ बुनियादी बदलाव होता हुआ महसूस हो सकता है
    • leaders को वास्तव में महत्वपूर्ण चीज़ें चुनकर team को दिशा देनी चाहिए
  • technical sharpness बनाए रखना
    • papers, whitepapers, blogs, videos, lectures आदि लगातार पढ़ना और देखना
    • team को यह guide करना कि समय कहाँ लगाना चाहिए
  • product development से जुड़ाव
    • coding workflow को बेहतर बनाने का काम product customer experience को बेहतर करने में भी योगदान देता है

पसंदीदा tools और recommendations

  • पसंदीदा programming language: JavaScript
    • व्यक्तिगत पसंद से ज़्यादा, इसकी खुली प्रकृति के कारण कि कोई भी web पर build और deploy कर सकता है
    • gatekeepers के बिना एक तरह की freedom देती है
  • इस समय सबसे पसंदीदा tool: Bolt
    • Vibe coding scaffolding tool
    • हाल ही में custom agents support जोड़ा गया (Claude Code आदि इस्तेमाल किए जा सकते हैं)
    • high-quality output और शानदार design
    • Supabase, authentication providers आदि के साथ integration automation capabilities
    • setup friction हटाने पर focus
  • recommended books
    • "The Software Engineer's Guidebook"
    • "AI Engineering" by Chip Huyen - AI engineering के बुनियादी पहलुओं को सीखने के लिए किताब

1 टिप्पणियां

 
riddler 2025-10-31

उसी शीर्षक की किताब नवंबर में प्रकाशित होने वाली है~
https://x.com/TeeDDub/status/1983150672205041823