ခေါင်းစဉ်ကနည်းနည်းထူးဆန်းကောင်းထူးဆန်းပါလိမ့်မယ်။ beginner ဖြစ်ဖို့များ ပြင်ဆင်နေဖို့လိုသေးလို့လားပေါ့။ ကိုယ်တိုင်လည်း ဘာမှပြင်ဆင်မှုမရှိဘဲ စခဲ့တာပါ။ ဒါပေမယ့် အဲ့ဒါကြောင့်ပဲ အစမှာတင်ကတည်းက အမှားကြီးမှားပြီး အချိန်ကုန်ခဲ့ရပါတယ်။
2021 ရဲ့ ပထမဆုံးsharing ဖြစ်တဲ့ ဒီပိုစ့်ကတော့ knowledge အစား experience sharing ဖြစ်သွားမယ်ထင်ပါတယ်။ မွေးနေ့အမှတ်တရဖြစ်အောင်တစ်ခုခုလုပ်ချင်တာနဲ့ Web development ကိုစလေ့လာရင်းတုန်းကနေ အခုထိ တွေ့ကြုံခဲ့ရတာတွေထဲက tips လေးတွေ sharing လုပ်ပေးသွားပါမယ်။ အဓိကကတော့ ကိုယ့်စလေ့လာတုန်းကကြုံခဲ့တာတွေကို နောက်လူတွေသိပြီးဆင်ခြင်နိုင်ရင် sharing လုပ်ပေးရတာ တန်ပါတယ်။ ပြောချင်တာတွေများပြီး စာနည်းနည်းရှည်သွားတယ်။ သည်းခံပြီးဖတ်ကြည့်ပေးပါ။
beginner မဖြစ်ခင်လုပ်သင့်တဲ့ preparations တွေ
- ကိုယ်ကိုတိုင် စိတ်ဝင်စားမှုရှိရဲ့လား အရင်ဆန်းစစ်ကြည့်ပါ။
programming fieldထဲ စဝင်တော့မယ်ဆိုရင် ဒီတစ်ခုကအရေးကြီးဆုံးပါ။ field တစ်ခုကိုစလေ့လာမယ်ဆိုရင် အခြေခံသဘောတရားတွေကို နားလည်ဖို့နဲ့ လက်ရှိရောက်နေတဲ့ အခြေအနေထိ catch up လုပ်ဖို့ အချိန်ပမာဏတစ်ခုထိပေးရပါတယ်။ အကြမ်းအားဖြင့် လပိုင်းထက်နှစ်ပိုင်းလောက် ပေးရပါတယ်။ အဲ့ဒါကြောင့် ကိုယ်တိုင်ကစိတ်ဝင်စားမှုရှိမှရမှာပါ။ စိတ်ဝင်စားမှုရှိမှလေ့လာဖြစ်မယ်။ လေ့လာရင်းနဲ့ passion ရှိလာမယ်။ passion ရှိလာတော့ ပိုအားစိုက်ပြီး လေ့လာဖြစ်မယ်။ အဲ့ကမှတစ်ဆင့် ကျွမ်းကျင်အဆင့်ကိုရောက်မယ်။ စိတ်ဝင်စားမှုတော့ရှိပေမယ့် စိတ်အားထက်သန်မှု (passion) မရှိပြန်ရင်လည်း တစ်ဝက်လောက်နဲ့ ရပ်လိုက်ရတာမျိုးဖြစ်သွားတတ်ပါတယ်။ အများလုပ်လို့လိုက်လုပ်နေတာမျိုးဖြစ်နေရင် ပြန်ဆန်းစစ်ကြည့်သင့်ပါတယ်။
- ကိုယ့်နဲ့ကိုက်သလားကိုလည်းစစ်ကြည့်ပါ။
programming သည်ခေါင်းအရမ်းသုံးရတဲ့အရာဖြစ်ပါတယ်။ computer ရှေ့ထိုင်မယ် အဖြေရှာမယ် code ရေးမယ် ဒါမျိုးအလုပ်ပါ။ အဲ့ဒါကြောင့် ကိုယ်က ခေါင်းပူတဲ့အလုပ်တွေမလုပ်ချင်တာမျိုး၊ ဦးနှောက်ထက်နှလုံးသားကိုဦးစားပေးတဲ့ ခံစားမှုအနုပညာသမားပုံစံမျိုးဆိုရင်တော့ သိပ်မကိုက်ဘူးလို့ပြောလို့ရပါတယ်။ programming ဆိုတာဘာလဲဆိုတာကို သိထားရုံလောက်လေ့လာတာမျိုးဆိုရင်လည်းတစ်မျိုးပေါ့။
- အပေါ်ကအချက်တွေနဲ့ကိုက်တယ်ဆိုရင်တော့ industry ရဲ့ သိသင့်သိရမယ့် ဗဟုသုတတွေစုဆောင်းပါ။
ဒါကဘာကိုဆိုလိုတာလဲဆိုရင် industry ရဲ့အကြောင်း၊ industry ထဲက field တွေအကြောင်း ဥပမာ web development ဆိုတာကဘာလဲ၊ ဘာတွေလုပ်ရတာလဲ၊ mobile application development ဆိုတာဘာကိုပြောတာလဲ စတာတွေပေါ့။ ဒါတွေသိထားတော့ ဘာကောင်းသလဲဆိုရင် ကိုယ်ဘယ် field တွေကိုတော့သဘောကြတယ် ဘယ် field ကတော့ ဘယ်လို အလုပ်၊ position တွေရှိတယ် ဒါတွေကိုသိလာပါတယ်။ မသိတော့ရလားဆိုရင်လည်းရပါတယ်။ ဒါပေမယ့် ခရီးစပြီးမှ ဒီ field ကိုမကြိုက်တော့ပဲ အခြားတစ်ခုပြောင်းတာမျိုးတွေဖြစ်ပြီး အချိန်အလဟာသဖြစ်နိုင်ပါတယ်။
- industry ကိုသိပြီဆိုရင် သဘောအကျဆုံး fieldကိုရွေးပါ။
ဒါကတော့တော်တော်လေးအရေးကြီးတဲ့တစ်ချက်ပါ။ programming နဲ့ပတ်သတ်ရင် field တွေကတော်တော်များပါတယ်။ field အကုန်လုံးကို ကျွမ်းကျင်ဖို့ဆိုတာလည်း မလွယ်ကူပါဘူး။ နှစ်ခုလောက်ရနေရင်ကို တော်တော်ဆရာကျနေပါပြီ။ ဘာလို့လဲဆိုတော့ field တစ်ခုထဲကိုမှ လေ့လာရတာတွေအရမ်းများလို့ပါ။ ဥပမာ web ပိုင်းမှာဆိုရင်ကို UI/UX Designer, Front-end, Back-end စတာတွေရှိပါတယ်။ အဲ့ထဲကမှ အပိုင်းတစ်ပိုင်းချင်းဆီမှာလည်း လေ့လာရတာတွေအများကြီးပါ။ အဲ့ဒါကြောင့် field ကိုခွလေ့လာတာမျိုးတွေမလုပ်သင့်ပါဘူး။ လုပ်ချင်လို့ လုပ်တာရင်တောင်မှ ခရီးမရောက်နိုင်တာတွေဖြစ်နိုင်ပါတယ်။
- ကိုယ့်လေ့လာတော့မယ့် field ရဲ့ data တွေစုဆောင်းပါ။
ဘာတွေစုဆောင်းသင့်သလဲဆိုရင် roadmap တွေ, learning resource တွေပါ။ ဘာကောင်းသလဲဆိုရင် roadmap သိတဲ့အတွက် လေ့လာရမယ့်အဆင့်တွေသိထားမယ်။ resource တွေရှိထားတဲ့အတွက် တန်းလေ့လာလိုက်လို့ရတယ်။ ယိုခါးနီးမှ တွင်းရှာနေတာမျိုး မဖြစ်တော့ဘူး။ မစုဆောင်းဘူး တန်းလေ့လာလည်းရပါတယ်။ ဒါပေမယ့် အဆင့်ကျော်လေ့လာတာမျိုးဖြစ်ပြီး အချိန်ကုန်သွားတတ်ပါတယ် (ကိုယ်တွေ့ပါ)။
beginner ဖြစ်ရင်လုပ်သင့်တဲ့ preparations တွေ
- Computer science ကိုအရင်လေ့လာပါ။
CS student မဟုတ်တဲ့ အပြင်လူတွေ တော်တော်များများက CS ကိုမသိဘဲ သက်ဆိုင်ရာ field ကိုတန်းလေ့လာမိတတ်တယ်။ programming ဆိုတာ CS ရဲ့ branch တစ်ခုပါ။ အနည်းဆုံးတော့ Introduction to Computer Science လောက်တော့သိထားသင့်ပါတယ်။ ICS သိထားတော့ program မရေးခင် program ဆိုတာဘာလဲ၊ နောက်ကွယ်မှာ ဘယ်လိုလုပ်သလဲဆိုတာတွေ၊ programming fundamental တွေ၊ 0 1 တွေအကြောင်း၊ Algorithm တွေ, Data structure တွေ အကြောင်း၊ web နဲ့ပတ်သတ်ရင် IP address တို့၊ DNS တို့စတဲ့ basic ကြတဲ့ အရာတွေနားလည်သွားတဲ့အတွက် တကယ့် field ကိုလေ့လာတဲ့အခါ မသိတာထက်စာရင် တော်တော်လေး effective ဖြစ်ပါတယ်။
- အောက်ခြေကစပါ။
ဒါကတော့အများစုဖြစ်တဲ့ပြဿနာပါ (ကိုယ်တိုင်လည်းဖြစ်ခဲ့ဘူးတယ်)။ HTML, CSS ကိုမသိဘူး Bootstrapလေ့လာတာမျိုးတွေ JavaScript ကိုမရသေးဘဲ React ကိုလေ့လာတာမျိုးတွေ၊ PHPကို ကောင်းကောင်းမသိသေးဘဲ Laravel ရောက်သွားတာမျိုးတွေပေါ့။ ဘာဖြစ်လည်းဆိုတော့ အခြေခံတွေပြန်လေ့လာနေရတဲ့အတွက် အချိန်ကုန်၊ ခရီးဖင့်တာပါပဲ။
- လမ်းကြောင်းရွေးပါ
သက်ဆိုင်ရာ field တိုင်းမှာ လေ့လာလို့ရတဲ့ development stack တွေရှိတယ်။ ဥပမာ web မှာဆိုရင် HTML, CSS, JS ရသွားရင် front-end သမားဆို React လား Angular လား၊ back-end ဆို Node နဲ့သွားမလား, တခြား language တွေ PHP, Python, Java လေ့လာမလား အများကြီးရှိတယ်။ သေချာရွေးစေချင်ပါတယ်။
- အဆုံးထိလျှောက်ပါ။
ရွေးပြီးရင် အဆုံးထိလျှောက်ဆိုတာက အတွင်းအပြင်ကိုသေသေချာချာသိပြီး projectတွေရေးနိုင်သည်အထိလေ့လာတာကိုပြောတာပါ။ ကိုယ့်ထက် ဆရာကျတဲ့လူတွေ ဆယ်စုနှစ်တစ်ခုနီးပါးလောက် ထွင်ထားတာကို တစ်လလောက်နဲ့ ရတယ်ကျွမ်းတယ်ဆိုတာက တော်တော်မှားပါတယ်။ အပေါ်ယံနားလည်တာနဲ့ အတွင်းကျကျသိတာနဲ့ကမတူပါဘူး။ နောက်ပြီး တစ်ခုခုကို အဆုံးထိသာလေ့လာထားရင် နောက်တစ်ခုကိုကူးတဲ့အခါ လွယ်ကူမြန်ဆန်ပါတယ်။
- အချိန်ပေးပါ။
ပညာရပ်တစ်ခုကို master ဖြစ်ဖို့ နာရီတစ်သောင်းလိုအပ်တယ် ဆိုတဲ့ အဆိုလေးရှိတယ်။ သက်ဆိုင်ရာ field မှာ လေ့လာထားတဲ့အချိန်ပေါ်မူတည်ပြီး level ခွဲကြည့်လို့ရတယ်။ web ပိုင်းမှာဆို junior, senior, tech lead စသည်ဖြင့်ရှိတယ်။ ကိုယ်သွားချင်တဲ့ target အတွက် အချိန်အတိုင်းအတာတစ်ခုပေးဖို့လိုပါလိမ့်မယ်။ ဒီနေ့လုပ်ရင်ဒီနေ့ရတာ ရွှေဘုံသာအလယ်လမ်းက ယူနိုက်တက်ဗွီရှင်းမျက်မှန်ဆိုင်ပဲရှိပါတယ်။
- ကောက်ရိုးမီးမဖြစ်ပါစေနှင့်။ ( Consistency is key )
တစ်နေ့လေ့လာလိုက် နောက်နေ့မလုပ်ဘဲနေလိုက်တာမျိုးပေါ့။ တစ်ချို့ကြ အခြားသူရဲ့ motivation ပေါ်မှီခိုတဲ့လူတွေရှိတယ်။ motivation မရှိရင် မလုပ်တတ်တော့တာက ရည်ရှည်ကြမကောင်းဘူး။ programming သည် long-termed focus ဖြစ်တဲ့အတွက် self-motivated ဖြစ်နေဖို့လိုတယ်။ တစ်နေ့ကိုအချိန်အတိုင်းအတာတစ်ခုပေးပြီး မှန်မှန်လေးလေ့လာသွားရင် အဆင်ပြေပါပြီ။
- industry နဲ့နီးကပ်ပါစေ။
နီးကပ်တယ်ဆိုတာက ကိုယ့်လေ့လာနေတဲ့ field နဲ့ပတ်သတ်တဲ့ သတင်းတွေ၊ အကြောင်းတွေကို မျက်ခြေမပျက်ရှိတာကိုပြောချင်တာပါ။ သက်ဆိုင်ရာ field ထဲက သူတွေရဲ့ social media account တွေ၊ page တွေကို follow ထားတာမျိုး၊ group တွေထဲ ဝင် join တာမျိုုး၊ blog site တွေမှာ subscribe လုပ်တာမျိုးတွေလုပ်ထားသင့်ပါတယ်။ အဲ့လိုတွေလုပ်ထားတော့ up to date ဖြစ်တာပေါ့။
- ကုဒ်ချည်းပဲရေးမနေပါနဲ့။
Programmer က code မရေးလို့ ဘာလုပ်ရမှာလဲလို့ မေးစရာရှိပါတယ်။ ဆိုလိုရင်းက ငယ်ငယ်က စာဂျပိုးတွေလို စာကလွဲဘာမှမသိတာမျိုးမဖြစ်စေချင်တာပါ။ တခြားလိုအပ်တဲ့ skill တွေလည်းရှိဖို့လိုပါတယ်။ programmer သည် အခြားသူတွေနဲ့ ပေါင်းလုပ်ရတာဖြစ်လို့ communication skill, team work, leadership စတဲ့ soft skills တွေလည်းကောင်းဖို့လိုပါတယ်။ မဟုတ်ရင် လူကတော်သလောက် အခြားသူတွေအတွက်ဘုကလန့်ဖြစ်နေပါလိမ့်မယ်။
- sharing is caring
နောက်တစ်ခုက ကိုယ်လေ့လာတာထားတာတွေကို တတ်နိုင်သမျှ community ထဲမှာ ပြန် sharing လုပ်ပေးပါ။ sharing လုပ်တာနဲ့ စဆရက လုပ်တာနဲ့က မတူပါဘူး။ sharing လုပ်တဲ့အတွက် communityကို တိုးတက်စေပါတယ်။ india မှာ technology နဲ့ပတ်သတ်ရင် တိုးတက်တာ သူတို့ရဲ့ community sharing အားကောင်းတာကြောင့်လည်းပါပါတယ်။ တစ်ခုခုဆို YouTube ပေါ် သူတို့ပဲ အားကိုးနေရတာ။
- stay healthy & hydrated
technology သည် အမြဲပြောင်းလဲနေတဲ့အတွက် programmer တစ်ယောက်အတွက် life long learning လုပ်ဖို့ကအရေးကြီးပါတယ်။ အဲ့ဒါကြောင့် ကိုယ်လုပ်ချင်တာလုပ်နိုင်ဖို့ ခန္ဓာကိုယ်ကျန်းမာအောင်အမြဲဂရုစိုက်ဖို့လိုပါတယ်။ အထူးသဖြင့် programmer တွေအတွက်ဆို မျက်လုံးတို့ ခါးတို့ပေါ့။ တတ်နိုင်သမျှ ကိုယ့်ရဲ့ life style ထဲမှာ healthy habits လေးတွေ ပါလာအောင်ကြိုးစားကြည့်ပါ။
ဒီလောက်ဆိုတော်တော်လေးပြည့်စုံသွားပါပြီ။
#hwp21