මචං, පහුගිය කාලේ ChatGPT, GitHub Copilot, Google Gemini, Claude 3.5 Sonnet සහ මෑතකදී ආපු Devin (ලෝකේ පළවෙනි AI Software Engineer) වගේ Tools එළියට ආවට පස්සේ ලෝකේ පුරාම ඉන්න IT ෆීල්ඩ් එකේ අයට, විශේෂයෙන්ම අලුතින් මේ ෆීල්ඩ් එකට එන්න ඉන්න අයට ලොකු කම්පනයක් ආවා. හැමෝම අහන්න ගත්ත ප්රශ්නයක් තමයි, "අපෝ, දැන් ඉතින් Software Engineer ලා ඕන වෙන එකක් නෑ නේද? අපේ රස්සාවල් ටික AI වලින් කයිද?" කියන එක. 😲
ඔයත් IT Field එකට එන්න හීන දකින, එහෙමත් නැත්නම් දැනටමත් Computer Science, Software Engineering Degree එකක් කරන කෙනෙක් නම්, ඔයාගේ හිතෙත් මේ බය අනිවාර්යයෙන්ම ඇති. සමහරු කෝඩිං ඉගෙන ගන්න එකත් නවත්තලා දාලා "AI සේරම කරයිනේ, අපිට ඉගෙනගෙන වැඩක් නෑ" කියලා හිතාගෙන ඉන්නවා. ඒත් ඇත්තටම AI වලට පුළුවන්ද මනුස්සයෙක්ව, ඒ කියන්නේ දක්ෂ Senior Software Engineer කෙනෙක්ව 100% ක් Replace කරන්න? අද අපි KP Tech Gear හරහා මේකේ යටගියාව, ඇත්තම තත්ත්වය, ආර්ථික විද්යාත්මක සිද්ධාන්ත සහ අනාගතය ගැන පතුලටම බහින දැවැන්ත Deep Dive එකක් යමු. කෝපි එකක් හදාගෙනම ලෑස්ති වෙන්න, මේක ඔයාගේ ජීවිතේ වෙනස් කරන Article එකක් වෙන්න පුළුවන්!
🤖 1. AI වලට ඇත්තටම පුළුවන් මොනවද? (The AI Superpowers)
අපි මුලින්ම යථාර්ථයට මුහුණ දෙන්න ඕනේ. අද තියෙන AI තාක්ෂණය මාරම වේගවත්. ඒක හරියට මැජික් එකක් වගේ. අපි දවස් ගාණක් නිදි මරාගෙන කරපු සමහර කම්මැලි, ඒකාකාරී වැඩ අද AI එකෙන් කරන්නේ ඇහිපිල්ලම් ගහන වේගෙන්.
- ✅ Boilerplate Code ලිවීම: ඔයා අලුතින් React Project එකක් හරි, Spring Boot Backend එකක් හරි පටන් ගනිද්දී, මුලින්ම ලියන්න ඕන ඒකාකාරී කෝඩ් (Boilerplate) තියෙනවා. ඉස්සර මේවා අපි අතින් ලිව්වේ, නැත්නම් පරණ ප්රොජෙක්ට් එකකින් කොපි කළේ. දැන් AI එකට කිව්වම මුළු Project Structure එකම තත්පර 10න් හදලා දෙනවා.
- ✅ Bugs සෙවීම (Debugging): සමහර වෙලාවට පොඩි කොමාවක්, සෙමිකෝලන් එකක් නැතිවෙලා අපි පැය ගාණක් Error එක හොයනවා. හැබැයි Copilot වගේ AI එකකට අපේ කෝඩ් එක දුන්න ගමන්, ඒක හරියටම Error එක තියෙන තැන පෙන්නලා, හදන්න ඕන විදියත් කියනවා. ඒ විතරක් නෙවෙයි, Memory Leaks වගේ සංකීර්ණ දේවල් පවා හොයාගන්න දැන් AI වලට පුළුවන්.
- ✅ කෝඩ් පරිවර්තනය (Code Translation & Migration): හිතන්න ඔයා ගාව Python වලින් ලියපු පරණ කෝඩ් එකක් තියෙනවා. ඔයාට ඒක Java වලට හරවන්න ඕනේ. ඉස්සර නම් මේක මුල ඉඳන් ලියන්න ඕනේ, ලොකු කණ්ඩායමක් දාලා මාස ගාණක් යන වැඩක්. දැන් AI එකට දුන්නම තත්පරෙන් භාෂාවෙන් භාෂාවට කෝඩ් එක හරවනවා.
- ✅ Unit Tests ලිවීම: Developers ලා වැඩියෙන්ම කම්මැලි වැඩක් තමයි තමන් ලියපු කෝඩ් එකට Tests ලියන එක. දැන් ඔයා Function එක ලියලා ඉවර වුණාම, ඒකට අදාළ සියලුම Test Cases (Positive, Negative, Edge cases) AI එකෙන් ලියලා දෙනවා.
- ✅ UI/UX Components හැදීම: "මට Tailwind CSS පාවිච්චි කරලා ලස්සන Login Form එකක් හදලා දෙන්න, ඒකේ Dark Mode එකත් තියෙන්න ඕනේ" කියලා කිව්වොත්, AI එක අංගසම්පූර්ණ කෝඩ් එක දෙනවා.
අපි AI එකට කිව්වොත් "React වලින් සරල Counter Button එකක් ලියලා දෙන්න" කියලා. ඒක කොච්චර ලස්සනට කෝඩ් එක දෙනවද බලන්න.
const Counter = () => {
const [count, setCount] = useState(0);
return (
<div className="flex flex-col items-center p-5">
<h2 className="text-2xl font-bold mb-4">Count: {count}</h2>
<div className="space-x-4">
<button
onClick={() => setCount(count + 1)}
className="bg-blue-500 text-white px-4 py-2 rounded"
>
Increment
</button>
<button
onClick={() => setCount(count - 1)}
className="bg-red-500 text-white px-4 py-2 rounded"
>
Decrement
</button>
</div>
</div>
);
};
export default Counter;
මේවා දැක්කම සාමාන්ය කෙනෙක්ට හිතෙන්නේ "ඉවරයි, AI සේරම කරනවා, ඉස්සරහට කවුරුත් ඕනේ නෑ" කියලා තමයි. හැබැයි කතාවේ ඇත්තම පැත්ත තියෙන්නේ එතන නෙවෙයි. අපි ඊළඟට ඒක බලමු.
🚫 2. එහෙනම් අපේ රස්සා ඉවරද? (The Last Mile Problem)
කෙටිම උත්තරය තමයි: නැහැ! මනුස්ස Software Engineer කෙනෙක්ව Replace කරන්න AI වලට තව ගොඩක් කල් යනවා, සමහරවිට ඒක කවදාවත් වෙන්නේ නැති වෙන්නත් පුළුවන්.
ඇයි මම එහෙම කියන්නේ? Programming වල තියෙන ලොකුම අභියෝගය කෝඩ් ටයිප් කරන එක නෙවෙයි. ඒකට කියන්නේ "The Last Mile Problem" (අවසන් සැතපුමේ ගැටලුව) කියලා.
- Ambiguity (අවිධිමත් බව තේරුම් ගැනීම): Client කෙනෙක් ඇවිත් කවදාවත් කියන්නේ නෑ "මට React frontend එකකුයි, Node.js Microservices 3කුයි, PostgreSQL database එකකුයි හදලා ඒක AWS EC2 වලට Deploy කරලා දෙන්න" කියලා. Client කියන්නේ "මචං මට ඕනේ මගේ කඩේ බඩු ටික ඔන්ලයින් විකුණගන්න ඇප් එකක්. ඒකේ නිල් පාට බොත්තමක් තියෙන්න ඕනේ, සල්ලි ටික කෙලින්ම මගේ එකවුන්ට් එකට එන්න ඕනේ" කියලා විතරයි. මේ වගේ පැහැදිලි නැති ප්රශ්නයක් අරගෙන, ඒක තාක්ෂණික විසඳුමකට (System Architecture) හරවන්න AI එකට බෑ. ඒකට මනුස්ස මොළයක් (Business Logic තේරුම් ගන්න පුළුවන් කෙනෙක්) ඕනේ.
- Context (පසුබිම තේරුම් ගැනීම): හිතන්න බැංකුවක පරණ (Legacy) System එකක් තියෙනවා. ඒක අවුරුදු 20ක් පරණයි. කෝඩ් ලයින් මිලියන ගාණකින් හැදිලා තියෙන්නේ. මේ සේරම කෝඩ් ටික AI එකකට දීලා "මේකට අලුත් ලෝන් දෙන ෆීචර් එකක් දාන්න" කිව්වොත් AI එකට පිස්සු හැදෙනවා. මොකද මුළු System එකම එකට වැඩ කරන හැටි, ඒකේ තියෙන රහස් සම්බන්ධතා (Hidden dependencies) තේරුම් ගන්න ඊට බෑ.
- Security and Liability (වගකීම සහ ආරක්ෂාව): හිතන්න AI එකක් ලියපු කෝඩ් එකක් නිසා ලොකු කම්පැණි එකක ඩේටා ලීක් වුණා කියලා (උදා: SQL Injection එකක් හරහා). නැත්නම් බැංකුවක සල්ලි ට්රාන්සර් වෙද්දි වරදක් වුණා. කාටද බනින්නේ? AI එකට නඩු දාන්න පුළුවන්ද? AI එක හිරේ යවන්නද? නෑ! මොන දේ වුණත් ඒ කෝඩ් එක Review කරලා, වගකීම භාරගන්න "මනුස්සයෙක්" අනිවාර්යයෙන්ම ඉන්න ඕනේ.
- Hallucinations (බොරු කීම): AI ගොඩක් වෙලාවට නොදන්න දේවල් දන්නවා වගේ බොරු කෝඩ් ගහලා දෙනවා. පෙනුමට මාරම ලස්සනයි, ඒත් Run කරද්දි වැඩ කරන්නේ නෑ. නැති Libraries import කරනවා. ඒක බලලා වැරැද්ද අල්ලගන්න නම් අනිවාර්යයෙන්ම මනුස්සයා කෝඩිං දැනගෙන ඉන්නම ඕනේ.
Software Engineering කියන්නේ 20%ක් කෝඩ් ටයිප් කරන එක සහ 80%ක් ප්රශ්න විසඳන (Problem Solving) එක. AI එකට පුළුවන් අර 20% වේගවත් කරන්න විතරයි. ඉතුරු 80% කරන්න නම් මනුස්සයෙක් ඕනේමයි.
📈 3. ආර්ථික විද්යාවෙන් මේකට දෙන උත්තරය (The Jevons Paradox)
Software Engineering වලට AI ආවම මොකද වෙන්නේ කියන්න, ආර්ථික විද්යාවේ තියෙන මාරම ලස්සන න්යායක් තියෙනවා. ඒකට කියන්නේ Jevons Paradox (ජෙවෝන්ස්ගේ විරුද්ධාභාසය) කියලා.
19 වෙනි සියවසේදී ගල් අඟුරු වලින් දුවන එන්ජින් වල කාර්යක්ෂමතාවය (Efficiency) වැඩි කළා. ඒ කියන්නේ අඩු ගල් අඟුරු වලින් වැඩි වැඩක් කරන්න පුළුවන් වුණා. එතකොට සාමාන්ය මිනිස්සු හිතුවේ "දැන් ගල් අඟුරු ඉතුරු වෙයි, ගල් අඟුරු පතල් කාරයින්ට රස්සා නැති වෙයි" කියලා. හැබැයි වුණේ ඒකෙ අනිත් පැත්ත. එන්ජින් දුවන එක ලාභ වෙද්දී, හැමෝම එන්ජින් පාවිච්චි කරන්න ගත්තා. කෝච්චි, නැව්, ෆැක්ටරි හැම එකටම එන්ජින් ආවා. අවසානයේ ගල් අඟුරු වලට ඉල්ලුම 10 ගුණයකින් වැඩි වුණා! පතල් කාරයින්ට රස්සා වැඩි වුණා.
AI නිසා Software එකක් හදන Cost (වියදම) සහ Time (කාලය) අඩුවෙනවා. ඒ කියන්නේ ඉස්සර ලක්ෂ 10ක් දීලා App එකක් හදාගන්න බැරුව හිටපු පොඩි කඩකාරයටත්, දැන් ලක්ෂ 2ට App එකක් හදාගන්න පුළුවන් වෙනවා. ඉස්සර අවුරුද්දක් ගියපු ප්රොජෙක්ට් එක දැන් මාස 3න් කරන්න පුළුවන්.
එතකොට මොකද වෙන්නේ? ලෝකේ පුරාම Software වලට තියෙන ඉල්ලුම (Demand) දස ගුණයකින් වැඩි වෙනවා! හැම පොඩි බිස්නස් එකකටම, හැම පාසලකටම, හැම රෝහලකටම අලුත් Software ඕනේ වෙනවා. ඒ වැඩි වෙන අතිවිශාල Software ප්රමාණය හදන්න, නඩත්තු කරන්න (Maintain), සහ ඒවා එකිනෙක සම්බන්ධ කරන්න කොහොමත් අලුතින් Software Engineers ලා ලක්ෂ ගාණක් ඕනේ වෙනවා.
🧬 4. පරිගණක භාෂා වල පරිණාමය (The Layers of Abstraction)
අපි ටිකක් ඉතිහාසය දිහා බලමු. මේ රස්සාවල් නැතිවෙනවා කියන බය අද ඊයේ ආපු එකක් නෙවෙයි. IT ෆීල්ඩ් එකේ හැමදාම අලුත් තාක්ෂණයක් එද්දී ඔය කතාව කියනවා.
- 1950 ගණන් වල (Machine Code): ඒ කාලේ මිනිස්සු කෝඩ් කළේ Punch Cards හිල් කරලා (0 සහ 1 වලින්). ඊටපස්සේ Assembly language ආවම මිනිස්සු හිතුවා "අපෝ දැන් ඉතින් Programmer ලා ඉවරයි, Machine code ලියන අය ඕනේ නෑ" කියලා.
- 1970 ගණන් වල (High-Level Languages): C, Fortran වගේ භාෂා ආවම කිව්වා "දැන් ඉංග්රීසියෙන් ලියන නිසා ඕන කෙනෙක්ට කෝඩ් කරන්න පුළුවන්, Computer Scientist ලා ඕනේ නෑ" කියලා.
- 2000 ගණන් වල (Web & IDEs): Dreamweaver, WordPress, Wix වගේ No-Code/Low-Code platforms ආවම Web Developers ලා බය වුණා "අපිට රස්සා නැති වෙයි, දැන් Drag and Drop කරලා සයිට් හදන්න පුළුවන්නේ" කියලා.
හැබැයි මේ හැම දේකින්ම වුණේ මොකක්ද? Programmers ලට තමන්ගේ කාලය ඉතුරු කරගෙන, ඊට වඩා ලොකු සංකීර්ණ දේවල් හදන්න (Complex Distributed Systems, Cloud Computing, Microservices) අවස්ථාව ලැබුණු එකයි.
AI (Prompt Engineering) කියන්නෙත් අපේ කෝඩිං භාෂාවේ ඊළඟ අදියර (Next Layer of Abstraction) විතරයි! ඉස්සර 0 න් 1 න් ලිව්වා, ඊට පස්සේ C වලින් ලිව්වා, ඊට පස්සේ Python වලින් ලිව්වා, දැන් අපි ඉංග්රීසි භාෂාවෙන් (Prompts) ලියනවා. එච්චරයි වෙනස.
🤖 5. ස්වයංක්රීය AI නියෝජිතයන් (What about Devin?)
ඔයා සමහරවිට අහලා ඇති "Devin" ගැන. මේක හඳුන්වා දුන්නේ ලෝකේ පළවෙනි Autonomous AI Software Engineer විදියට. Devin ට පුළුවන් ඔයා කියන දේ අහගෙන, ඊට අදාළව බ්රව්සර් එක ඕපන් කරලා, Documentation කියවලා, කෝඩ් එක ලියලා, ඒක ටෙස්ට් කරලා, අවසානයේ Deploy කරන්නත්.
මේක දැක්කම නම් ඇත්තටම බයක් හිතෙනවා නේද? හැබැයි Devin කියන්නෙත් තවමත් "Bounded Agent" කෙනෙක්. ඒ කියන්නේ එයාට වැඩ කරන්න පුළුවන් සීමිත, පැහැදිලි පරිසරයක (Controlled Environment) විතරයි. සැබෑ ලෝකේ ප්රොජෙක්ට්ස් (Real-world enterprise projects) ඊට වඩා ගොඩක් අවුල් සහගතයි (messy). Client ගේ අදහස වෙනස් වෙනවා, Database එකේ අවුල් එනවා, Server එක down වෙනවා, වෙනත් Third-party API එකක් වැඩ කරන්නේ නැතුව යනවා. මේ වගේ වෙලාවට තීරණ ගන්න Devin ට බෑ. Devin කියන්නේ ලොකු ටීම් එකක ඉන්න Junior Developer කෙනෙක් විතරයි. ඒ Junior ව මෙහෙයවන්න Senior (මනුස්සයා) අනිවාර්යයි.
💡 6. අලුත් අයට දෙන උපදෙස (How to Survive and Thrive)
ඔයා දැන් Coding ඉගෙන ගන්න කෙනෙක් නම්, කිසිම හේතුවක් නිසා බය වෙන්න එපා. හැබැයි ඔයා පරණ විදියටම, ටියුටෝරියල් දිහා බලන් කටපාඩම් කරගෙන (Tutorial Hell) ඉගෙන ගෙන නම් හරියන්නෙත් නෑ. ඔයා අනාගතයට (AI Era එකට) සූදානම් වෙන්න මේ දේවල් 5 අනිවාර්යයෙන්ම කරන්න ඕනේ:
- AI එක්ක තරහා වෙන්න එපා, යාලු වෙන්න (Embrace AI Pair Programming): AI කියන්නේ සතුරෙක් නෙවෙයි. ඔයා කෝඩ් ලියද්දි ChatGPT, GitHub Copilot වගේ දේවල් ඔයාගේ උදව්වට ගන්න. ඒකෙන් ඔයාගේ වැඩ කරන වේගය 10x (දස ගුණයකින්) වැඩි වෙනවා. AI පාවිච්චි කරන්න දන්න කෙනාට ලොකු Demand එකක් හැදෙනවා.
- මූලික දේවල් (Fundamentals) හොඳටම ඉගෙන ගන්න: AI එකෙන් කෝඩ් එකක් දුන්නට වැඩක් නෑ, ඒකේ තියෙන දේ ඔයාට තේරෙන්නේ නැත්නම්. ඔයාට Error එකක් ආවම ඒක හදාගන්න බැරි නම් AI එකෙන් වැඩක් නෑ. ඒ නිසා Data Structures, Algorithms, OOP, සහ Memory Management වගේ දේවල් සුපිරියටම ඔළුවට දාගන්න.
- System Design ගැන හිතන්න පටන් ගන්න: ඉස්සරහට "Code ලියන අයට" (Coders/Typists) වඩා වටින්නේ "පද්ධති නිර්මාණය කරන අයට" (Architects / Software Engineers). කොහොමද ලොකු System එකක් හදන්නේ, Database එකක් Design කරන්නේ කොහොමද, Cloud Services (AWS/Azure) පාවිච්චි කරන්නේ කොහොමද කියන දේවල් ඉගෙන ගන්න.
- Domain Knowledge (ව්යාපාරික දැනුම) එකතු කරගන්න: ඔයා හදන්නේ බැංකු ඇප් එකක් නම්, බැංකු වැඩ කරන විදිය ගැන ඔයා දැනගන්න ඕනේ. Healthcare ඇප් එකක් නම් ඒ ගැන දැනගන්න ඕනේ. AI එකට මේ Domain Knowledge එක නෑ. ඒක තියෙන්නේ මනුස්සයට.
- Soft Skills හදාගන්න: AI එකකට බැරි දේවල් ඔයා පුරුදු වෙන්න. Client එක්ක කතා කරලා Requirement එක තේරුම් ගන්න එක, Team එකක් එක්ක එකට වැඩ කරන එක, ප්රශ්නයක් ආවම කතාබහ කරලා විසඳගන්න එක වගේ දේවල් වලට තමයි අනාගතයේ ලොකුම වටිනාකම තියෙන්නේ.
⚖️ 7. අවසාන සාරාංශය (The Final Verdict)
මේ වෙනස තේරුම් ගන්න අපි පරණ ක්රමය සහ අලුත් AI ක්රමය සසඳලා බලමු:
| කාර්යය (Task) | Old Way (පරණ ක්රමය) 👨💻 | New Way with AI (අලුත් ක්රමය) 🤖 + 👨💻 |
|---|---|---|
| Project Setup | අතින් ෆෝල්ඩර් හදලා, Configs ලියන්න පැය ගාණක් යනවා. | AI එකට Prompt එකක් දුන්නම තත්පර 10න් සම්පූර්ණ Setup එක දෙනවා. |
| Writing Business Logic | StackOverflow එකේ පැය ගාණක් සර්ච් කර කර ලියනවා. | AI එකෙන් මූලික කෝඩ් එක අරන්, මනුස්සයා ඒක ඔප්ටිමයිස් (Optimize) කරනවා. |
| Debugging Errors | Log file බල බල දවස් ගාණක් රස්තියාදු වෙනවා. | Error එක AI එකට දාලා තත්පරෙන් හේතුව හොයාගන්නවා. |
| System Architecture | Architect කෙනෙක් Whiteboard එකක ඇඳලා සැලසුම් කරනවා. | තවමත් මනුස්ස Architect කෙනෙක්ම තමයි සැලසුම් කරන්නේ (AI ට මේක බෑ). |
| Client Communication | PM හෝ Developer කෙලින්ම Client එක්ක කතා කරනවා. | තවමත් මනුස්සයෙක්ම තමයි කතා කරන්නේ. |
මේ සේරම දේවල් බැලුවම ඔයාට පැහැදිලි ඇති මචං, AI කියන්නේ අපේ සතුරෙක් නෙවෙයි. ඒක හරියට අයන් මෑන් (Iron Man) ට ඉන්න ජාවිස් (JARVIS) වගේ. ජාවිස් කොච්චර දක්ෂ වුණත්, සූට් එක ඇඳගෙන තීරණ ගන්නේ ටෝනි ස්ටාර්ක් (Tony Stark). අන්න ඒ වගේ අනාගතයේ ඩිවෙලොපර් කියන්නේ ටෝනි ස්ටාර්ක් වගේ කෙනෙක්.
"AI විසින් මනුස්සයෙක්ව කවදාවත් Replace කරන්නේ නෑ. හැබැයි, AI පාවිච්චි කරන මනුස්සයෙක් විසින්, අනිවාර්යයෙන්ම AI පාවිච්චි නොකරන මනුස්සයෙක්ව Replace කරයි!"
ඒ නිසා බය වෙවී ඉන්නේ නැතුව, වෙනදාටත් වඩා ආසාවෙන් තාක්ෂණය ඉගෙන ගන්න. අපිත් එක්ක එකතු වෙලා මේ අලුත් AI විප්ලවයත් එක්ක ඉස්සරහට යමු. 🚀
ඔයා මොකද හිතන්නේ? AI ගැන ඔයාගේ අදහස, නැත්නම් ඔයාට ආපු අත්දැකීම් පහළින් Comment කරන්න අමතක කරන්න එපා! 👇
Written by Kaweesha Madushan | KP Tech Gear
Discussion