Saturday, May 30, 2020

Programmer လုပ်တော့မယ်ဆိုရင်




Coding and Development ထဲကို အခုမှစပြီး ဝင်မယ့်သူတွေမှာ အနည်းနဲ့အများ စိုးရိမ်ကြောက်ရွံ့မှုတွေ ရှိတတ်ကြပါတယ်။ အဲဒီလို ကြောက်တာ သဘာဝပါပဲ။ ဒါပေမယ့် အဲဒီလို ကြောက်တာကနေ ဆင်ခြေတွေနဲ့ ကာမပြစ်စေဖို့ လိုအပ်ပါတယ်။ အခုမှ စပြီး ကုဒ်မယ့်သူတွေအနေနဲ့ အနည်းနဲ့အများ ဒီလိုလက္ခဏာတွေ ရှိတတ်ကြပါတယ်။
(၁) စသင်ဖို့ သိပ်ခက်တယ်လို့ ထင်တတ်ကြတယ်
Programming ကို စသင်ဖို့ ခက်တယ်ဆိုတာ Assembly Language လို Low-level Programming Language တွေမှာတော့ ဟုတ်ချင် ဟုတ်ပါလိမ့်မယ်။ ခေတ်ပေါ် Programming Language တိုင်းမှာတော့ အဲဒီလို မဟုတ်တော့ပါဘူး။ သူများနိုင်ငံတွေမှာဆိုရင် ကလေးဘဝကတည်းက Programming ကို သင်ကြရပါတယ်။ ကလေးတွေတောင် သင်နေတာဆိုတော့ လွယ်လို့ပေါ့။ ဒါပေမယ့် အခုမှ သင်မယ့်သူတွေအတွက်တော့ ခက်ကောင်းခက်နေနိုင်ပါတယ်။ အဲဒီလို ဘာကြောင့်ခက်နေလဲဆိုရင် (၁) အာရုံမစိုက်နိုင်တာ (၂) တစ်ခြား နယ်ပယ်တွေနဲ့ ယှဉ်ကြည့်နေတာ (၃) Programming ကို အလွတ်ကျက်ဖို့ ကြိုးစားနေတာ စသည်ဖြင့် ဖြစ်နိုင်ပါတယ်။
(၂) ဆက်တိုက်ချိတ်ဆက် စဉ်းစားတတ်တဲ့ အလေ့အကျင့် နည်းနေတာ
Programming ဆိုတာ ကျက်ထားတဲ့ စာတွေ ပြန်ရွတ်သလို ရေးရတာ မဟုတ်ပါဘူး။ ကွန်ပျူတာကို ခိုင်းမယ့် အစီအစဉ်တွေကို နည်းလမ်းမျိုးစုံသုံးပြီး ရေးကြရပါတယ်။ အဲဒီအတွက် ခေါင်းက တောက်ဝှီး အလုပ်လုပ်နေဖို့ လိုပါတယ်။ စဉ်းစားပြီဆိုတာနဲ့ ခေါင်းတွေ ပူလာတာ၊ စိတ်တွေရှုပ်လာတာ၊ တစ်ခုခုအကြောင်းပြ ထွက်ပြေးချင်တာ စသည်ဖြင့် တွေးဖို့ကြောက်နေရင် Programming ရေးဖို့ ခက်ပါတယ်။ တကယ်တန်း Program ရေးတဲ့သူဟာ စိန်ခေါ်မှုကို လက်ခံရဲတဲ့သူ ဖြစ်ပါတယ်။ ပြဿနာကို စိန်ခေါ်မှုလို့ မြင်တတ်သူ ဖြစ်ပါတယ်။ အဖြေမထွက်မချင်း မရရအောင် စဉ်းစားရေးသား ဖြေရှင်းတတ်ဖို့ လိုအပ်ပါတယ်။
(၃) ယောင်ခြောက်ဆယ်
Programming ဆိုတာ တကယ်ယောင်လို့ ကောင်းပါတယ်။ နယ်ပယ်ကလဲ အများကြီးဆိုတော့ ဟိုဟာလေး တို့စိ တို့စိ၊ ဒီဟာလေး နည်းနည်းနဲ့ လျှောက်လုပ်နေလို့ ရပါတယ်။ အဲဒီမှာ ဟိုဟာလေး နည်းနည်းသိ၊ ဒီဟာလေး နည်းနည်းသိပြီး လူရှေ့သူရှေ့ကြရင် ရွီးလို့ရပါတယ်။ အဲဒါလေးနဲ့ ပျော်နေပြီး Development အပိုင်းမှာ ဘာမှဖြစ်ဖြစ်မြောက်မြောက် မလုပ်နိုင်ပဲ ယောင်ခြောက်ဆယ် ဖြစ်နေတတ်ပါတယ်။
(၄) ဆင်ခြေပေးတာ
တစ်ခုခုကို ခေါင်းပူအောင် လုပ်ရတော့မယ်ဆိုတာနဲ့ ဆင်ခြေလေးတွေ လိုက်ရှာပေးပြီး ရှောင်ထွက်နေတတ်ပါတယ်။ ဆင်ခြေပေးတတ်တဲ့ အလေ့အကျင့်ဟာ မိဘအိမ်မှာဆိုရင် ပြဿနာ သိပ်မရှိပေမယ့် ကိုယ်ခြေထောက်ပေါ် ကိုယ်ရပ်ရတော့မယ့် အချိန်မှာ အကြီးအကျယ် ထိခိုက်စေပါတယ်။ ဆင်ခြေပေးတတ်တဲ့ ပါးစပ် ထမင်းငတ်တတ်တယ်ဆိုတာ တကယ်ပါ။
(၅) ဘာတစ်ခုမှ သေချာမလေ့လာပဲ Resource တွေ လိုက်စုတာ
ဒါကလဲ အခုမှ စလေ့လာမယ့်သူတွေ ကြုံတတ်တဲ့ အလေ့အကျင့်တစ်ခုပါပဲ။ ဟိုလူက ဟိုစာအုပ်လေး ကောင်းတယ်ဆိုတာ အွန်လိုင်းမှာ လိုက်ရှာဒေါင်း၊ ဟိုလူက ဒီဗီဒီယိုလေး ကောင်းတယ်ဆို စုထားလိုက်၊ ဟိုဟာလေး ကောင်းတယ်ဆို ယူထားလိုက်၊ ဒီဟာလေး ကောင်းတယ်ဆို ယူထားလိုက်နဲ့ ဘာတစ်ခုမှာ အစအဆုံး မပြောနဲ့ Intro တောင် မလေ့လာပဲ စုနေတတ်တဲ့ အလေ့အကျင့်လေး ရှိတတ်ပါတယ်။ အဲဒီလို စုရင်း စုရင်း အများကြီး ဖြစ်လာပြီး ဘယ်ဟာက စလေ့လာရမှန်းကို မသိတော့တဲ့ အနေအထား ဖြစ်သွားတတ်ပါတယ်။ ကိုယ်စုထားတဲ့ HDD လေး ပျက်သွားတော့ အစကနေ ပြန်စုပြီး သံသယာ လည်တတ်ပါတယ်။
(၆) သင်ယူဖို့ သိပ်နောက်ကျနေပြီလို့ ထင်တတ်ကြတာ
ဒါလဲ တကယ့်ပြဿနာ တစ်ခုပါပဲ။ Computational Thinking ဆိုတာ Programmatic Thinking ဆိုတာ နယ်ပယ်စုံ နေရာတကာ အသုံးဝင်တဲ့ စဉ်းစားတွေးခေါ်နည်း ဖြစ်ပါတယ်။ သင်ထားရင် ဘယ်တော့မှ မမှားနိုင်တဲ့ အသိပညာဖြစ်ပါတယ်။ အဲဒီတော့ နောက်ကျတယ်ဆိုတာ ဘယ်တော့မှ မရှိပါဘူး။ စောစော လေ့လာလော စောစော အကျိုးရှိလေ ဖြစ်ပါတယ်။
(၇) အချိန်မပေးနိုင်တာ (သို့) အမြန်လိုနေတာ
တစ်ချို့တွေရှိတတ်ပါတယ်။ အခုမှ စသင်မယ်ကြံခါရှိသေးတယ်။ ဘယ်တော့ အလုပ်ရမှာလဲ စဉ်းစားနေတာမျိုး၊ Programming တစ်ကြောင်းမှ မရေးရသေးဘူး၊ ကုဒ်ရေးပြီး ဘီလီယံနာ ဖြစ်ချင်နေတာမျိုး။ တစ်ခြား အလုပ်တွေနဲ့ ရှုပ်ပြီး မကုဒ်နိုင်တာတွေရှိတတ်ပါတယ်။
(၈) လမ်းရွေးပါ
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 ရေးနိုင်တာ မဟုတ်ပါဘူး။ ပြဿနာရှိရင် အဖြေရှာလို့ လွယ်တဲ့ အင်တာနက်ခေတ်ကြီးမှာ သိချင်ရချင်လာဖို့ပဲ လိုပါတယ်။
အဲဒီ (၁၄) ချက်လောက် ပြုပြင်နိုင်မယ်ဆိုရင် Programmer  ဖြစ်ဖို့အတွက် ကျော်ဖြတ်နိုင်လိမ့်မယ် လို့ထင်ပါတယ်။

<Zawgyi>
Programmer လုပ္ေတာ့မယ္ဆိုရင္
==========================
Coding and Development ထဲကို အခုမွစၿပီး ဝင္မယ့္သူေတြမွာ အနည္းနဲ႔အမ်ား စိုးရိမ္ေၾကာက္ရြံ႕မႈေတြ ရွိတတ္ၾကပါတယ္။ အဲဒီလို ေၾကာက္တာ သဘာဝပါပဲ။ ဒါေပမယ့္ အဲဒီလို ေၾကာက္တာကေန ဆင္ေျခေတြနဲ႔ ကာမျပစ္ေစဖို႔ လိုအပ္ပါတယ္။ အခုမွ စၿပီး ကုဒ္မယ့္သူေတြအေနနဲ႔ အနည္းနဲ႔အမ်ား ဒီလိုလကၡဏာေတြ ရွိတတ္ၾကပါတယ္။
(၁) စသင္ဖို႔ သိပ္ခက္တယ္လို႔ ထင္တတ္ၾကတယ္
Programming ကို စသင္ဖို႔ ခက္တယ္ဆိုတာ Assembly Language လို Low-level Programming Language ေတြမွာေတာ့ ဟုတ္ခ်င္ ဟုတ္ပါလိမ့္မယ္။ ေခတ္ေပၚ Programming Language တိုင္းမွာေတာ့ အဲဒီလို မဟုတ္ေတာ့ပါဘူး။ သူမ်ားႏိုင္ငံေတြမွာဆိုရင္ ကေလးဘဝကတည္းက Programming ကို သင္ၾကရပါတယ္။ ကေလးေတြေတာင္ သင္ေနတာဆိုေတာ့ လြယ္လို႔ေပါ႔။ ဒါေပမယ့္ အခုမွ သင္မယ့္သူေတြအတြက္ေတာ့ ခက္ေကာင္းခက္ေနႏိုင္ပါတယ္။ အဲဒီလို ဘာေၾကာင့္ခက္ေနလဲဆိုရင္ (၁) အာ႐ုံမစိုက္ႏိုင္တာ (၂) တစ္ျခား နယ္ပယ္ေတြနဲ႔ ယွဉ္ၾကည့္ေနတာ (၃) Programming ကို အလြတ္က်က္ဖို႔ ႀကိဳးစားေနတာ စသည္ျဖင့္ ျဖစ္ႏိုင္ပါတယ္။
(၂) ဆက္တိုက္ခ်ိတ္ဆက္ စဉ္းစားတတ္တဲ့ အေလ့အက်င့္ နည္းေနတာ
Programming ဆိုတာ က်က္ထားတဲ့ စာေတြ ျပန္ရြတ္သလို ေရးရတာ မဟုတ္ပါဘူး။ ကြန္ပ်ဴတာကို ခိုင္းမယ့္ အစီအစဉ္ေတြကို နည္းလမ္းမ်ိဳးစုံသုံးၿပီး ေရးၾကရပါတယ္။ အဲဒီအတြက္ ေခါင္းက ေတာက္ဝွီး အလုပ္လုပ္ေနဖို႔ လိုပါတယ္။ စဉ္းစားၿပီဆိုတာနဲ႔ ေခါင္းေတြ ပူလာတာ၊ စိတ္ေတြရႈပ္လာတာ၊ တစ္ခုခုအေၾကာင္းျပ ထြက္ေျပးခ်င္တာ စသည္ျဖင့္ ေတြးဖို႔ေၾကာက္ေနရင္ Programming ေရးဖို႔ ခက္ပါတယ္။ တကယ္တန္း Program ေရးတဲ့သူဟာ စိန္ေခၚမႈကို လက္ခံရဲတဲ့သူ ျဖစ္ပါတယ္။ ျပႆနာကို စိန္ေခၚမႈလို႔ ျမင္တတ္သူ ျဖစ္ပါတယ္။ အေျဖမထြက္မခ်င္း မရရေအာင္ စဉ္းစားေရးသား ေျဖရွင္းတတ္ဖို႔ လိုအပ္ပါတယ္။
(၃) ေယာင္ေျခာက္ဆယ္
Programming ဆိုတာ တကယ္ေယာင္လို႔ ေကာင္းပါတယ္။ နယ္ပယ္ကလဲ အမ်ားႀကီးဆိုေတာ့ ဟိုဟာေလး တို႔စိ တို႔စိ၊ ဒီဟာေလး နည္းနည္းနဲ႔ ေလွ်ာက္လုပ္ေနလို႔ ရပါတယ္။ အဲဒီမွာ ဟိုဟာေလး နည္းနည္းသိ၊ ဒီဟာေလး နည္းနည္းသိၿပီး လူေရွ႕သူေရွ႕ၾကရင္ ရြီးလို႔ရပါတယ္။ အဲဒါေလးနဲ႔ ေပ်ာ္ေနၿပီး Development အပိုင္းမွာ ဘာမွျဖစ္ျဖစ္ေျမာက္ေျမာက္ မလုပ္ႏိုင္ပဲ ေယာင္ေျခာက္ဆယ္ ျဖစ္ေနတတ္ပါတယ္။
(၄) ဆင္ေျခေပးတာ
တစ္ခုခုကို ေခါင္းပူေအာင္ လုပ္ရေတာ့မယ္ဆိုတာနဲ႔ ဆင္ေျခေလးေတြ လိုက္ရွာေပးၿပီး ေရွာင္ထြက္ေနတတ္ပါတယ္။ ဆင္ေျခေပးတတ္တဲ့ အေလ့အက်င့္ဟာ မိဘအိမ္မွာဆိုရင္ ျပႆနာ သိပ္မရွိေပမယ့္ ကိုယ္ေျခေထာက္ေပၚ ကိုယ္ရပ္ရေတာ့မယ့္ အခ်ိန္မွာ အႀကီးအက်ယ္ ထိခိုက္ေစပါတယ္။ ဆင္ေျခေပးတတ္တဲ့ ပါးစပ္ ထမင္းငတ္တတ္တယ္ဆိုတာ တကယ္ပါ။
(၅) ဘာတစ္ခုမွ ေသခ်ာမေလ့လာပဲ Resource ေတြ လိုက္စုတာ
ဒါကလဲ အခုမွ စေလ့လာမယ့္သူေတြ ႀကဳံတတ္တဲ့ အေလ့အက်င့္တစ္ခုပါပဲ။ ဟိုလူက ဟိုစာအုပ္ေလး ေကာင္းတယ္ဆိုတာ အြန္လိုင္းမွာ လိုက္ရွာေဒါင္း၊ ဟိုလူက ဒီဗီဒီယိုေလး ေကာင္းတယ္ဆို စုထားလိုက္၊ ဟိုဟာေလး ေကာင္းတယ္ဆို ယူထားလိုက္၊ ဒီဟာေလး ေကာင္းတယ္ဆို ယူထားလိုက္နဲ႔ ဘာတစ္ခုမွာ အစအဆုံး မေျပာနဲ႔ Intro ေတာင္ မေလ့လာပဲ စုေနတတ္တဲ့ အေလ့အက်င့္ေလး ရွိတတ္ပါတယ္။ အဲဒီလို စုရင္း စုရင္း အမ်ားႀကီး ျဖစ္လာၿပီး ဘယ္ဟာက စေလ့လာရမွန္းကို မသိေတာ့တဲ့ အေနအထား ျဖစ္သြားတတ္ပါတယ္။ ကိုယ္စုထားတဲ့ HDD ေလး ပ်က္သြားေတာ့ အစကေန ျပန္စုၿပီး သံသယာ လည္တတ္ပါတယ္။
(၆) သင္ယူဖို႔ သိပ္ေနာက္က်ေနၿပီလို႔ ထင္တတ္ၾကတာ
ဒါလဲ တကယ့္ျပႆနာ တစ္ခုပါပဲ။ Computational Thinking ဆိုတာ Programmatic Thinking ဆိုတာ နယ္ပယ္စုံ ေနရာတကာ အသုံးဝင္တဲ့ စဉ္းစားေတြးေခၚနည္း ျဖစ္ပါတယ္။ သင္ထားရင္ ဘယ္ေတာ့မွ မမွားႏိုင္တဲ့ အသိပညာျဖစ္ပါတယ္။ အဲဒီေတာ့ ေနာက္က်တယ္ဆိုတာ ဘယ္ေတာ့မွ မရွိပါဘူး။ ေစာေစာ ေလ့လာေလာ ေစာေစာ အက်ိဳးရွိေလ ျဖစ္ပါတယ္။
(၇) အခ်ိန္မေပးႏိုင္တာ (သို႔) အျမန္လိုေနတာ
တစ္ခ်ိဳ႕ေတြရွိတတ္ပါတယ္။ အခုမွ စသင္မယ္ႀကံခါရွိေသးတယ္။ ဘယ္ေတာ့ အလုပ္ရမွာလဲ စဉ္းစားေနတာမ်ိဳး၊ Programming တစ္ေၾကာင္းမွ မေရးရေသးဘူး၊ ကုဒ္ေရးၿပီး ဘီလီယံနာ ျဖစ္ခ်င္ေနတာမ်ိဳး။ တစ္ျခား အလုပ္ေတြနဲ႔ ရႈပ္ၿပီး မကုဒ္ႏိုင္တာေတြရွိတတ္ပါတယ္။
(၈) လမ္းေရြးပါ
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 ေရးႏိုင္တာ မဟုတ္ပါဘူး။ ျပႆနာရွိရင္ အေျဖရွာလို႔ လြယ္တဲ့ အင္တာနက္ေခတ္ႀကီးမွာ သိခ်င္ရခ်င္လာဖို႔ပဲ လိုပါတယ္။
အဲဒီ (၁၄) ခ်က္ေလာက္ ျပဳျပင္ႏိုင္မယ္ဆိုရင္ Programmer  ျဖစ္ဖို႔အတြက္ ေက်ာ္ျဖတ္ႏိုင္လိမ့္မယ္ လို႔ထင္ပါတယ္။

No comments:

Post a Comment

computer

Computer ထဲမှာစိုက်ထားတဲ့ RAM စစ်နည်း

Computer အသုံးပြုနေတဲ့ သူတစ်ယောက်အနေနဲ့ ကိုယ့် Computer ကို RAM Upgrade တိုးချင်လို့ပဲဖြစ်ဖြစ်၊ ကိုယ်လက်ရှိသုံးနေတဲ့ Computer မှာသုံးထာ...