Programming/Software development career ထဲကိုဝင်လိုက်ပြီဆို ကိုယ့်ရဲ့ professional major sector တစ်ခုကိုရွေးချယ်ရစမြဲပါပဲ။ ကိုယ်က desktop software တွေရေးမှာလား၊ website, web application တွေရေးချင်တာလား၊ mobile development ဆို android လား iOS လားပေါ့။ platform အားလုံးကို develop လုပ်နိုင်နေတဲ့ လူတွေလည်းရှိပါတယ်၊ ဒါကတော့သူ့အကြောင်းပြချက်နဲ့သူရှိနေမှာပါ။ ဒါပေမယ့် ယေဘုယျအားဖြင့်တော့ ဒီလောကထဲကို စဝင်ပြီဆို ခုနကကျနော်ပြောထားတဲ့အထဲကတစ်ခုခုကို ကိုယ်ရဲ့ professional career အဖြစ်စပြီးရွေးချယ်ရမှာဖြစ်ပါတယ်။
ဥပမာကိုယ်က web development ကို professional career နဲ့ရွေးလိုက်တယ်ဆိုပါစို့၊ web နဲ့ ပတ်သတ်တဲ့ programming language တစ်ခုလေ့လာမယ်၊ ပြီးရင်အဲ့ဒီ language ပေါ်မှာအချိန်အတိုင်းအတာတစ်ခု တစ်နည်းအားဖြင့် profession လုပ်လို့ရတဲ့ level တစ်ခုအထိ focus လုပ်ထားဖို့လိုပါတယ်။ အဲ့ဒီအချိန်အတောအတွင်းမှာ တစ်ခြားသော language တွေလေ့လာလို့မရတော့ဘူးလားဆိုတော့ မဟုတ်ပါဘူး၊ လေ့လာလို့ရပါတယ်။ ဒါပေမယ့် တိကျတဲ့ reason တစ်ခုလိုကိုလိုအပ်ပါတယ်။
ကိုယ်ကအသစ်တစ်ခုလေ့လာတော့မယ်ဆို လေ့လာရတဲ့ခိုင်မာတဲ့အကြောင်းအရင်းတစ်ခု နောက်ကွယ်မှာရှိဖို့လိုအပ်ပါတယ်။ အဲ့ဒီအကြောင်းအရင်းကလည်း ရေရှည်အတွက်ဖြစ်ရင် အကောင်းဆုံးပါ။ ကိုယ်ရွေးချယ်ထားတာက web development, ဒါပေမယ့် android development ပါတွဲပြီးတော့ လုပ်ရတော့မယ်ဆိုပါစို့၊ ဒါဆိုရင် နောက်ထပ် programming တစ်ခုလေ့လာဖို့လိုအပ်လာပြီးတော့ ဒါဟာခိုင်မာတဲ့အကြောင်းပြချက်တစ်ခုဖြစ်ပါတယ်။ ဘာဖြစ်လို့ အသစ်တစ်ခုထပ်လေ့လာတဲ့ နေရာမှာ ခိုင်မာတဲ့အကြောင်းပြချက်လိုအပ်လဲပေါ့။
ဘာကြောင့်လဲဆိုတော့ အဓိကအားဖြင့် အချက်နှစ်ချက်ရှိပါတယ်။ ပထမတစ်ချက်က ကိုယ့်မှာလက်ရှိရှိပြီးသား profession လုပ်ထားတဲ့ language အပေါ် တစ်နည်းမဟုတ်တစ်နည်း အနည်းနဲ့အများသက်ရောက်မှုရှိနိုင်ပါတယ်။ အရင်က focus က တစ်ခုထဲမှာပဲထားနေရပေမယ့် ထပ်လေ့လာတဲ့အချိန်မှာ new language အပေါ်ကိုပါ focus ခွဲပေးလိုက်ရတဲ့အတွက်ကြောင့်ဖြစ်ပါတယ်။ ဘယ်လောက်လွယ်တဲ့ language ဖြစ်သည့်တိုင်အောင် အချိန်နဲ့လုပ်အားစိုက်ရမှာပါပဲ။ ကိုယ် profession လုပ်ထားတဲ့ language မှာကိုယ်ကပိုင်နိုင်ထားပြီးသားဆိုရင် ပြဿနာမရှိနိုင်ပေမယ့် profession language ကလည်းလေ့လာနေဆဲအခြေအနေမှာဆို ပြဿနာတွေရှိနိုင်ပါတယ်၊ ဟိုမရောက် ဒီမရောက်ဖြစ်သွားတာမျိုးပေါ့၊ ဒါကြောင့်မို့ သေချာတဲ့ reason ရှိမှလေ့လာသင့်ပါတယ်။
နောက်တစ်ချက်က ကိုယ့်မှာသာ လေ့လာရတဲ့အကြောင်းအရင်း ခိုင်ခိုင်လုံလုံမရှိဘူးဆိုရင် လေ့လာတဲ့နေရာမှာ စိတ်အားထက်သန်မှုမရှိသလို ခနလေးနဲ့ပဲ ပြန်မေ့ပါတယ်။ ဒါက ကျနော်တောင် အထူးတစ်လည်ပြောစရာမလိုပါဘူး။ ကျနော်တို့အားလုံး အပျင်းပြေတစ်ခုမဟုတ်တစ်ခု လေ့လာစမ်းသပ်ကြည့်ဖူးကြတာပဲ၊ ဒါပေမယ့် ပြန်လုံးအသုံးမပြု၊ လေ့ကျင့်တာမျိုးတွေလည်းမရှိဘူးဆိုရင် မေ့သွားကြတာပါပဲ။ နည်းနည်းပါပါး တီးမိခေါက်မိရုံလောက် ဗဟုသုတပဲကျန်ခဲ့မယ်။ ဒါကြောင့်မို့ ရေရှည်အတွက်လုံလောက်တဲ့ အကြောင်းရင်းတစ်ခု လိုအပ်ရခြင်းဖြစ်ပါတယ်။
ကျွန်တော်တို့မြင်ဖူးလိုက်မယ်၊ web, android & iOS platform အကုန်ရေးပြီးကျွမ်းကျင်နေတဲ့ full stack developer တွေ၊ သူတို့တွေသည်လည်း စစချင်းတုန်းကတော့ platform တစ်ခုကနေစရခဲ့တာချည်းပဲ။ နောက်တော့မှ အသစ်အသစ်ထပ်လေ့လာ၊ လေ့လာတဲ့အရာကိုလည်း တော်လျှောက်အသုံးပြုသွားကျတဲ့အတွက် multi-platform capability ရသွားကျတာဖြစ်ပါတယ်။ မိမိက full stack platform development ကိုသွားချင်တယ်ဆို ဒီလို scenario ကတော့ အကောင်းဆုံးပါပဲ။
ဆိုတော့ နိဂုံးချုပ်ရရင် ကိုယ်က profession language တစ်ခုကိုလေ့လာနေဆဲသူတစ်ယောက်ဆိုရင် ကိုယ်လေ့လာနေတဲ့ အရာပေါ်မှာ level တစ်ခုရောက်တဲ့အထိ focus ထားပြီး stick လုပ်ထားစေချင်ပါတယ်။ အသစ်ထပ်လေ့လာရမယ်ဆိုရင် ကိုယ်က ရေရှည်လုပ်ဖြစ်မှာလား၊ ဒါမှမဟုတ် တီးမိခေါက်မိရုံပဲလား ဆိုတဲ့ လေ့လာရသည့်ရည်ရွယ်ချက်ကို ပြန်စဉ်းစားဖို့လိုအပ်ပါတယ်။ ကိုယ်က senior or mid-level developer တစ်ယောက်ဆို profession အတွက် သိသိသာသာထိခိုက်မှုမရှိနိုင်ပေမယ့် junior တစ်ယောက်အနေနဲ့ဆို ဒီအချက်ကို အထူးဂရုပြုသင့်ဖို့ လိုအပ်ပါတယ်။
Thanks for reading & happy coding.
Credit – A Programmer