மென்பொருள் மேம்பாடு மாறியுள்ளது. சிறந்த பொறியியல் மாறவில்லை.

பத்து ஆண்டுகளுக்கு முன்பு இருந்ததை விட மென்பொருள் மேம்பாடு இப்போது வித்தியாசமாகத் தெரிகிறது. நீங்கள் தயாரிப்புகளை வேகமாக உருவாக்குகிறீர்கள். அதிக கிளவுட் சேவைகளைப் பயன்படுத்துகிறீர்கள். இப்போது உங்கள் அன்றாடப் பணிப்பாய்வில் AI ஒரு அங்கமாகிவிட்டது.

சூழல் மாறியுள்ளது, ஆனால் பொறியியலின் அடிப்படைக் கொள்கைகள் அப்படியே உள்ளன. குறியீடு (Code) வாசிக்கக்கூடியதாகவும், பாதுகாப்பானதாகவும் மற்றும் நம்பகமானதாகவும் இருக்க வேண்டும்.

ஒரு பொறியாளராக உங்களுக்கு என்ன மாறியுள்ளது?

சிறந்த குறியீடு என்பது இன்றும் அதே பொருளைத் தான் குறிக்கிறது. ஒரு codebase கணிக்கக்கூடியதாகவும் மற்றும் எளிதாக மாற்றக்கூடியதாகவும் இருக்க வேண்டும். ஒவ்வொரு முறை நீங்கள் ஒரு புதிய அம்சத்தைச் (feature) சேர்க்கும்போதும், அதைத் தொடர்ந்து பராமரிப்பது கடினமாகிவிடக்கூடாது. இங்கு AI ஒரு புதிய அடுக்கைச் சேர்க்கிறது. AI பல சரிபார்ப்புகளுடனும் மற்றும் விளிம்பு நிலைச் சூழல்களுடனும் (edge cases) குறியீட்டை உருவாக்குகிறது. இது சில நேரங்களில் உதவுகிறது. மற்ற நேரங்களில், இது குறியீட்டை மிகவும் சிக்கலாக்குகிறது. AI உருவாக்கிய குறியீடு எளிமையாகவும், உங்கள் கட்டமைப்பிற்கு (architecture) ஏற்றதாகவும் இருப்பதை உறுதி செய்ய நீங்கள் அதைச் சரிபார்க்க வேண்டும்.

சந்தைக்குக் கொண்டு வரும் காலம் (Time-to-market) இப்போது மிகவும் குறைந்துள்ளது. பத்து ஆண்டுகளுக்கு முன்பு, ஒரு தயாரிப்பை வெளியிடுவதற்கு மாதக்கணக்கில் ஆகும். இன்று, நீங்கள் சில நாட்களிலேயே ஒரு பதிப்பை (version) உருவாக்கிவிடலாம். AI, கிளவுட் சேவைகள் மற்றும் APIs ஆகியவை இதை வேகப்படுத்துகின்றன. ஆனால் வேகமான விநியோகம் அதிக அபாயங்களையும் கொண்டுவருகிறது. நீங்கள் ஒரு தயாரிப்பை வெளியிட்ட பிறகு, அதன் நிலைத்தன்மை (stability), பாதுகாப்பு (security) மற்றும் அளவிடுதல் (scalability) ஆகியவற்றைக் கூர்ந்து கவனிக்க வேண்டும்.

உங்கள் முன்னுரிமைகள் விரிவடைந்துள்ளன. கடந்த காலத்தில், நீங்கள் குறியீடு எழுதுவதிலும் அம்சங்களை வெளியிடுவதிலும் மட்டுமே கவனம் செலுத்தினீர்கள். இப்போது, நீங்கள் கூடுதல் பகுதிகளை நிர்வகிக்க வேண்டும்:

  • அளவிடுதல் (Scalability)
  • ஒருங்கிணைப்புகள் (Integrations)
  • தரவு மேலாண்மை (Data management)
  • கிளவுட் உள்கட்டமைப்பு (Cloud infrastructure)
  • AI செயலாக்கம் (AI implementation)
  • பாதுகாப்பு (Security)
  • அமைப்பின் நிலைத்தன்மை (System stability)

ஒரு அம்சம் என்பது இனி வெறும் குறியீடு மட்டுமல்ல. அது கிளவுட் செலவுகள், தரவு ஓட்டங்கள் (data flows) மற்றும் மூன்றாம் தரப்பு சேவைகளைச் சார்ந்துள்ளது.

தொழில்நுட்பத் தேர்வுகள் தேவைகளைப் பின்பற்றுமே தவிர, டிரெண்டுகளை (trends) அல்ல. குழுக்கள் முன்பு தங்களுக்கு நன்கு தெரிந்த கருவிகளையே தேர்ந்தெடுத்தன. இப்போது, நீங்கள் வேகம், AI தயார்நிலை மற்றும் கிளவுட் ஆதரவு ஆகியவற்றையும் பார்க்கிறீர்கள். புதிய கட்டமைப்புகள் (frameworks) வேகமாக முன்னேறுகின்றன, ஏனெனில் AI அவற்றின் ஆவணங்களை (documentation) எளிதாகப் படிக்கிறது. இருப்பினும், இந்தத் கருவிகளில் பெரும்பாலும் முதிர்ந்த கூறுகள் (mature components) அல்லது நிரூபிக்கப்பட்ட பாதுகாப்பு இருப்பதில்லை.

AI குறியீட்டைக் கையாள்கிறது, ஆனால் மனிதர்கள் கட்டமைப்பைக் கையாள்கிறார்கள். AI ஒரு மிகப்பெரிய மாற்றம். ஆனால் ஒரு கட்டமைப்பிற்கு (architecture) சமரசங்கள் (trade-offs), நீண்டகால அபாயங்கள் மற்றும் ஒரு தயாரிப்பு எவ்வாறு வளர்கிறது என்பதைப் புரிந்துகொள்வது அவசியம். அனுபவம் வாய்ந்த பொறியாளர்கள் மற்றும் வடிவமைப்பாளர்கள் (architects) இன்றும் இந்தச் செயல்பாட்டின் மிக முக்கியமான பகுதியாக உள்ளனர்.

முக்கியக் கேள்வி மாறியுள்ளது. பத்து ஆண்டுகளுக்கு முன்பு, நீங்கள் கேட்டது: "நாம் எப்படி வேகமாக உருவாக்கி வெளியிடலாம்?" இன்று, நீங்கள் கேட்பது: "ஒரு நிலையற்ற, செலவு மிகுந்த அல்லது பாதுகாப்பற்ற அமைப்பை உருவாக்காமல் எப்படி வேகமாக வெளியிடலாம்?"

வேகம் முக்கியம். வேகம் மட்டுமே போதுமானதல்ல.

Source: https://dev.to/techbarsw/software-development-changed-good-engineering-didnt-2g7

Optional learning community: https://t.me/GyaanSetuAi