𝗜 𝗦𝘁𝗼𝗽𝗽𝗲𝗱 𝗪𝗿𝗶𝘁𝗶𝗻𝗴 𝗖𝗼𝗱𝗲. 𝗠𝘆 𝗔𝗽𝗽 𝗦𝗵𝗶𝗽𝗽𝗲𝗱 𝗶𝗻 𝟯 𝗗𝗮𝘆𝘀.
మూడు నెలల క్రితం, నేను ఒక ఫుల్-స్టాక్ SaaS డ్యాష్బోర్డ్ను రూపొందించాను. అందులో auth, ఒక డేటాబేస్, ఒక REST API మరియు UI ఉన్నాయి.
నేను కేవలం 200 లైన్ల కోడ్ మాత్రమే రాశాను. మిగిలినదంతా AI చేసింది. AI కోడ్ను రాసింది, రివ్యూ చేసింది మరియు సరిదిద్దింది.
ఆ యాప్ ఇప్పుడు లైవ్లో ఉంది. వినియోగదారులు దాని కోసం డబ్బు చెల్లిస్తున్నారు. నాకు అర్థం కాని బగ్స్ను సరిదిద్దడానికి నేను అర్థరాత్రి 2 గంటల వరకు మేల్కొని ఉండాల్సిన అవసరం లేదు.
ఇది గొప్పలు చెప్పుకోవడం కాదు. ఇది ఒక హెచ్చరిక.
డెవలపర్ పాత్ర వేగంగా మారుతోంది. ఈ మార్పును ఎదిరించే వారు కాకుండా, ఈ మార్పుకు నాయకత్వం వహించే డెవలపర్లు మాత్రమే విజయం సాధిస్తారు.
AIని కేవలం ఒక 'autocomplete' టూల్గా చూడటం ఆపండి. అది పాత పద్ధతి.
AI-native డెవలప్మెంట్ అనేది ఒక కొత్త ఆలోచనా విధానం (mental model). మీరు వేగంగా కోడ్ రాయడానికి AIని ఉపయోగించరు. మీరు ఆర్కిటెక్చర్ మరియు నిర్ణయాలపై దృష్టి పెడుతుంటే, ఇంప్లిమెంటేషన్ను (implementation) నిర్వహించడానికి AIని ఉపయోగిస్తారు.
ఈ మార్పు ఇలా ఉంటుంది:
- పాత పద్ధతి: మీరు కోడ్ రాస్తారు. AI మీరు వేగంగా టైప్ చేయడానికి సహాయపడుతుంది.
- కొత్త పద్ధతి: మీరు "ఏమిటి" (what) మరియు "ఎందుకు" (why) అని నిర్ణయిస్తారు. AI "ఎలా" (how) అనే అంశాన్ని చూసుకుంటుంది. మీరు దానిని ధృవీకరిస్తారు మరియు నడిపిస్తారు.
నా యాప్ను నిర్మించడానికి నేను సరిగ్గా ఇదే వర్క్ఫ్లోను ఉపయోగించాను:
- Next.js మరియు Prisma వంటి ప్రామాణిక సాధనాలను ఉపయోగించి ప్రాజెక్ట్ను స్కాఫోల్డ్ (Scaffold) చేయండి.
- డేటా మోడల్ను సాధారణ ఇంగ్లీష్లో వివరించండి.
- స్కీమాను (schema) రూపొందించడానికి AIని అనుమతించండి.
- సర్వర్ యాక్షన్స్ మరియు లాజిక్ను రూపొందించడానికి వివరణాత్మక ప్రాంప్ట్లను (prompts) ఉపయోగించండి.
నేను ఫంక్షన్లను రాయలేదు. నేను వాటిని రివ్యూ చేశాను. పరీక్షించాను. ఎర్రర్ మెసేజ్లను సర్దుబాటు చేశాను.
అదే కొత్త ఉద్యోగం.
AI కోడ్ను రాస్తే, మీ విలువ మీ మెటా-స్కిల్స్ (meta-skills) నుండి వస్తుంది. AI ప్యాటర్న్స్లో (patterns) మంచిది. కానీ నిర్ణయాలు తీసుకోవడంలో అది వెనుకబడి ఉంటుంది.
AI వీటిని నిర్ణయించలేదు:
- మీకు సర్వర్ యాక్షన్ కావాలా లేదా API రూట్ కావాలా అనేది.
- మీ స్టేట్ (state) ఎక్కడ ఉండాలి అనేది.
- మీరు monorepoని ఉపయోగించాలా లేదా అనేది.
ఈ నిర్ణయాలకు సందర్భం (context) అవసరం. AIకి సందర్భం తెలియదు. మీకు తెలుసు.
ఇప్పుడు జూనియర్ మరియు సీనియర్ డెవలపర్ మధ్య తేడా 'ప్రాంప్ట్ ప్రిసిషన్' (prompt precision).
- బలహీనమైన ప్రాంప్ట్: "Write a rate limiter."
- బలమైన ప్రాంప్ట్: "Write a Redis-backed rate limiter for a Next.js API route. Limit to 10 requests per minute per IP. Return a 429 error when exceeded. Skip admins. Log events to Prisma."
రెండవ ప్రాంప్ట్ ద్వారా వెంటనే ప్రొడక్షన్-రెడీ (production-ready) కోడ్ లభిస్తుంది.
మీరు 'సైలెంట్ ఫెయిల్యూర్స్' (silent failures) పట్ల కూడా జాగ్రత్తగా ఉండాలి. AI కోడ్ తరచుగా సరిగ్గా ఉన్నట్లు కనిపిస్తుంది కానీ అందులో సూక్ష్మమైన బగ్స్ ఉండవచ్చు. AI అవుట్పుట్ను ఒక జూనియర్ డెవలపర్ పంపిన 'pull request' లాగా పరిగణించండి. దానిని అనుమానంతో (skepticism) రివ్యూ చేయండి.
తక్కువ కోడ్ రాయడం కోసం ప్రయత్నించకండి. కోడ్ చుట్టూ ఉండే నైపుణ్యాలను పెంచుకోవడంపై దృష్టి పెట్టండి.
డెవలపర్ A ప్రతిదీ స్వయంగా రాస్తాడు మరియు నెమ్మదిగా ఉంటాడు. డెవలపర్ B వివరాల కోసం AIని ఉపయోగిస్తాడు మరియు సిస్టమ్ డిజైన్ (system design) పై సమయం గడుపుతాడు.
డెవలపర్ B కొత్త ప్రమాణం.
ఈ వారం ఇది ప్రయత్నించండి:
- ఏ కోడ్ను రాయకముందే ఒక ఫీచర్ కోసం పూర్తి స్పెసిఫికేషన్ను రాయండి.
- ఆ స్పెసిఫికేషన్నే మీ ప్రాంప్ట్గా ఉపయోగించండి.
- ఒక సీనియర్ ఇంజనీర్ జూనియర్ను సమీక్షించినట్లుగా, అవుట్పుట్ను సమీక్షించండి.
లక్ష్యం డెవలపర్గా ఉండటం మానేయడం కాదు. మరింత మెరుగైన డెవలపర్గా మారడం.
ఐచ్ఛిక అభ్యాస సమూహం: https://t.me/GyaanSetuAi