(၁) လမ္းေ႐ြးပါ
Programmer လုပ္ေတာ့မယ္ဆိုရင္ ေ႐ြးခ်ယ္စရာ လမ္းေတြ အမ်ားႀကီးရွိပါတယ္။
Web Development အပိုင္းကို သြားမလား၊ ဒါမွမဟုတ္ Mobile Application Development ကိုသြားမလား၊ ဒါမွမဟုတ္ Machine Learning, AI စသည္ျဖင့္ သြားမလား၊ Desktop Application ေတြေရးမွာလား စသည္ျဖင့္ လမ္းေပါင္းစုံရွိပါတယ္။ တစ္ခုခုကို ေ႐ြးၿပီးၿပီဆိုရင္ေတာ့ အဆုံးအထိေလွ်ာက္ဖို႔ လိုတာ ျဖစ္တဲ့အတြက္ စကတည္းက ကိုယ့္ဝါသနာနဲ႔ ကိုက္ညီတာကိုေ႐ြးဖို႔ လိုပါတယ္။
(၂) အဆုံးအထိေလွ်ာက္ပါ
အဲဒီလို ေ႐ြးၿပီးၿပီဆိုရင္ေတာ့ အဆုံးအထိေလွ်ာက္ဖို႔ လိုပါတယ္။ အဆုံးဆိုတာ ဘယ္လိုမ်ိဳးလဲ၊ ကြၽန္ေတာ္တို႔ Development ေတြ လုပ္တဲ့အခါ Design Pattern ေတြဆိုတာ ရွိပါတယ္။ အဲဒါေတြကို လက္ေတြ႕လုပ္ငန္းခြင္မွာ တစ္သားတည္းက်ေအာင္ သုံးႏိုင္တဲ့အဆင့္ကို ဆိုလိုပါတယ္။ အဲဒီလို အဆင့္ကိုေရာက္သြားရင္ေတာ့ ငလုံးလဖယ္ ထန္းပင္ေတြကို ကူးၿပီး ထန္းသီးခူးသလို အပင္ေအာက္ ျပန္ဆင္းၿပီး တက္စရာမလိုပဲ တစ္ပင္နဲ႔ တစ္ပင္ ခုန္ကူးလို႔ ရသြားေစပါတယ္။ ကိုယ္က PHP နဲ႔ Web Development အပိုင္းမွာ Apply Design Pattern အထိ ေရာက္ထားရင္ Kotlin နဲ႔ Android ေရးတဲ့ ခ်ဥ္းကပ္ရလြယ္သြားေစပါတယ္။ အရင္ PHP မွာလို အခ်ိန္အမ်ားႀကီး ေပးစရာ မလိုေတာ့ပါဘူး။
(၃) အခ်ိန္ေပးပါ
Programmer ဆိုတာ ဥဳံဖြဆိုၿပီး ျဖစ္မလာပါဘူး။ အခ်ိန္အတိုင္းအတာ တစ္ခုအထိ ေပးရပါတယ္။ အထိေရာက္ဆုံး လမ္းေၾကာင္းတစ္ခုနဲ႔ အျပင္းထန္ဆုံး ႀကိဳးစားၿပီး ေလ့လာမယ္ဆိုရင္ေတာင္ အနည္းဆုံး သုံးေလးႏွစ္ကေန ငါးႏွစ္အထိ အခ်ိန္ေပးရပါတယ္။ ဒါေတာင္ ေလ်ာ့ေျပာထားတာပါ။ အဲဒီေလာက္ အခ်ိန္ေပးရမွာကို သုံးလေလာက္ လုပ္ၿပီး ငါးႀကီးဖမ္းခ်င္လို႔ မျဖစ္ႏိုင္ပါဘူး။
(၄) ခြက္တစ္လုံးေဆာင္ပါ
ပညာရွာပမာ သူဖုန္းစားဆိုတဲ့ စကားရွိပါတယ္။ ပညာရွာမယ္ဆိုရင္ သူေတာင္းစားလို႔ ရွာရမယ္လို႔ ဆိုလိုပါတယ္။ အဲဒီအတြက္ ခြက္တစ္လုံးလိုပါတယ္။ ထိေရာက္တဲ့ ဥပမာေပးတာျဖစ္တဲ့အတြက္ ဒီဥပမာပဲ ေခါင္းထဲေပၚပါတယ္။ ကြၽန္ေတာ္တို႔ အြန္လိုင္းေပၚမွာ သူမ်ားေတြ ေရးထားတဲ့ Resource ေတြကို ေလ့လာတဲ့အခါ တစ္ခုၿပီး တစ္ခု အစအဆုံး လိုက္လုပ္ၾကည့္လိုက္ ၿပီးရင္ ေနာက္တစ္ခု အစအဆုံး လိုက္လုပ္ၾကည့္လိုက္နဲ႔ ေလ့လာေနမယ္ဆိုရင္ အက်ိဳးမရွိဘူးလားဆိုေတာ့ ရွိပါတယ္။ ဒါေပမယ့္ ခြက္မရွိပဲ သြားေတာင္းေနသလို ရလာတာေတြ အဖတ္မတင္ ျဖစ္တတ္ပါတယ္။ အဲဒီအတြက္ ခြက္တစ္လုံးနဲ႔တူတဲ့ ကိုယ္တည္ေဆာက္ခ်င္တဲ့ Business Logic ကို အေျခခံထားဖို႔ လိုပါတယ္။ ကြၽန္ေတာ္တို႔ Framework ေတြဆိုတာ အဲဒီလို ခြက္ေတြနဲ႔ တူပါတယ္။ ေဒၚလာသိန္းခ်ီေသာင္းခ်ီ ေတာင္းႏိုင္ဖို႔ ခြက္ေတြ ဖန္တီးထားၾကတာ ျဖစ္ပါတယ္။ ကိုယ္ပိုင္ ခြက္တစ္လုံး တည္ေဆာက္ဖို႔ ခက္ေနရင္ ဆရာေကာင္း သမားေကာင္းနဲ႔ ခ်ဥ္းကပ္ၿပီး ေတာင္းနည္း သင္တာ အထိေရာက္ဆုံး ျဖစ္ပါလိမ့္မယ္။
(၅) ဗ်ာမ်ားမေနနဲ႔ စသာစ၊ ၿပီးေအာင္လုပ္
ရဲရဲတင္းတင္း အစျပဳခ်င္းကလဲ အင္မတန္အေရးပါပါတယ္။ ဟိုဟာရမွာလား၊ ဒီဟာရမွာလား၊ ေငြ ဘယ္ေလာက္ရမွာလဲ၊ ဘယ္သူေတြက ဘာေတြ ေျပာေနလဲ၊ ဟိုလူက ဟိုဟာေတြ ဘာေတြ လုပ္ေနတာလဲ၊ ငါဒါေတြ လုပ္ေနရင္ သူတို႔က ဘာေတြေျပာမွာလဲ စသည္ျဖင့္ ဗ်ာမ်ားေနၿပီး မစျဖစ္ရင္ ခရီးလဲေရာက္မွာ မဟုတ္ပါဘူး။ စခ်င္တဲ့ေနရာက စလိုက္ပါ ၿပီးရင္ ၿပီးဆုံးေအာင္ လုပ္ဖို႔လဲလိုပါတယ္။ ကြၽန္ေတာ္ တပည့္ေတြကို ေျပာေလ့ရွိတဲ့ အဆင့္ေတြရွိပါတယ္။ အဆင့္ (၁) ဗ်ာမ်ားေနတဲ့အဆင့္ဆိုရင္ Programmer တစ္ေယာက္ ဗိုက္ထဲေတာင္ မေရာက္ေသးဘူး၊ အဆင့္ (၂) ေလ့လာရမွာ မေၾကာက္ေတာ့တဲ့အဆင့္ဆိုရင္ အႏူျဖစ္ၿပီ၊ အဆင့္ (၃) Project တစ္ခုေလာက္ ၿပီးေအာင္ ေရးႏိုင္ၿပီဆိုရင္ အႏူေတာမွာ လူေခ်ာျဖစ္ၿပီ၊ အဆင့္ (၄) Project နဲ႔ ပိုက္ဆံ စရွာႏိုင္ၿပီဆိုရင္ေတာ့ လူျဖစ္ပါၿပီ။ အဆင့္ (၅) ကုဒ္ေရးတာကို သူေဌးျဖစ္ အသုံးခ်ႏိုင္ၿပီဆိုမွ တကယ့္ လူေခ်ာျဖစ္မွာပါလို႔။
(၆) ကိုယ္တတ္ႏိုင္သေလာက္ ခပ္ေသးေသးက စပါ
တစ္ခ်ိဳ႕ တပည့္ေတြ သူတို႔ေရးခ်င္တဲ့ Project အေၾကာင္းေတြ လာေျပာဖူးတာ ရွိပါတယ္။ သူတို႔ စဥ္းစားထားတာတင္ စာမ်က္ႏွာ ၁၀၀ နီးပါးရွိပါတယ္။ ေသခ်ာပါတယ္ အဲဒါဆိုရင္ ဘယ္ေတာ့မွ Project ၿပီးမွာ မဟုတ္ေတာ့ပါဘူး။ ကိုယ္က အခုမွ စကုဒ္မွာ တစ္ရာဖိုးေတာင္ မရွိေသးဘူး၊ တစ္သိန္းဖိုး ဟင္းပြဲႏႈိက္သလို ျဖစ္ေနပါတယ္။ သိပ္ေသးလြန္းတာနဲ႔လဲ မစပါနဲ႔၊ ဥပမာ – Android App တစ္ခု ေရးတယ္ဆိုပါစို႔၊ Button တစ္ခုထည့္မယ္၊ ေအာက္မွာ ကြၽန္ေတာ့္ကို ဖုန္းေခၚပါဆိုၿပီး ႏွိပ္လိုက္ရင္ ဖုန္းဝင္သြားတာေလာက္ Project ေသးေသးေလးေတြနဲ႔ မစဖို႔ပါ။ တကယ္ စသင့္တဲ့ အေနအထားက စြန႔္စားမႈလဲ ရွိရမယ္၊ စိန္ေခၚမႈကိုလဲ တြက္ဆႏိုင္ရမယ္၊ အေျဖကိုလဲ ရွာႏိုင္မယ့္အေနအထားနဲ႔ စဖို႔ လိုပါတယ္။
(၇) Programming ဆိုတာ အကုန္သိမွ စရတာ မဟုတ္ပါဘူး
ဒါလဲ ကြၽန္ေတာ္တို႔ အဂၤလိပ္စကားေျပာသလိုမ်ိဳးပါပဲ။ အဂၤလိပ္တစ္ေယာက္လိုသိမွ ေလ့လာၿပီးမွ အဂၤလိပ္စကား ေျပာမယ္ဆိုရင္ ဒီတစ္သက္မလြယ္ပါဘူး။ Computer Programming ဆိုတာလဲ အဲဒီလိုပါပဲ၊ တုတ္ထိုးအိုးေပါက္ အစအဆုံးသိမွ Application ေရးႏိုင္တာ မဟုတ္ပါဘူး။ ျပႆနာရွိရင္ အေျဖရွာလို႔ လြယ္တဲ့ အင္တာနက္ေခတ္ႀကီးမွာ သိခ်င္ရခ်င္လာဖို႔ပဲ လိုပါတယ္။
Credit : Thiha Tech
UNICODE
"လူငယ်တွေအနေနဲ့ Programmer တစ်ယောက်အဖြစ်ရပ်တည်တော့မယ်ဆိုရင်"
(၁) လမ်းရွေးပါ
Programmer လုပ်တော့မယ်ဆိုရင် ရွေးချယ်စရာ လမ်းတွေ အများကြီးရှိပါတယ်။ Web Development အပိုင်းကို သွားမလား၊ ဒါမှမဟုတ် Mobile Application Development ကိုသွားမလား၊ ဒါမှမဟုတ် Machine Learning, AI စသည်ဖြင့် သွားမလား၊ Desktop Application တွေရေးမှာလား စသည်ဖြင့် လမ်းပေါင်းစုံရှိပါတယ်။ တစ်ခုခုကို ရွေးပြီးပြီဆိုရင်တော့ အဆုံးအထိလျှောက်ဖို့ လိုတာ ဖြစ်တဲ့အတွက် စကတည်းက ကိုယ့်ဝါသနာနဲ့ ကိုက်ညီတာကိုရွေးဖို့ လိုပါတယ်။
(၂) အဆုံးအထိလျှောက်ပါ
အဲဒီလို ရွေးပြီးပြီဆိုရင်တော့ အဆုံးအထိလျှောက်ဖို့ လိုပါတယ်။ အဆုံးဆိုတာ ဘယ်လိုမျိုးလဲ၊ ကျွန်တော်တို့ Development တွေ လုပ်တဲ့အခါ Design Pattern တွေဆိုတာ ရှိပါတယ်။ အဲဒါတွေကို လက်တွေ့လုပ်ငန်းခွင်မှာ တစ်သားတည်းကျအောင် သုံးနိုင်တဲ့အဆင့်ကို ဆိုလိုပါတယ်။ အဲဒီလို အဆင့်ကိုရောက်သွားရင်တော့ ငလုံးလဖယ် ထန်းပင်တွေကို ကူးပြီး ထန်းသီးခူးသလို အပင်အောက် ပြန်ဆင်းပြီး တက်စရာမလိုပဲ တစ်ပင်နဲ့ တစ်ပင် ခုန်ကူးလို့ ရသွားစေပါတယ်။ ကိုယ်က PHP နဲ့ Web Development အပိုင်းမှာ Apply Design Pattern အထိ ရောက်ထားရင် Kotlin နဲ့ Android ရေးတဲ့ ချဉ်းကပ်ရလွယ်သွားစေပါတယ်။ အရင် PHP မှာလို အချိန်အများကြီး ပေးစရာ မလိုတော့ပါဘူး။
(၃) အချိန်ပေးပါ
Programmer ဆိုတာ ဥုံဖွဆိုပြီး ဖြစ်မလာပါဘူး။ အချိန်အတိုင်းအတာ တစ်ခုအထိ ပေးရပါတယ်။ အထိရောက်ဆုံး လမ်းကြောင်းတစ်ခုနဲ့ အပြင်းထန်ဆုံး ကြိုးစားပြီး လေ့လာမယ်ဆိုရင်တောင် အနည်းဆုံး သုံးလေးနှစ်ကနေ ငါးနှစ်အထိ အချိန်ပေးရပါတယ်။ ဒါတောင် လျော့ပြောထားတာပါ။ အဲဒီလောက် အချိန်ပေးရမှာကို သုံးလလောက် လုပ်ပြီး ငါးကြီးဖမ်းချင်လို့ မဖြစ်နိုင်ပါဘူး။
(၄) ခွက်တစ်လုံးဆောင်ပါ
ပညာရှာပမာ သူဖုန်းစားဆိုတဲ့ စကားရှိပါတယ်။ ပညာရှာမယ်ဆိုရင် သူတောင်းစားလို့ ရှာရမယ်လို့ ဆိုလိုပါတယ်။ အဲဒီအတွက် ခွက်တစ်လုံးလိုပါတယ်။ ထိရောက်တဲ့ ဥပမာပေးတာဖြစ်တဲ့အတွက် ဒီဥပမာပဲ ခေါင်းထဲပေါ်ပါတယ်။ ကျွန်တော်တို့ အွန်လိုင်းပေါ်မှာ သူများတွေ ရေးထားတဲ့ Resource တွေကို လေ့လာတဲ့အခါ တစ်ခုပြီး တစ်ခု အစအဆုံး လိုက်လုပ်ကြည့်လိုက် ပြီးရင် နောက်တစ်ခု အစအဆုံး လိုက်လုပ်ကြည့်လိုက်နဲ့ လေ့လာနေမယ်ဆိုရင် အကျိုးမရှိဘူးလားဆိုတော့ ရှိပါတယ်။ ဒါပေမယ့် ခွက်မရှိပဲ သွားတောင်းနေသလို ရလာတာတွေ အဖတ်မတင် ဖြစ်တတ်ပါတယ်။ အဲဒီအတွက် ခွက်တစ်လုံးနဲ့တူတဲ့ ကိုယ်တည်ဆောက်ချင်တဲ့ Business Logic ကို အခြေခံထားဖို့ လိုပါတယ်။ ကျွန်တော်တို့ Framework တွေဆိုတာ အဲဒီလို ခွက်တွေနဲ့ တူပါတယ်။ ဒေါ်လာသိန်းချီသောင်းချီ တောင်းနိုင်ဖို့ ခွက်တွေ ဖန်တီးထားကြတာ ဖြစ်ပါတယ်။ ကိုယ်ပိုင် ခွက်တစ်လုံး တည်ဆောက်ဖို့ ခက်နေရင် ဆရာကောင်း သမားကောင်းနဲ့ ချဉ်းကပ်ပြီး တောင်းနည်း သင်တာ အထိရောက်ဆုံး ဖြစ်ပါလိမ့်မယ်။
(၅) ဗျာများမနေနဲ့ စသာစ၊ ပြီးအောင်လုပ်
ရဲရဲတင်းတင်း အစပြုချင်းကလဲ အင်မတန်အရေးပါပါတယ်။ ဟိုဟာရမှာလား၊ ဒီဟာရမှာလား၊ ငွေ ဘယ်လောက်ရမှာလဲ၊ ဘယ်သူတွေက ဘာတွေ ပြောနေလဲ၊ ဟိုလူက ဟိုဟာတွေ ဘာတွေ လုပ်နေတာလဲ၊ ငါဒါတွေ လုပ်နေရင် သူတို့က ဘာတွေပြောမှာလဲ စသည်ဖြင့် ဗျာများနေပြီး မစဖြစ်ရင် ခရီးလဲရောက်မှာ မဟုတ်ပါဘူး။ စချင်တဲ့နေရာက စလိုက်ပါ ပြီးရင် ပြီးဆုံးအောင် လုပ်ဖို့လဲလိုပါတယ်။ ကျွန်တော် တပည့်တွေကို ပြောလေ့ရှိတဲ့ အဆင့်တွေရှိပါတယ်။ အဆင့် (၁) ဗျာများနေတဲ့အဆင့်ဆိုရင် Programmer တစ်ယောက် ဗိုက်ထဲတောင် မရောက်သေးဘူး၊ အဆင့် (၂) လေ့လာရမှာ မကြောက်တော့တဲ့အဆင့်ဆိုရင် အနူဖြစ်ပြီ၊ အဆင့် (၃) Project တစ်ခုလောက် ပြီးအောင် ရေးနိုင်ပြီဆိုရင် အနူတောမှာ လူချောဖြစ်ပြီ၊ အဆင့် (၄) Project နဲ့ ပိုက်ဆံ စရှာနိုင်ပြီဆိုရင်တော့ လူဖြစ်ပါပြီ။ အဆင့် (၅) ကုဒ်ရေးတာကို သူဌေးဖြစ် အသုံးချနိုင်ပြီဆိုမှ တကယ့် လူချောဖြစ်မှာပါလို့။
(၆) ကိုယ်တတ်နိုင်သလောက် ခပ်သေးသေးက စပါ
တစ်ချို့ တပည့်တွေ သူတို့ရေးချင်တဲ့ Project အကြောင်းတွေ လာပြောဖူးတာ ရှိပါတယ်။ သူတို့ စဉ်းစားထားတာတင် စာမျက်နှာ ၁၀၀ နီးပါးရှိပါတယ်။ သေချာပါတယ် အဲဒါဆိုရင် ဘယ်တော့မှ Project ပြီးမှာ မဟုတ်တော့ပါဘူး။ ကိုယ်က အခုမှ စကုဒ်မှာ တစ်ရာဖိုးတောင် မရှိသေးဘူး၊ တစ်သိန်းဖိုး ဟင်းပွဲနှိုက်သလို ဖြစ်နေပါတယ်။ သိပ်သေးလွန်းတာနဲ့လဲ မစပါနဲ့၊ ဥပမာ – Android App တစ်ခု ရေးတယ်ဆိုပါစို့၊ Button တစ်ခုထည့်မယ်၊ အောက်မှာ ကျွန်တော့်ကို ဖုန်းခေါ်ပါဆိုပြီး နှိပ်လိုက်ရင် ဖုန်းဝင်သွားတာလောက် Project သေးသေးလေးတွေနဲ့ မစဖို့ပါ။ တကယ် စသင့်တဲ့ အနေအထားက စွန့်စားမှုလဲ ရှိရမယ်၊ စိန်ခေါ်မှုကိုလဲ တွက်ဆနိုင်ရမယ်၊ အဖြေကိုလဲ ရှာနိုင်မယ့်အနေအထားနဲ့ စဖို့ လိုပါတယ်။
(၇) Programming ဆိုတာ အကုန်သိမှ စရတာ မဟုတ်ပါဘူး
ဒါလဲ ကျွန်တော်တို့ အင်္ဂလိပ်စကားပြောသလိုမျိုးပါပဲ။ အင်္ဂလိပ်တစ်ယောက်လိုသိမှ လေ့လာပြီးမှ အင်္ဂလိပ်စကား ပြောမယ်ဆိုရင် ဒီတစ်သက်မလွယ်ပါဘူး။ Computer Programming ဆိုတာလဲ အဲဒီလိုပါပဲ၊ တုတ်ထိုးအိုးပေါက် အစအဆုံးသိမှ Application ရေးနိုင်တာ မဟုတ်ပါဘူး။ ပြဿနာရှိရင် အဖြေရှာလို့ လွယ်တဲ့ အင်တာနက်ခေတ်ကြီးမှာ သိချင်ရချင်လာဖို့ပဲ လိုပါတယ်။
Credit : Thiha Tech