Self-learning

မိမိဘာသာ လေ့လာရာတွင် ကြုံတွေ့ရတဲ့ အခက်အခဲ
ရေးသားသူ : saturngod

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

ရွေးချယ်စရာ

Mobile development ကို စလေ့လာပြီဆိုတာနဲ့ native ကို လေ့လာဖို့ ကျွန်တော်တို့တွေ ပုံမှန် အားဖြင့် တွန့်ဆုတ်ကြတယ်။ ငါ HTML , CSS , Javascript ကို ကောင်းကောင်းတတ်တာပဲ။ Objective-C ကို မလေ့လာလည်း ဖြစ်တာပဲ။ java ကို မလေ့လာလည်း ဖြစ်တာပဲ။ Phonegap ကို သုံးလိုက်ရင် ပြီးတာပဲ။ အသစ်လေ့လာရင် အချိန်ကုန်တယ်။ အခု တတ်တာလေးနဲ့ အရင် လုပ်လိုက်မယ်။ စသည်ဖြင့် အသစ်လေ့လာဖို့ကို ကျွန်တော်တို့ရဲ့ စိတ်တွေက အသစ်သစ်တွေကို လေ့လာဖို့ အမြဲလိုလို အကြောင်းပြချက်တွေ ပေးပြီး ခုခံတတ်ကြတယ်။ ဒီ အဆင့်ကို ကျော်ဖို့ ပုံမှန် အားဖြင့် လုပ်ငန်းခွင် မှာမဖြစ်မနေ လုပ်မှ ရမယ်။ ဒါနဲ့ပဲ သုံးမယ်။ အဲလိုမျိုး ဆုံးဖြတ်ချက်တွေကြောင့် ကိုယ်တိုင် ရွေးချယ်စရာ မရှိလေ့လာရတာပဲ။ ဒါမှမဟုတ် အားလပ်ချိန်မှာ လေ့လာတယ်ဆိုရင်တော့ ကိုယ့်ရဲ့ စိတ်ကို ကိုယ်နိုင်ဖို့ လိုပါတယ်။ ဘာကြောင့် လေ့လာသင့်လဲ။ ဘာလို့ လေ့လာသင့်လဲ စတဲ့ အကြောင်းပြချက်တွေ ကောင်းကောင်း သိထားဖို့လိုပါတယ်။ မလေ့လာခင်မှာ ဘာကြောင့် ဒါကို သုံးသင့်လဲ။ ဘာကြောင့် ဒါကို လေ့လာသင့်လဲ။ ဒါကို လေ့လာရင် ဘာတွေ လုပ်လို့ ရမလဲ။ ဒါကို မလေ့လာရင် ဘာတွေ မလုပ်လို့ရဘူးလဲ။ အသစ်ကို မလေ့လာခင်မှာ လေ့လာချင်စိတ် ဖြစ်လာအောင် အရင်ဆုံး research လုပ်သင့်ပါတယ်။

Resources

အသစ်တစ်ခု ကို ကိုယ့်ဘာသာကိုယ် လေ့လာဖို့ဆိုရင် လေ့လာဖို့ resource ​တွေက အရေးကြီးလာပြီ။ ဘယ်မှာ လေ့လာလို့ ရမလဲ။ မသိရင် ဘယ်မှာ မေးလို့ ရမလဲ။ တကယ်လို့ စာအုပ်တွေ ရှိခဲ့ရင် ဘယ်စာအုပ်တွေ ကောင်းလဲ။ ဘယ် စာအုပ် အရင်ဖတ်သင့်လား စသည်ဖြင့် စုဆောင်းဖို့ လိုပါတယ်။ ပုံမှန် အားဖြင့် ကျွန်တော်တို့တွေ အဲဒီလို လိုအပ်တဲ့ resource တွေကို စုဆောင်းတဲ့ အချိန်မှာ အားမလို အားမရ ဖြစ်တတ်ပါတယ်။ စာအုပ်တွေ ဖတ်မယ့် အစား လက်တွေ့ project သာ လုပ်လိုက်ချင်တယ်။ အလကား အချိန်ကုန်တယ်လို့ ခံစားရတတ်တယ်။ အရင်ဆုံး ကိုယ် နားမလည်တဲ့ language တစ်ခု ကိုယ့်အတွက် အစိမ်းသက်သက် ဖြစ်နေရင်တော့ language နဲ့ မစိမ်းအောင် documenation တွေ စာအုပ်တွေကို ဖတ်သင့်ပါတယ်။ နောက်ပြီးတော့ tutorial တွေကို လိုက်ပြီး လုပ်ကြည့်ခြင်းအားဖြင့် မိမိလေ့လာမယ့် language နဲ့ ပိုပြီး ရင်းနှီးစေပါလိမ့်မယ်။ တချို့ tutorial တွေဟာ လက်ရှိ version ထက် နောက်ကျပြီး စမ်းလို့ မရတာတွေ ရှိတတ်တယ်။ သက်ဆိုင်ရာ tutorial တွေ မှာ မရတာတွေကို comment ထားပြီး ဆွေးနွေးဖို့ လိုပါတယ်။ အများအားဖြင့် ကိုယ်လေ့လာသည့် အချိန်နဲ့ tutorial တွေ ရှိတဲ့ အချိန်မှာ version တွေ အများကြီး ကွာသွားတာတွေ ရှိပါတယ်။ iOS မှာ ဆိုလည်း အခု Xcode 5 ကို အသုံးပြုနေပေမယ့် တချို့ tutorial အဟောင်းတွေဟာ Xcode 4 နဲ့ ရေးပြထားတာတွေ ကိုတွေ့ရပါလိမ့်မယ်။

စာတွေ့ နဲ့ လက်တွေ့

စာအုပ်တစ်အုပ်လောက် ဖတ်ပြီးပြီ။ သူပြောတဲ့ tutorial လေးတွေလည်း နားလည် သလောက် ဖြစ်ပြီ ဆိုရင် ကျွန်တော်တို့တွေ လက်တွေ့ ကိုယ်ပိုင် project တစ်ခု စလုပ်ကြည့်သင့်ပါတယ်။ အဲဒီ အခါမှာ စာတွေ့ထဲကလို မလွယ်ကူတော့ဘူး။ ကိုယ်လုပ်ချင်တာတွေက စာတွေ့ထဲမှာ မပါဘူး။ မဖြစ်နိုင်ဘူးလို့ ထင်လာတတ်တယ်။ အချိန်တွေ အလကား ကုန်သွားပြီလားလို့ တွေးထင်တတ်ကြပါတယ်။ လက်တွေ့ လုပ်တဲ့ အချိန်ဟာ stackoverflow လိုမျိုးနေရာတွေမှာ စတင် မေးဖို့ အချိန်ပါပဲ။ ဒါမှမဟုတ် သက်ဆိုင်ရာ community မှာ မေးဖို့ လိုအပ်လာပါတယ်။ ဒါဟာ မဖြစ်နိုင်ဘူး။ ဒီလို ဘာလို့ လုပ်လို့ မရတာလဲ။ အဖြေကို စောင့်ရင်း ကိုယ့်ဘာသာကိုယ် လုပ်ရင်းနဲ့ အချိန်ဟာ ၁ ရက် ၂ ရက်လောက် ကုန်သွားတတ်တာ ပုံမှန်ပါပဲ။ တချို့ မေးခွန်းတွေက အဖြေမရသေးခင် စမ်းလို့ ရသွားတာ ရှိသလို ၊ တချို့ တွေကြပြန်တော့လည်း အဖြေရမှ အဆင်ပြေသွားတယ်။ တချို့ ပြဿနာတွေက သူများတွေ ဖြေထားပေးပေမယ့် မပြေလည်တာတွေ ရှိတတ်တယ်။ တစ်ခါတစ်လေ ကျွန်တော်တို့တွေဟာ မူရင်း source code ကို ဝင်ဖတ်ပြီး လေ့လာရရမယ့် အချိန်တွေလည်း ရှိပါတယ်။ အချို့ language တွေဟာ documenation မှာ အပြည့်အစုံ မရေးထားတဲ့ အတွက် မူရင်း source code ထဲမှာ ဘယ်လို ရေးထားသလဲ။ ဒါကို ဘယ်လို သုံးလို့ ရမလဲ ဆိုပြီး လေ့လာရတာ တွေ ရှိတယ်။ လက်တွေ့လုပ်တဲ့ အခါ ဒါနဲ့ လုပ်လို့ မရဘူးဆိုပြီး ဆက်မလုပ်ချင်တဲ့ အခါတွေ ခဏခဏ တွေ့ရပါလိမ့်မယ်။ Objective-C မှာ ဒီလို ရေးနေမယ့် အစား javascript နဲ့ဆို ဒီလိုလုပ်လိုက်ရင် ရပြီ။ javascript နဲ့ အစောကတည်းက ရေးသင့်တယ်။ အဲလိုမျိုး အတွေးတွေလည်း ခဏခဏ ဝင်လာပါလိမ့်မယ်။ စိတ်မပျက်ပါနဲ့။ လက်တွေ့ project ၂ ခု လောက် လုပ်ပြီးတဲ့ အခါမှာ language အသစ် နဲ့ ရင်းနှီးကျွမ်းဝင်သွားပါလိမ့်မယ်။

အခြား

iOS , Android နဲ့ ပတ်သက်ပြီး မြန်မာ လို မသိတာတွေကို မေးချင်ရင် MYSTERY ZILLION မှာ မေးမြန်းနိုင်ပါတယ်။ iOS ကို လေ့လာချင်သူတွေ အနေနဲ့ stanford ရဲ့ course က နေ တဆင့် လေ့လာလို့ ရပါတယ်။ Android ကို လေ့လာချင်ရင်တော့ Android Developer website က သင့်တော်ပါတယ်။ အခုမှ programming ကို လေ့လာမယ်ဆိုသူများကတော့ codecademy မှာ လေ့လာနိုင်တယ်။