Technical Debt එක නිසා ඔයා පීඩනයෙන්ද? මේක ඔයාගේ හිතට බලපාන්නේ මෙහෙමයි!
Software පැත්තේ ඉන්න අපිට මේ Technical Debt කියන වචනය අලුත් දෙයක් නෙවෙයිනේ. හැබැයි අපි ගොඩක් වෙලාවට හිතන්නේ මේක code එකේ තියෙන අවුලක්, එහෙමත් නැත්නම් documentation නැති එක වගේ ප්රශ්නයක් විතරයි කියලා. මූල්යමය ණයකට පොලිය ගෙවනවා වගේම, මේ තාක්ෂණික ණයටත් අපිට "මානසික පොලියක්" ගෙවන්න වෙනවා! ඇත්තටම මේක අපේ හිතට ලොකු බරක් දෙන පීඩනයක් කිව්වොත් හරි.
අද අපි මේ ගැන ටිකක් විස්තරාත්මකව කතා කරමු. අද අපි කරන "පොඩි පොඩි හොර වැඩ" හෙට අපේ හිතට කොහොම බලපායිද කියලා අපි බලමුද?
1. පරණ අවුල් නිසා මොළයට දැනෙන විඩාව (The Hidden Cognitive Load) 🧩
ඔයා හරිම පිරිසිදු, ලස්සනට හදපු තැනක වැඩ කරනවා නම් ඔයාගේ හිතට හරිම නිදහස්! එතකොට ඔයාට පුළුවන් ඔයාගේ සම්පූර්ණ අවධානය අලුත් වැඩේට විතරක් දෙන්න. හැබැයි Technical Debt එක වැඩි තැනක වැඩ කරද්දී ඔයාගේ මොළයට අනවශ්ය වෙහෙසක් දැනෙනවා. ඒ ඇයි කියලා බලමු:
- මතක් කරගන්න යන වෙහෙස (Context Switching): "ඇයි මම එදා මේක මෙහෙම කළේ?", "මේ variable එක මෙතනට දැම්මේ ඇයි?" වගේ දේවල් මතක් කරගන්න හදනකොටම ඔයාගේ මොළය ගොඩක් වෙහෙස වෙනවා. අලුත් දෙයක් හිතන්න ඉඩක් ඉතිරි වෙන්නේ නැහැ! හරියට පරණ බඩු ගොඩක් අස්සේ අලුත් දෙයක් හොයනවා වගේ වැඩක්.
- බිය සහ සැකය (Fear of Breaking Things): "මම මෙතන පොඩි semicolon එකක් වෙනස් කළොත් තව කොහේ හරි තියෙන සම්බන්ධයක් නැති module එකක් බිඳ වැටෙයිද?" කියන බය නිතරම හිතේ තියෙනවා. මේ නිසා හැම code එකක්ම deploy කරද්දී ලොකු ගැස්මක් දැනෙනවා. මේකෙන් ඔයාගේ "Flow State" එක සම්පූර්ණයෙන්ම නැති වෙලා යනවා.
- Code කියවීමේ අපහසුව (Readability Tax): කිසිම පිළිවෙළක් නැති code අස්සේ අතරමං වෙලා ඒවා කියවන්න යනකොට ලොකු විඩාවක් දැනෙනවා. එක පුංචි bug එකක් හොයන්න පැය ගණනාවක් ගත වෙනවා. මේකෙන් ඔයාගේ වැඩ කරන වේගයත් ගොඩක් අඩු වෙනවා!
මේ විදියට දවස පුරාම ඔළුව වෙහෙසනකොට, හවස වෙද්දී ඔයාට කිසිම අලුත් දෙයක් හිතන්න බැරි තරමටම මහන්සියක් දැනේවි. මේකට තමයි අපි Decision Fatigue කියලා කියන්නේ.
2. ඉක්මන් විසඳුම් නිසා හිතට දැනෙන අමාරුව (Developer Guilt & Dissonance) 🎭
සමහර වෙලාවට "දැන්ම මේ වැඩේ ඉවර කරන්න ඕනේ" කියන පීඩනය නිසා අපි හොඳම විසඳුම වෙනුවට ඉක්මන් විසඳුමක් (Quick & Dirty fix) තෝරා ගන්නවා. ඒ වෙලාවට වැඩේ ඉවර වුණත්, අපේ හිතට ඒ ගැන ලොකු සතුටක් දැනෙන්නේ නැහැ.
- සිතුවිලි අතර ගැටුම (Cognitive Dissonance): ඔයා දන්නවා මේ වැඩේ නියම විදියට කරන්නේ කොහොමද කියලා. ඒත් ඔයාට සිද්ධ වෙනවා ඒක බාල විදියට කරන්න. මේක ඔයාගේ වෘත්තීය ආත්ම අභිමානයට ලොකු පහරක්. "මම දන්නවා මේක වැරදියි කියලා, ඒත් මට කරන්න වෙනවා" කියන හැඟීම හිතට ලොකු වරදකාරී හැඟීමක් ගේනවා.
- තමන් ගැන සැක කිරීම (Imposter Syndrome): "මම ඇත්තටම දක්ෂ කෙනෙක් නෙවෙයිද?" "මම ලියන්නේ බාල කේතද?" කියලා හිතෙන්න ගන්නවා. කාලයක් යද්දී මේ දේ නිසා තමන් කරන රැකියාව ගැන තිබුණ ආසාව පවා නැති වෙලා යන්න පුළුවන්! ඔයා ඔයාගේම වැඩ ගැන කලකිරෙන්න පටන් ගන්නවා.
- අනාගතයට දෙන දඬුවම: අද ඔයා දාන "Band-aid" එක හෙට ඔයාටම (නැත්නම් වෙනත් යාළුවෙක්ට) ලොකු කරදරයක් වෙන බව දැන දැනම කරන එක හිතට ලොකු පීඩනයක්.
3. "කැඩුණු ජනේලය" සහ වැඩේ එපා වීම (The Broken Window Effect) 🏠
මනෝවිද්යාවේ එක කතාවක් තියෙනවා, එක ජනේලයක් කැඩිලා තිබුණොත් ඒක හදන්නේ නැතිව ඉන්නකොට අනිත් ජනේලත් කැඩෙන්න තියෙන ඉඩ වැඩියි කියලා. Coding වලටත් මේක එහෙමමයි:
As an event approaches, it is worth considering how details related to cosplay accessories will affect the complete look. With practical wear in mind, it is sensible to balance details related to heat resistant cosplay wigs with care and storage needs. For combinations connected with details related to heat resistant cosplay wigs, character costumes for game fans offers a useful starting point for practical preparation. For an outfit that feels convincing, it is useful to check details related to long cosplay wigs against the wearer's own needs.
- වැඩේ අතහැර දැමීම: code එක දැනටමත් අවුල් ජාලයක් නම්, ඒක ලස්සනට තියාගන්න අපිට හිතෙන්නේ නැහැ. "දැනටමත් ඔක්කොම අවුල් වෙලානේ තියෙන්නේ, මම විතරක් ඇයි මහන්සි වෙන්නේ?" කියලා හිතෙන්න ගන්නවා. මේකෙන් මුළු ප්රොජෙක්ට් එකේම quality එක වේගයෙන් පහළ යනවා.
- සතුට නැති වීම (Developer Cynicism): අන්තිමට ඔයා වැඩ කරන්නේ හරිම අකමැත්තෙන්. අලුත් දෙයක් කරන්න තියෙන උනන්දුව නැති වෙලා, නිකම්ම "වැඩේ ඉවර කළා" කියලා හිත හදාගන්න මට්ටමට වැටෙනවා. "මොනවා හරි කමක් නෑ, වැඩේ වෙනවා නම් එච්චරයි" කියන හැඟීම හරිම භයානක තත්ත්වයක්!
- කණ්ඩායම් හැඟීම බිඳ වැටීම: අලුතෙන් team එකට එන කෙනෙක් මේ අවුල් දකිද්දී ඔහුටත් වැඩේ එපා වෙලා ඉක්මනින්ම ජොබ් එකෙන් අයින් වෙන්න බලනවා. මේකෙන් මුළු office එකේම "vibe" එක නැති වෙනවා.
4. මේකෙන් ගොඩ එන්නේ කොහොමද? මෙන්න විසඳුම්! 🚀
Technical Debt කළමනාකරණය කරනවා කියන්නේ ඔයාගේ හිතට නිදහසක් දෙන එකයි. මෙන්න ඒකට ඔයාට කරන්න පුළුවන් දේවල් කිහිපයක්:
- පැහැදිලිව කතා කරන්න (Communication is Key): ඔයාගේ මැනේජර් එක්ක කතා කරද්දී "මේ code එක අවුල්" කියලා විතරක් කියන්නේ නැතිව, "මේ පරණ ප්රශ්න නිසා අපේ වැඩ ගොඩක් පරක්කු වෙනවා, ඒ වගේම මේක අපිට ලොකු මානසික පීඩනයක්" කියලා ආදරෙන් පැහැදිලි කරන්න. ව්යාපාරික පැත්තෙන් මේක "Risk" එකක් විදියට පෙන්වන්න.
- පිරිසිදු කරන්න අමතක කරන්න එපා (The Scout Rule): ඔයා මොනවා හරි කෑල්ලක් වෙනස් කරනවා නම්, ඒක තිබුණට වඩා ටිකක් හරි පිළිවෙළට හදලා එන්න! variable නමක් හරි ලස්සනට දාන එක, අනවශ්ය code කෑල්ලක් අයින් කරන එක හරිම වටිනවා. "Leave the code better than you found it."
- පොඩි පියවරෙන් පටන් ගන්න (Incremental Refactoring): ඔක්කොම එක පාර හදන්න යන්න එපා. වැඩියෙන්ම කරදර දෙන තැන් ටික හඳුනාගෙන (Highest Interest Debt) ඒවා හෙමින් හෙමින් හදන්න. සතියකට එක පොඩි refactoring එකක් කරන්න ඉලක්ක කරගන්න.
- විවේකයක් ගන්න (Maintenance Sprints): ඔයාගේ ශරීරයට වගේම code එකටත් විවේකයක් ඕනේ! සති කිහිපයකට වරක්වත් පරණ අවුල් ටික පිරිසිදු කරන්න (Refactoring session) කාලය වෙන් කරගන්න. මේකෙන් team එකේ මානසික නිදහස පුදුම විදියට වැඩි වෙනවා.
- Acountability Tools පාවිච්චි කරන්න: ඔයා දකින හැම Technical Debt එකක්ම Notion වගේ තැනක list කරගන්න. එතකොට ඒක ඔළුවේ තියාගෙන ඉන්න ඕනේ නෑ. ඒක "External Brain" එකකට දාන එකෙන්ම ඔළුවට නිදහසක් දැනේවි.
සතියේ සිතුවිල්ල (Reflection) 💡
ඔයා දැනට කරන වැඩේ ගැන පොඩ්ඩක් හිතලා බලන්න. ඔයා වැඩ කරන්න වැඩියෙන්ම අකමැති තැන මොකක්ද? අන්න ඒක තමයි ඔයාගේ හිතට වැඩියෙන්ම වද දෙන තැන! ඔයාගේ මානසික නිදහස වෙනුවෙන් අද ඒ කොටසේ කරන්න පුළුවන් ඉතාම පුංචි වෙනස මොකක්ද? අන්න ඒ පොඩි පියවරෙන් අදම පටන් ගන්න! මතක තියාගන්න, ඔයාගේ හිත නිදහස් නම් විතරයි ඔයාට හොඳ නිර්මාණයක් කරන්න පුළුවන්.