ഞാൻ കോഡ് എഴുതുന്നത് നിർത്തി. എങ്കിലും 3 ദിവസത്തിനുള്ളിൽ എന്റെ ആപ്പ് പുറത്തിറങ്ങി.

മൂന്ന് മാസം മുമ്പ്, ഞാൻ ഒരു ഫുൾ-സ്റ്റാക്ക് SaaS ഡാഷ്‌ബോർഡ് നിർമ്മിച്ചു. ഞാൻ എഴുതിയത് ഏകദേശം 200 വരി കോഡുകൾ മാത്രമാണ്. ബാക്കിയെല്ലാം AI നിർമ്മിച്ചതും, AI പരിശോധിച്ചതും, AI റീഫാക്ടർ ചെയ്തതുമാണ്.

ആപ്പ് ഇപ്പോൾ പ്രൊഡക്ഷനിലുണ്ട്. ഉപയോക്താക്കൾ അതിനായി പണം നൽകുന്നുണ്ട്. ബഗ്ഗുകളെക്കുറിച്ച് ആകുലപ്പെട്ട് രാത്രി വൈകിയും എനിക്ക് ഇരിക്കേണ്ടി വരുന്നില്ല.

ഇതൊരു അഹങ്കാരമല്ല. ഇതൊരു മുന്നറിയിപ്പാണ്.

ഡെവലപ്പർമാരുടെ പങ്ക് അതിവേഗം മാറിക്കൊണ്ടിരിക്കുകയാണ്. AI-യോട് പോരാടുന്നവരല്ല വിജയിക്കുന്നത്, മറിച്ച് ഈ മാറ്റം മനസ്സിലാക്കുന്നവരാണ്.

AI-native ഡെവലപ്‌മെന്റ് എന്നത് ഒരു പുതിയ മാനസിക മാതൃകയാണ്. ഇത് വെറുമൊരു autocomplete മാത്രമല്ല. AI-യെ ഒരു സഹപ്രവർത്തകനായി കാണുന്ന രീതിയാണിത്. ഇംപ്ലിമെന്റേഷൻ (implementation) AI ഏറ്റെടുക്കുന്നു. എന്നാൽ ആർക്കിടെക്ചർ (architecture), ലക്ഷ്യം (intent), വിവേചനാധികാരം (judgment) എന്നിവ നിങ്ങളുടെ കൈകളിലാണ്.

ഈ മാറ്റം ഇപ്രകാരമാണ്:

  • പഴയ മാതൃക: നിങ്ങൾ കോഡ് എഴുതുന്നു. AI അത് വേഗത്തിൽ എഴുതാൻ നിങ്ങളെ സഹായിക്കുന്നു.
  • പുതിയ മാതൃക: നിങ്ങൾ 'എന്ത്', 'എന്തിന്' എന്നിവ നിർവചിക്കുന്നു. 'എങ്ങനെ' എന്നത് AI കൈകാര്യം ചെയ്യുന്നു. നിങ്ങൾ അത് പരിശോധിക്കുകയും നിയന്ത്രിക്കുകയും ചെയ്യുന്നു.

AI കോഡ് എഴുതുകയാണെങ്കിൽ, കോഡിംഗ് കഴിവുകൾ മാത്രം നിങ്ങളെ പകരം വെക്കാനില്ലാത്തവരാക്കില്ല. മെറ്റാ-സ്കില്ലുകളാണ് (Meta-skills) അത് ചെയ്യുന്നത്.

പാറ്റേണുകൾ തിരിച്ചറിയുന്നതിൽ AI മിടുക്കനാണ്. എന്നാൽ അവ തിരഞ്ഞെടുക്കുന്നതിൽ പരാജയപ്പെടാം. AI-ക്ക് ഇവ അറിയില്ല:

  • നിങ്ങൾക്ക് ഒരു server action വേണോ അതോ ഒരു API route വേണോ എന്ന്.
  • state എന്നത് Zustand-ൽ വേണോ അതോ ഒരു URL param-ൽ വേണോ എന്ന്.
  • നിങ്ങൾക്ക് ഒരു monorepo ആവശ്യമുണ്ടോ എന്ന്.

ഇവയെല്ലാം വിവേചനാധികാരം ഉപയോഗിച്ച് തീരുമാനിക്കേണ്ട കാര്യങ്ങളാണ്. നിങ്ങളുടെ ടീമിനെക്കുറിച്ചും നിങ്ങളുടെ പ്രവർത്തനത്തിന്റെ വ്യാപ്തിയെക്കുറിച്ചുമുള്ള (scale) അറിവ് ഇതിന് ആവശ്യമാണ്. ആ അറിവ് നിങ്ങൾക്കുണ്ട്, എന്നാൽ AI-ക്ക് ഇല്ല.

ഒരു ജൂനിയർ ഡെവലപ്പറും സീനിയർ AI ഡെവലപ്പറും തമ്മിലുള്ള വ്യത്യാസം പ്രോംപ്റ്റിലാണ് (prompt).

  • ദുർബലമായ പ്രോംപ്റ്റ്: Write a rate limiter.
  • ശക്തമായ പ്രോംപ്റ്റ്: Write a Redis-backed rate limiter middleware for a Next.js API route. Limit to 10 requests per minute per IP. Return a 429 error. Skip rate limiting for admin users. Log throttled requests to a Prisma table.

രണ്ടാമത്തെ പ്രോംപ്റ്റ് നിങ്ങൾക്ക് പ്രൊഡക്ഷൻ റെഡി ആയ കോഡ് നൽകുന്നു. കൃത്യത (Precision) എന്നത് ഇപ്പോൾ ഏറ്റവും പ്രധാനപ്പെട്ട ഒരു എഞ്ചിനീയറിംഗ് നൈപുണ്യമാണ്.

പരാജയസാധ്യതകളും (failure modes) നിങ്ങൾ ശ്രദ്ധിക്കണം. AI എഴുതുന്ന കോഡ് പലപ്പോഴും ശരിയാണെന്ന് തോന്നും, എന്നാൽ അതിൽ സൂക്ഷ്മമായ തെറ്റുകൾ ഉണ്ടാകാം. അത് ടെസ്റ്റുകളിൽ വിജയിച്ചേക്കാം, പക്ഷേ ഒരു സെക്യൂരിറ്റി ഹോൾ (security hole) അല്ലെങ്കിൽ ഒരു റേസ് കണ്ടീഷൻ (race condition) ഒളിപ്പിച്ചു വെച്ചിട്ടുണ്ടാകാം. ഒരു ജൂനിയർ ഡെവലപ്പറെ പരിശോധിക്കുന്ന അതേ സൂക്ഷ്മതയോടെ AI നൽകുന്ന ഔട്ട്‌പുട്ട് പരിശോധിക്കുക.

AI-യെ ഭയപ്പെടുന്ന ഡെവലപ്പർമാർ തെറ്റായ കാര്യങ്ങളിലാണ് ശ്രദ്ധ കേന്ദ്രീകരിക്കുന്നത്. അവർ കുറഞ്ഞ കോഡ് എഴുതുന്നതിനെക്കുറിച്ചാണ് ആശങ്കപ്പെടുന്നത്. എന്നാൽ യഥാർത്ഥ അപകടം കോഡിന് ചുറ്റുമുള്ള നൈപുണ്യങ്ങൾ മെച്ചപ്പെടുത്തുന്നതിൽ പരാജയപ്പെടുന്നതാണ്.

ലക്ഷ്യം ഒരു ഡെവലപ്പർ ആകുന്നത് നിർത്തുക എന്നതല്ല. മറിച്ച് കൂടുതൽ മികച്ച ഒരു ഡെവലപ്പർ ആകുക എന്നതാണ്.

ഞാൻ എന്റെ സമയം താഴെ പറയുന്ന കാര്യങ്ങൾക്കായി ചെലവഴിച്ചതുകൊണ്ടാണ് ആപ്പ് 3 ദിവസത്തിനുള്ളിൽ പുറത്തിറക്കാൻ കഴിഞ്ഞത്:

  • ഡാറ്റ മോഡൽ (data model).
  • യൂസർ ഫ്ലോ (user flow).
  • എഡ്ജ് കേസുകൾ (edge cases).
  • ബിസിനസ് ലോജിക് (business logic).

അതാണ് ഇപ്പോൾ ജോലി.

നിങ്ങളുടെ നിലവിലെ AI-to-handwritten code അനുപാതം എത്രയാണ്? കമന്റുകളിൽ അറിയിക്കുക.

Source: https://dev.to/emma_schmidt_/i-stopped-writing-code-my-app-still-shipped-in-3-days-heres-what-that-tells-us-about-being-a-2ghp