20 पॉइंट द्वारा xguru 2023-10-05 | 1 टिप्पणियां | WhatsApp पर शेयर करें

तकनीक/टूल/प्लेटफ़ॉर्म/डेवलपमेंट लैंग्वेज और फ्रेमवर्क क्षेत्रों के नवीनतम ट्रेंड्स को Hold/Assess/Trial/Adopt के 4 चरणों में विज़ुअलाइज़ और समझाया गया है

AI-सहायित सॉफ़्टवेयर डेवलपमेंट

  • कोडिंग के लिए open-source LLM डेवलपमेंट टूल वातावरण को बदल कर रख देंगे
  • साथ ही कोडिंग से आगे बढ़कर user story लिखने में सहायता, user research, elevator pitch, और अन्य language-संबंधित कार्यों में भी इनकी बड़ी संभावनाएं हैं
  • इसके साथ ही डेवलपर्स को इन सभी टूल्स का ज़िम्मेदारी से उपयोग करना चाहिए, और package hallucinations जैसी चीज़ों से भी सावधान रहना चाहिए

प्रोडक्टिविटी को मापना कितना प्रोडक्टिव है?

  • सॉफ़्टवेयर डेवलपमेंट कभी-कभी तकनीकी विशेषज्ञ न होने वाले लोगों को जादू जैसा लग सकता है, और इसी वजह से मैनेजर्स यह मापने की कोशिश करते हैं कि डेवलपर्स कितना उत्पादक काम कर रहे हैं
  • Martin Fowler ने 2003 में "प्रोडक्टिविटी को मापा नहीं जा सकता" शीर्षक से एक लेख लिखा था
  • अभी भी SPACE framework (Satisfaction and well-being, Performance, Activity, Communication and collaboration, Efficiency and flow) में Activity के लिए वैकल्पिक मेट्रिक्स, जैसे pull request की संख्या या resolve किए गए issues की गिनती, खास अच्छे नहीं हैं
  • इसके बजाय इंडस्ट्री प्रोडक्टिविटी को मापने की बजाय "flow में योगदान देने वाले या उसे बाधित करने वाले तत्वों को मापने" वाली "engineering effectiveness" पर फ़ोकस करना शुरू कर चुकी है
  • व्यक्तिगत गतिविधियों पर फ़ोकस करने के बजाय सिस्टम में होने वाली बर्बादी के कारणों और उन स्थितियों पर ध्यान देना चाहिए जिन्हें अनुभवजन्य रूप से दिखाया जा सके, क्योंकि वही डेवलपर्स की "प्रोडक्टिविटी" की धारणा को प्रभावित करते हैं
  • DX DevEx 360 जैसे नए टूल्स किसी खास output को मापने के बजाय developer experience पर फ़ोकस करके इस समस्या को हल करते हैं
  • फिर भी कई लीडर्स अब भी अस्पष्ट और गुणात्मक तरीकों से डेवलपर्स की 'प्रोडक्टिविटी' का ज़िक्र करते हैं
  • इस रुचि के फिर से बढ़ने का कम से कम एक हिस्सा AI-सहायित सॉफ़्टवेयर डेवलपमेंट के प्रभाव से जुड़ा लगता है, जो यह सवाल उठाता है: "क्या यह सकारात्मक प्रभाव डाल रहा है?"
  • प्रोडक्टिविटी का वास्तविक मापन अब भी कठिन है

बहुत सारे LLMs

  • LLM (Large Language Model) AI के कई आधुनिक नवाचारों की बुनियाद बनते हैं
  • मौजूदा समय में कई प्रयोगों में ChatGPT या Bard जैसे chat-जैसे user interface दिखाना शामिल है
  • व्यापक रूप से देखें तो LLM ऐसे टूल हैं जो content generation (text, image और video) से लेकर code generation, summarization और translation तक कई तरह की समस्याओं को हल कर सकते हैं
  • "natural language" का उपयोग करने वाले ये मॉडल, जो एक शक्तिशाली abstraction layer की तरह काम करते हैं, सार्वभौमिक रूप से आकर्षक टूलसेट प्रदान करते हैं, इसलिए बहुत से knowledge workers इनका उपयोग कर रहे हैं
  • cloud-hosted LLMs की तुलना में अधिक customization और बेहतर control देने वाले self-hosting सहित, LLM के विभिन्न पहलुओं पर चर्चा की गई है
  • जैसे-जैसे LLM की जटिलता बढ़ती है, हम खास तौर पर edge devices और सीमित वातावरणों में छोटे form factor पर LLM को quantize करके चलाने की क्षमता पर विचार कर रहे हैं
  • सवाल-जवाब इंटरैक्शन से आगे बढ़कर dynamic applications बनाने में उपयोगी LLM-आधारित autonomous agents के साथ, performance improvements का वादा करने वाले "ReAct Prompting" पर भी नज़र डाली गई है
  • साथ ही LLM की वजह से फिर से उभर रहे कई vector databases (Pinecone सहित) का भी उल्लेख किया गया है
  • specialization capabilities और self-hosting क्षमताओं सहित LLM की मूल क्षमताएँ विस्फोटक वृद्धि जारी रखे हुए हैं

रिमोट डिलीवरी के workaround अब परिपक्व हो रहे हैं

  • रिमोट सॉफ़्टवेयर डेवलपमेंट टीमें कई वर्षों से भौगोलिक सीमाओं को पार करने के लिए तकनीक का उपयोग करती रही हैं, लेकिन महामारी के प्रभाव ने इस क्षेत्र में innovation को तेज़ किया, जिससे पूरी तरह remote या hybrid काम एक स्थायी ट्रेंड बन गया
  • इस Radar में चर्चा की गई है कि रिमोट सॉफ़्टवेयर डेवलपमेंट के तरीके और टूल्स कैसे परिपक्व हुए हैं, और टीमें पहले से कहीं अधिक distributed और dynamic वातावरण में प्रभावी collaboration पर फ़ोकस करते हुए सीमाओं को कैसे आगे बढ़ा रही हैं
  • कुछ टीमें नए collaboration टूल्स का उपयोग करके लगातार innovative solutions पेश कर रही हैं
  • कुछ टीमें real-time pair programming या mob programming, और distributed workshops (जैसे remote event storming) जैसी गतिविधियों के लिए मौजूदा in-person practices को लगातार अनुकूलित और बेहतर बना रही हैं। asynchronous और synchronous दोनों संभव हैं
  • remote work कई तरह के फ़ायदे देता है (जिसमें अधिक विविध talent pool भी शामिल है), लेकिन in-person interaction का मूल्य स्पष्ट है
  • टीमों को यह नहीं होने देना चाहिए कि महत्वपूर्ण feedback loops खो जाएँ, और remote setup में बदलाव के दौरान पैदा होने वाले फ़ायदे और नुकसान दोनों को समझना चाहिए

[Techiniques]

Adopt

  1. Design systems
  2. Lightweight approach to RFCs

Trial

  1. Accessibility-aware component test design
  2. Attack path analysis
  3. Automatic merging of dependency update PRs
  4. Data product thinking for FAIR data
  5. OIDC for GitHub Actions
  6. Provision monitors and alerts with Terraform
  7. ReAct prompting
  8. Retrieval-Augmented Generation (RAG)
  9. Risk-based failure modeling
  10. Semi-structured natural language for LLMs
  11. Tracking health over debt
  12. Unit testing for alerting rules
  13. Zero trust security for CI/CD Assess
  14. Dependency health checks to counter package hallucinations
  15. Design system decision records
  16. GitOps
  17. LLM-powered autonomous agents
  18. Platform orchestration
  19. Self-hosted LLMs

Hold

  1. Ignoring OWASP Top 10 lists
  2. Web components for server-siderendered (SSR) web apps

[Platforms]

Adopt

  1. Colima

Trial

  1. CloudEvents
  2. DataOps.live
  3. Google Cloud Vertex AI
  4. Immuta
  5. Lokalise
  6. Orca
  7. Trino
  8. Wiz

Assess

  1. ActivityPub
  2. Azure Container Apps
  3. Azure OpenAI Service
  4. ChatGLM
  5. Chroma
  6. Kraftful
  7. pgvector
  8. Pinecone
  9. wazero

[Tools]

Adopt

  1. dbt
  2. Mermaid
  3. Ruff
  4. Snyk

Trial

  1. AWS Control Tower
  2. Bloc
  3. cdk-nag
  4. Checkov
  5. Chromatic
  6. Cilium
  7. Cloud Carbon Footprint
  8. Container Structure Tests
  9. Devbox
  10. DX DevEx 360
  11. GitHub Copilot
  12. Insomnia
  13. IntelliJ HTTP Client plugin
  14. KEDA
  15. Kubeconform
  16. mob
  17. MobSF
  18. Mocks Server
  19. Prisma runtime defense
  20. Terratest
  21. Thanos
  22. Yalc

Assess

  1. ChatGPT
  2. Codeium
  3. GitHub merge queue
  4. Google Bard
  5. Google Cloud Workstations
  6. Gradio
  7. KWOK
  8. Llama 2
  9. Maestro
  10. Open-source LLMs for coding
  11. OpenCost
  12. OpenRewrite
  13. OrbStack
  14. Pixie
  15. Tabnine

[Languages and Frameworks]

Adopt

  1. Playwright

Trial

  1. .NET Minimal API
  2. Ajv
  3. Armeria
  4. AWS SAM
  5. Dart
  6. fast-check
  7. Kotlin with Spring
  8. Mockery
  9. Netflix DGS
  10. OpenTelemetry
  11. Polars
  12. Pushpin
  13. Snowpark

Assess

  1. Baseline Profiles
  2. GGML
  3. GPTCache
  4. Grammatical Inflection API
  5. htmx
  6. Kotlin Kover
  7. LangChain
  8. LlamaIndex
  9. promptfoo
  10. Semantic Kernel
  11. Spring Modulith