Programmer တစ်ယောက်ဖြစ်လာပြီဆိုတာနဲ့ နည်းပညာအသစ်အသစ်တွေ လေ့လာနေရမှာက မိမိရဲ့ career progression အစိတ်အပိုင်းတစ်ခုလိုဖြစ်လာပါပြီ။ ကျနော်ဒီနေ့ နည်းပညာအသစ်တစ်ခုလေ့လာတဲ့နေရာမှာ ဘယ်လို အချက်လေးတွေ သိထားရင် learning လုပ်ရတဲ့ နေရာမှာ အချိန်တိုတိုနဲ့ efficiency ကောင်းကောင်းလေ့လာနိုင်မယ်ဆိုတာ ရေးပေးသွားပါမယ်။

An Effective Learning Kit

ဒီအချက်ကတော့ ကျနော်လက်ရှိအထိလုပ်နေတဲ့ ပုံစံတစ်ခုပါ။ ကိုယ် တစ်ခုခုလေ့လာပြီဆိုရင် (ဘာပဲလေ့လာလေ့လာ) အရင်ဆုံး data လိုက်စုတတ်တဲ့ အကျင့်တစ်ခုရှိတယ်။ အသုံးဝင်လောက်မယ့် tutorial links တွေ၊ download ချထားတဲ့ course တွေ၊ ကိုယ်တိုင်လေ့လာပြီး ရေးထားတဲ့ notes တွေ ကို folder တစ်ခုထဲမှာ သိမ်းထားတယ်။ အသုံးဝင်မယ်ထင်တယ့် quora , stackoverflows links တွေကို links sheet တစ်ခုအနေနဲ့သိမ်းထားတယ်။ ကိုယ်လိုလို့ပြန်ကြည့်တဲ့ အချိန်ပဲဖြစ်ဖြစ် တစ်ခြားတစ်ယောက်ကို sharing လုပ်ပေးချင်တာပဲဖြစ်ဖြစ် အဆင်ပြေတယ်။ အဓိက က တော့ စာလုပ်တော့မယ်ဆို ပြင်ဆင်ရတဲ့ အချိန်ကုန်အရမ်းသက်သာတယ်၊ တစ်ခုခုရှာတော့မယ်ဆိုလည်း effective ဖြစ်တယ်။

Learn By Comparing

ဒါက ကျနော် interview တစ်ခုမှာ ရခဲ့တဲ့ knowledge လေး။ အကယ်လို့ ကိုယ်က programming တစ်ခုခုကို ရထားတယ်ဆို နောက်တစ်ခုလေ့လာတဲ့ နေရာမှာ ရှိပြီးသား ဟာနဲ့ နှိုင်းယှဉ်ပြီးတော့ လေ့လာလို့လည်းရတယ်။ ဥပမာ ကိုယ်က JS ရထားတယ်ဆို PHP လေ့လောတဲ့နေရာမှာ ကိုယ်ရထားတဲ့ knowledge နဲ့ compare လုပ်ကြည့်ပြီးလေ့လာရင် မြန်မြန်တတ်လွယ်တယ်၊ ဥပမာ variable declaration က JS မှာ ဒီလိုလုပ်တယ်၊ PHP မှာဒီလိုလုပ်ရတာပါလား၊ ဘယ်နေရာလေးမှာကွာသွားတယ်၊ အစရှိသဖြင့်ပေါ့။

Source code တွေကြိုးစားဖတ်ကြည့်ပါ။

Real world project code တွေကြိုးစားပြီးဖတ်ကြည့်ပါ၊ လွယ်မယ့် project လေးတွေကအရင်စပေါ့၊ Github မှာ browsing လုပ်နိုင်ပါတယ်။ ဖတ်ပြီးတော့ ဒီ code ကဘာလုပ်လဲ ဒီ code line ရဲ့ purpose ကဘာလဲ စသည်ဖြင့် လိုက်ဖတ်ပြီး မှတ်သင့်တဲ့ ဟာဆိုရင် ကိုယ့်ရဲ့ ခုနက အပေါ်မှာပြောထားတဲ့ learning kit ထဲမှာမှတ်ထားမယ်၊ နားမလည်လို့ browsing လုပ်ပြီး စာတွေဖတ်ကြည့်၊ မှတ်ထားလို့ရတယ်။ အဲ့လို တွေ ဖတ်လိုက်ခြင်းဖြင့် အဲ့ဒီ language နဲ့ အကျွမ်းတဝင်ဖြစ်သွားမယ့်အပြင် syntax တွေနဲ့လည်း familiar ဖြစ်သွားပါလိမ့်မယ်။

Practice Practice Practice

လေ့လာမှုအား ဘယ်လောက်ပဲကောင်းကောင်း လေ့ကျင့်မှုအားမရှိဘူးဆိုရင် အကျိုးမဲ့ ဖြစ်တတ်ပါတယ်။ ကိုယ်လေ့လာထားတဲ့ အရာတွေကို ပြန်လည်အသုံးချပြီး ကိုယ်ပိုင် real world sample project လေးတွေစမ်းရေးသင့်ပါတယ်။ ရေးတဲ့ နေရာမှာ အရမ်းရှုပ်တဲ့ Domain နဲ့ project တွေကလည်း မကောင်းသလို အရမ်း simple ဖြစ်တဲ့ အရာဆိုရင်လည်း အဆင်မပြေပါဘူး။ ဆိုတော့ ကိုယ်နဲ့ အဆင်ပြေလောက်မယ့် ၊ ကိုယ်လေ့လာထားတဲ့ အရာတွေ apply လုပ်လို့ရနိုင်တယ့် application idea မျိုး စဉ်းစားပြီး ရေးတာကောင်းပါတယ်။ ရေးလိုက်ခြင်းအားဖြင့် Learning revision ပုံစံမျိုးလည်းဖြစ်တယ်။ နောက်တစ်ခုက ကိုယ်ရေးနိုင်တယ်၊ လုပ်နိုင်တယ်ဆိုတဲ့ confidence မျိုး ကို ရတယ်။ အဲ့ဒါကဘာနဲ့မှလဲလို့ မရတဲ့ အဖိုးတန်တဲ့ အရာတစ်ခုပါ။

Focus

ကိုယ်လုပ်နေတဲ့အရာအပေါ်မှာ အပြည့်အဝစိတ်ပါဝင်စားဖို့လိုပါတယ်။ စိတ်မပါလက်မပါလုပ်နေလို့ရှိရင် တစ်သက်လုံးသင်နေတောင်တတ်မှာမဟုတ်ဘူး။ ကိုယ့်ရဲ့အချိန်တွေထဲက Learning လုပ်ဖို့အတွက်ဆိုပြီးသက်သက်ထုတ်ထားပြီးတော့ attention ကောင်းကောင်းနဲ့လုပ်မယ်ဆိုရင် သင်ယူတဲ့ နေရာမှာမြန်လာမယ့်အပြင် ကိုယ်နောက်ထပ်ဖတ်/လေ့လာရမယ့် topic ကိုလည်း interest ဖြစ်သွားတဲ့အတွက် motivate လုပ်ပြီးသားဖြစ်သွားပါလိမ့်မယ်။ အရေးကြီးတဲ့ နောက်တစ်ခု က interest မွေးမြူဖို့ပါ၊ ကိုယ် learning လုပ်နေတဲ့အရာနဲ့ အမြဲတမ်းလိုလို keep in touch ဖြစ်နေဖို့ပါ၊ ဥပမာ ကျနော်တို့ python လေ့လာနေတယ်ဆိုပါစို့၊ နေ့စဉ်သုံးဖြစ်နေတဲ့ social media မှာ python နဲ့ပတ်သတ်တဲ့ news တွေ communities တွေ follow လုပ်ထားလို့ရတယ်၊ even at least memes တွေပါကြည့်လို့ရတယ်။ သွယ်ဝိုက်သောအားဖြင့် နေ့တိုင်း လိုလို ထိတွေ့မှု ရှိနေတဲ့အတွက်ကြောင့် python ပေါ်မှာပိုပိုပြီးစိတ်ဝင်စားလာစေပါတယ်။

Bonus Tips

ကိုယ့်ရဲ့ Learning Road Map ကို စကတည်းကကြိုဆွဲထားတာကောင်းပါတယ်၊ ဒီနေ့မှာ ဘယ်အပိုင်းကို ဖြတ်မယ်၊ မနက်ဖြန်မှာဘယ်လိုပြန်လေ့ကျင့်မယ်စသည်ဖြင့် Planning လုပ်ထားမယ်၊ တစ်ရက်တည်းနဲ့ doc အပြီးဖြတ်မယ်ဘာညာထက်စာလို့ရှိရင် ကိုယ်တစ်ကယ်လုပ်နိုင်တဲ့အတိုင်းအတာကို အစတည်းကခန့်မှန်းထားပြီး အပိုင်းတွေစနစ်တကျခွဲထားပြီး စီမံတတ်ဖို့လဲလိုအပ်ပါတယ်။

tutorials ကြည့်ပြီး/ဖတ်ပြီးလုပ်တယ်ဆိုရင် ကွန့်ကြည့်ပါ။ ဖတ်ပြီး ဘယ်လိုအလုပ်လုပ်တယ်ဆိုတာကိုနားလည်ရုံသာမက ကိုယ့်ဘာသာ ကိုယ့် Idea နဲ့ကွန့်ပြီးရေးကြည့်လို့ရှိရင် ကိုယ့်ရဲ့ coding skill က သိသိသာသာ လျင်လျင် မြန်မြန်တတ်လာမှာပါ။

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