မြန်ဆန်သည့် နည်းပညာ ပြောင်းလဲမှုများ

saturngod
3 min readOct 29, 2022
Photo by Marc-Olivier Jodoin on Unsplash

မှတ်မှတ်ရရ ROR က စတာပဲ ထင်တယ်။​ ရန်ကုန်မှာ ROR 2 ကို လေ့လာနေတုန်း ROR 3 က ထွက်လာကော။ ROR 2 နဲ့ လုပ်ထားတာတွေ သုံးမရတာ နဲ့ ROR ကို မသုံးဖြစ်တော့တာ အခု အချိန်ထိပဲ။ ဒါနဲ့ ပိုပြီး stable ဖြစ်ပြီး ပြောင်းလဲမှု မမြန်သည့် PHP ကို လေ့လာဖြစ်သွားတယ်။

တချိန်ကတော့ ပြောင်းလဲမှုတွေ မြန်ဆန်တာ အန္တရာယ် အရမ်းများတယ်။ Risk ကြီးတယ် လို့ သတ်မှတ်ထားခဲ့ကြတာ။​ အခု အချိန်မှာတော့ တကယ့်ကို ရယ်စရာ ဖြစ်နေတာပဲ။

မြန်ဆန်သည့် ပြောင်းလဲမှု

NextJS က ၂၀၁၆ မှ စခဲ့တာ အခုအချိန်ဆိုရင် ၆ နှစ်ပဲ ရှိအုံးမယ်။ ဒါပေမယ့် အခုတလောကပဲ version 13 ထွက်သွားပြီ။

React လည်း ထွက်သည့် version changes တွေ နဲ့ ပြောင်းလဲမှု တွေကြောင့် မလိုက်နိုင်ဘူး ဖြစ်ခဲ့တယ်။ နောက်ပိုင်း React Team က သဘောပေါက်ပြီး document တွေကို up to date ပြန်လုပ်ပေး သပ်သပ်ရပ်ရပ် ပြန်ခွဲပေး လုပ်ပြီး မှ လေ့လာရလွယ်တော့တယ်။

ပြဿနာက version changes တွေ ဖြစ်သွားပေမယ့် နောက်က document တွေ က လိုက်ပြီး update မဖြစ်ဘူး။

Laravel ကတော့ အစပိုင်း ဖြစ်ပေမယ့် နောက်ပိုင်းမှာ document အတိုင်းလုပ်မရတာ သုံးမရတာတွေ ရှိလာတာပဲ။ အထူးသဖြင့် broadcast ကို laravel နဲ့ ရေးတုန်းက document အတိုင်း follow လုပ်ပေမယ့် မရဘူး။​ အခြား တစ်ယောက် blog မှာ ရေးထားသည့် အတိုင်း လုပ်မှပဲ ရခဲ့တာကို အမှတ်တရပဲ။

Version changes တွေ တိုင်းမှာ upgrade guide က အရှုပ်ဆုံးနဲ့ မလွယ်ဆုံးပဲ။ Angular ကဆို upgrade တောင် လုပ်မရတော့လို့ project တစ်ခုလုံး ပစ်ထားခဲ့လိုက်ရတာတွေ ရှိတယ်။

Package Manager များ

langauge တိုင်းမှာ package manager တွေ ရှိလာသည့် အခါမှာ အဓိက ပြဿနာက dependency ပဲ။​ Package တွေက တစ်ခုနဲ့ တစ်ခု မှီခိုနေပြီးတော့ version changes ဖြစ်တိုင်း လိုက်ပြီး update မလုပ်နိုင်ရင် package တစ်ခုလုံး သုံးမရတာတွေ နောက်ပြီး package ၂ ခု က dependency package အတူတူ သုံးထားပြီး version မတူရင် သုံးချင်ပေမယ့် သုံးမရသည့် ပြဿနာတွေကလည်း ခဏခဏ ပါပဲ။

ဒီပြဿနာတွေကို သိပေမယ့် ဖြေရှင်းဖို့ ကတော့ မလွယ်ဘူး။ Package တွေက အများအားဖြင့် opensource ဖြစ်ပြီး ဝင်ငွေမရသည့် အတွက် ရှေရှည် maintain လုပ်နိုင်ဖို့ မလွယ်လှပါဘူး။

သိုးသွားသည့် အဖြေများ

အရင်က stackoverflow က အဖြေတွေအတိုင်း လိုက်လုပ်ရင် ရပေမယ့် အခုခေတ်က ၂ နှစ်လောက်ကြာသွားသည့် အခါ အသုံးမဝင်တော့တာတွေ ဖြစ်ကုန်တာပဲ။ သူပြောထားသည့် အဖြေက လက်ရှိ version မှာ ရေးမရတာတွေ ခဏခဏ ကြုံရတယ်။

iOS မှာဆိုလည်း Objective-C နဲ့ ဖြေထားသည့် အဖြေတွေ က သိပ်ပြီး အသုံးမဝင်လှပေမယ့် Swift 5 အတွက် အသုံးသည့်အောင် ပြန်ပြင်ရေးရင်တော့ ရနိုင်တာတွေ ရှိပါသေးတယ်။

Human Resource ပြဿနာ

Dictionary ကို လှန်လိုက်ပြီးတွေ့သည့် စာလုံးကို နောက်မှာ js framework လို့ရိုက်ထည့်ရင်တောင် အဲဒီ framework က ရှိထားပြီးသား ဆိုသည့် ခေတ်ကို ရောက်နေပါပြီ။

Trending နောက်ကို လိုက်မယ်ဆိုရင်လည်း မလွယ်သလို popular ဖြစ်သည့် framework တွေလည်း နှစ်စဥ်ပြောင်းလဲနေတယ်။ အရင်က express js အခု nest js ကို လူသုံးများလာပြီ။​ ကြားထဲမှာ sail js လိုမျိုး framework တွေ meteor လိုမျိုး framework တွေလည်း လူတွေ သုံးကြသေးတယ်။

ပြဿနာ လူအသစ်ပြန်ခေါ်တိုင်း အစကနေ ပြန်လေ့လာဖို့ အချိန်တွေ ပေးပေးနေရခြင်းပဲ။ Express ပဲသိတယ် Nest မသိဘူး။​ ORM ကို prisma ပဲ သုံးဖူးတယ်။ TypeORM မသုံးဖူးဘူး။ အဲလိုမျိုး ပြဿနာတွေ အများကြီး ကြုံရတာပဲ။ Senior တွေလည်း အလုပ်တစ်ခုကနေ နောက်တစ်ခု ပြောင်းဖို့ interview တွေ အတွက် အတော်ကို ပြန်ပြင်ဆင် ရသည့် ခေတ် ဖြစ်နေတာပဲ။

Laravel မှာလည်း version မတူသည့် အခါ သုံးသည့် package တွေ မတူတော့ဘူး။​အခု JWT ကို လူမသုံးတော့ဘူး။ ဒါပေမယ့် အလုပ်ဝင်သည့် အခါမှာ project အဟောင်းဖြစ်နေလို့ JWT ကို ပြန်လေ့လာရတာတွေ ရှိနေဆဲပါ။

Jack of all trades, master of none

Programmer တွေဟာ အလုပ် ခဏ ခဏ ပြောင်းကြသည့် အခါမှာ jack of all trades, master of none တွေ ဖြစ်လာတာပဲ။ အခုခေတ်မှာ master တစ်ခု ဖြစ်ထားပေမယ့် popular ဖြစ်မှုက ရပ်သွားခဲ့ရင် အလုပ်ခိုင်မြဲ မှု အတွက် အန္တရာယ်ရှိပါတယ်။ တစ်ခုခုကို master ဖြစ်ဖို့ နှစ်တွေအများကြီး ပေးဆပ်ရပါတယ်။ ဥပမာ Laravel ကို ကောင်းကောင်းသိဖို့ ၃ နှစ်လောက် အချိန်လိုတယ်။ ဒါပေမယ့် အလုပ်ပြန်ရှာသည့်အခါမှာ laravel ထက် node.js market ဖြစ်နေသည့် အခါမှာ ကိုယ့်အတွက် အလုပ်အကိုင်တွေ ရှားကုန်တာပဲ။

LTS

DotNet Core မှာ LTS ကို ထည့်ထားတာကို သဘောကျမိတယ်။ DotNetCore , Java တွေက changes တွေ က နှေးတယ် ဆိုပေမယ့် အလုပ်အကိုင်အတွက် ပိုခိုင်မာလာတာကို တွေ့ရတယ်။ NodeJS က LTS ထည့်ထားလို့ package တွေက stable တွေ ဖြစ်သွားခဲ့တာ ဆိုရမယ်။ အနည်းဆုံးတော့ ၃ နှစ်လောက် စိတ်ပူစရာ မလိုဘူးပေါ့။

Company ကြီးတွေ နောက်ခံ background ရှိသည့် language တွေဟာ community base လောက် ပြောင်းလဲမှုတွေ မမြန်ပါဘူး။ ဒါပေမယ့် ပြောင်းလဲမှုတွေ ရှိလာခဲ့လည်း အကြီးကြီးကို တစ်ခါတည်း ပြောင်းတာ ဖြစ်လို့ လေ့လာရတာ ပိုအဆင်ပြေနိုင်တယ်။ သို့ပေမယ့်လည်း လေ့လာရတာဟာ community အားကောင်းသည့် language တွေ လာက် ပျော်ဖို့ မကောင်းတာတော့ အမှန်ပါပဲ။ အသစ်အဆန်းတွေလည်း သိပ်ပြီးတော့ မတွေ့ရဘူးပေါ့။

မလိုအပ်ရင် မလေ့လာနဲ့

အခုခေတ်မှာ မလိုအပ်ရင် မလေ့လာတာ ပိုအဆင်ပြေလိမ့်မယ်။​ အလုပ်အတွက် လိုအပ်ပြီလား interview အတွက် လိုအပ်ပြီလား။ အဲဒီ အချိန်မှ အချိန်ပေးပြီး ထဲထဲ​ဝင်ဝင် လေ့လာပါ။ မဟုတ်ရင် version ပြောင်းသည့် နှုန်းနဲ့ ၆လ လောက်နေမှ ပြန်လာရင် အကုန်နီးပါး အသစ်ဖြစ်နေပြီး ပြန်ပြန်လေ့လာနေရတာ ပြီးတော့မှာ မဟုတ်ပါဘူး။

သိထားရင် လုံလောက်ပါပြီ။ အတွင်းအကျ တကယ်လုပ်ဖို့ လိုပြီ ဆိုမှ ထဲထဲ ဝင်ဝင် အချိန်ပေးပြီး လေ့လာသင့်ပါတယ်။

--

--

saturngod

Husband,Father. Love to do Mobile App Developer and running a startup in Yangon, Myanmar. Founder of COMQUAS. Creator of Rabbit Converter.