Sunday, May 12, 2013

အရည်အသွေးမြင့် ဆော့ဖ်ဝဲအင်ဂျင်နီယာ


မိတ်ဆက်နိဒါန်း
ဒီကနေ ခတ်အခါမှာ စီးပွားရေး လူမှုရေး နဲ  အခြားအခြားသော အထွေထွေကိစ္စရပ်တွေဟာ တခုနဲ တခု ဆက်နွယ်ပြီး ရှုပ်ထွေးမှုတွေ မင့်မားလာပါတယ်။ အဲဒီလို မင့်မားလာတဲ့ ရှုပ်ထွေးမှုတွေကို ဖရှင်းနိုင်ဖို  ကျွန်တော်တို ဟာ ကွန်ပြူတာစနစ်တွေကို ပိုမိုအသုံးချလာကြရပါတယ်။ အခုဆိုရင် ကျွန်တော်တို ရဲ့ န စဉ်ဘ၀တွေမှာ ကွန်ပြူတာနဲ ကင်းလွတ်ဖို ဆိုတာ တာ်တော် မဖြစ်နိုင်တော့တဲ့ အခြေအနေကိုရောက်နေပါပြီ။ အဲဒီလို ကွန်ပြူတာစနစ်တွေကို ပိုမိုအသုံးချလာကြတာနဲ အမျှ၊ အဲဒီကွန်ပြူတာစနစ်တွေ ထိရောက်အောင်မြင်အောင် အလုပ်လုပ်နိုင်ဖို အတွက် ပိုမို အရည်အသွေးမြင့်မားတဲ့ ဆာ့ဖ်၀ဲတွေလိုအပ်လာပါတယ်။ အဲဒီလို အရည်အသွေးမြင့် ဆာ့ဖ်၀ဲတွေရေးဖို  ပထမတန်းစား programmer တွ၊ software engineer တွ၊ software developer တွ ပိုမိုလိုအပ်လာတယ်ပေါ့။ လိုအပ်လာတဲ့ လူ စွမ်းအားအရင်းအမြစ်တွေရဖို ၊ ပညာရေးဆိုင်ရာ အဖွဲ အစည်း တက္ကသိုလ် ကာလိပ် သိပ္ပံတွေက မွးထုတ်ပေးရမှာမှာပါ။ ဒါပေမယ့်ခက်တာက အဲဒီလို ကာလိပ် သိပ္ပံ တက္ကသိုလ်ဆင်း အများစုရဲ့ ပာစကားကတော့ အားတက်စရာပါပဲ။ “အခုအချိန်မှာ မင်္ဂလာပါကမ္ဘာကြီး Hello World * ဆိုတာတောင် အနိုင်နိုင်ပဲဗျို ” တဲ့ ။[* programming language တစ်ခုကို စတင်လေ့လာသင်ယူသူတိုင်း ပထမဆုံးအနေဖြင့် ရးလေ့ရှိသည့်၊ အဓိကလုပ်ဆောင်ချက်(statement) တစ်ကြောင်းတည်းသာပါသည့် ပရိုဂရမ်။]
ရိုးရိုးသားသား၀န်ခံရရင်တော့ ကျွန်တော်တို  ဘယ်လောက်ကြိုးစားခဲ့ပါတယ်ပြောပြော ဆိုးဆိုး၀ါး၀ါး မှားနေပြီဆိုတာပါပဲ။ ချိန်ဖို က လိုရင်းမဟုတ်ပဲ မှန်ဖို ကသာ အဓိကကိုးဗျ။ ရည်ရွယ်ချက်နဲ  ကြိုးပမ်းအားထုတ်မှုတွေထက် ဖစ်လာတဲ့ ရလာတဲ့ အကျိုးရလာဒ်ကသာ ပိုအရေးကြီးတယ်လို ဆိုလိုတာပါ။ မိတ်ဆွေတို ရာ ဘယ်လိုထင်ပါသလဲ။ ဒါနဲ  စကားမစပ်ပြောရရင်တော့ ကျွန်တော့ရဲ့ အရင်ဆောင်းပါးတွေမှာရော၊ အခုဆောင်းပါးမှာပါ ရည်ညွှန်းတဲ့ “မိတ်ဆွေတို ” ဆိုတာ ဆာ့ဖ်၀ဲရေးသားခြင်းအလုပ်နဲ  အသက်မွေး၀မ်းကြောင်းပြုကြမယ့် ကျာင်းသူကျောင်းသား လူငယ်တွေ၊ ဘွဲ ရကာစလူငယ်တွေ၊ programming တို  software engineering တို နဲ  ပတ်သက်ပြီး အသိပညာ ဗဟုသုတ ရှာဖွေစုဆောင်းနေသူတွေ ကို ရည်ညွှန်းတာပါ။ ဒီလူငယ်တွေဆီက စိတ်မကောင်းစရာ အမြဲလိုလို ကြားနေရတဲ့ စကားတွေကတော့ “programming က ခက်တယ်ဗျာ။ ဘယ်က စ’ရေးရမှန်းမသိဘူး။ ဘာမှလည်းမတတ်ဘူး ဘယ်လိုလုပ်ရမလဲ။” ဆိုတဲ့ စိတ်ပျက်အားလျော့တဲ့ လမ်းပျောက်နေတဲ့ အသံတွေပါပဲ။ အမှန်တော့လည်း ဒီဒုက္ခတွေဟာ မိတ်ဆွေတို လို အိုင်တီလိုင်း ဆာ့ဖ်၀ဲလိုင်း လိုက်မိတဲ့သူတွေချည်း ခံစားရတဲ့ အရာတွေမဟုတ်ပါဘူး။ ကျာင်းသူကျောင်းသားတိုင်း ဘွဲ ရကာစ လူငယ်တိုင်း ခံစားရတဲ့ ခံစားမှုပါ။ လူတိုင်းပါ။ ကိုယ့်ကျမှ ထူးပြီး ကံဆိုးနေတာတော့မဟုတ်ပါဘူး။ အဲဒီပြဿနာအတွက် လက်ညှိုးထိုး တရားခံရှာနေမယ့်အစား၊ တစ်စုံတရောက်ကိုပဲဖြစ်ဖြစ် ကိုယ့်ကိုကိုယ်ပဲဖြစ်ဖြစ် အပြစ်တင်နေမယ့်အစား ဒီအခက်အခဲတွေကို ကျာ်လွှားနိုင်အောင် ဘယ်လိုလုပ်ကြမလဲ ဆိုတဲ့ ဖရှင်းဖို နည်းလမ်းကိုသာ ရှာဖွေကြပါစို ။ မားဘယ်ကနေ ဘယ်သူပစ်လိုက်သလဲ ဆိုတာထက်၊ မားဒဏ်ရာကြောင့် အဆိပ်တက်နေသူကို အရင်ဆုံး ကုသပေးဖို  အရေးကြီးသလိုမျိုးပေါ့။
ကိုယ့်ကိုကိုယ်သိခြင်း (Know Thyself)
အရည်အသွေးမြင့် ပရိုဂရမ်မာတွေ ဆာ့ဖ်၀ဲအင်ဂျင်နီယာတွေ ဖစ်နိုင်ဖို အတွက်၊ အရေးအကြီးတကာ့အကြီးဆုံးနဲ  နံပါတ်တစ်အချက်ကတော့ မးခွန်းတခုနဲ  စတင်လိုက်ဖို ပါပဲ။ အဲဒီမေးခွန်းကတော့ “ငါဟာ.. ဒီ ပရိုဂရမ်မာဘ၀ ဆာ့ဖ်၀ဲအင်ဂျင်နီယာဘ၀ ဆာ့ဖ်၀ဲ Developer ဘ၀ ကို ပင်းပြင်းထန်ထန် လိုလိုလားလား ဖစ်ချင်စိတ်ရှိရဲ့လား။ ရှိတယ်ဆိုရင်ရော သချာရဲ့လား” ဆိုတာပဲဖြစ်ပါတယ်။ ဒီနေရာမှာ Apple ရဲ့ ဖခင်ကြီး၊ ကွယ်လွန်သွားရှာပြီဖြစ်တဲ့ စတိဗ်ဂျော့ဘ် Steven Paul Jobs (February 24, 1955 – October 5, 2011) ရဲ့ စကားကို ပန်လည်ကိုးကားပါရစေ။ အဲဒီစကားက အမေရိကန်ပြည်ထောင်စု ကယ်လီဖိုးနီးယားပြည်နယ်မှာရှိတဲ့ ကမ္ဘာ့အဆင့်မှီ နာမည်ကျော် စတဲန်ဖို ဒ် (Standord) တက္ကသိုလ်ကြီးရဲ့ ၊ ၂၀၀၅ ခု ဂျွန်လ ၁၂ န  မှာကျင်းပခဲ့တဲ့ ဘွဲ နှင်းသဘင် အခမ်းအနားမှာ မိတ်ဆွေတို လို ဘွဲ ရ ကျာင်းသူကျောင်းသား လူငယ်များကို ပာခဲ့တဲ့ စကားပေါ့။
“ခင်ဗျားလုပ်တဲ့အလုပ်က ခင်ဗျားဘ၀ရဲ့ကွက်လပ်ကိုဖြည့် ပးမှာဗျ။ ဒါကြောင့် ကိုယ့် ဘ၀ကိုယ် အမှန်တကယ် ကျနပ်ပျော်ရွှင်နိုင်ဖို ဆိုရင်၊ ကိုယ့်စိတ်ထဲမှာ အရမ်းမိုက်တဲ့အလုပ် တကယ်အနှစ်ကျတဲ့အလုပ်လို  လးလေးနက်နက်ယုံကြည်တဲ့ အလုပ်ကို လုပ်ဖို ပဲဖြစ်တယ်။ အဲဒီလို အရမ်းမိုက်တဲ့အလုပ် တကယ်အနှစ်ကျတဲ့အလုပ်မျိုးလို  ယုံကြည်နိုင်ဖို အတွက် တစ်ခုတည်းသော နည်းလမ်းကတော့ ခင်ဗျားဟာ ခင်ဗျားလုပ်တဲ့အလုပ်ကို ချစ် ဖို ပဲ။ အဲဒီလို အလုပ်မျိုး မတွေ သးရင်လည်း တွ အာင် ဆက်ပြီးသာ ရှာဗျာ။ ရာက်ရာဘ၀ ဖစ်ရာနေရမှာ ကျာက် မချလိုက်နဲ ..ရပ်တန် မနေနဲ ။ အဲဒီလို အလုပ်မျိုးတွေ ပီဟေ့ဆိုတာနဲ  ခင်ဗျားနှလုံးသားက (ဒီ အလုပ်ဟာ ငါတကယ်ချစ်တဲ့ အလုပ် ငါတကယ်လုပ်ချင်တဲ့ အလုပ်လို ) သိလာမှာပဲ။ တကယ်မြဲမြံခိုင်ခန် တဲ့ ဆက်ဆံရေးတွေလိုပဲ အချိန်ကြာလာတာနဲ အမျှ ခင်ဗျားအလုပ်ဟာ ခင်ဗျားဘ၀နဲ  တသားတည်း တထပ်တည်း ကျသထက်ကျလာလိမ့်မယ်။ ဒါကြောင့် အဲဒီလိုအလုပ်မျိုးတွေ တဲ့အထိိ ဆက်ပြီးသာရှာဗျာ။ မတွေ သးပဲနဲ တာ့ ဘ၀ကို ကျာက််မချလိုက်နဲ ။”
ဒါကြောင့် မိတ်ဆွေဟာ ကိုယ်တကယ် လိုလိုလားလား နှစ်နှစ်ကာကာ လုပ်ချင်တဲ့ အလုပ်မျိုးဟာ ဘယ်လိုအလုပ်မျိုးဖြစ်တယ်ဆိုတာ မိတ်ဆွေကိုယ်တိုင် ဆုံးဖြတ်ရွေးချယ်ရပါမယ်။
“မသိဘူးလေ..ဆယ်တန်းအောင်တုန်းက ကိုယ့်အမှတ်နဲ  အစိုးရက ခွဲချပေးလိုက်တဲ့ ကျာင်းပဲ တက်လိုက်ရတာပေါ့… ကွန်ပြူတာတက္ကသိုလ်ဆိုပဲ၊ မိဘကခိုင်းလို ၊ သူငယ်ချင်းတွေလိုက်တဲ့လိုင်း လိုက်လိုက်တာပဲ၊ ဒီလိုင်းက လစာကောင်းတယ်ဆိုလို ၊ ဘယ်လို ပာရမလဲပေါ့နော် ဒီလိုပါပဲ ..ဒီလိုနဲ ပဲ ဒီလမ်းကို ဒီလိုပဲ ရာက်လာတာလို  ဆိုရမှာပဲပေါ့နော်” တို ဘာတို ဆိုရင်တော့ အခြေအနေမကောင်းသေးဘူးဗျ။ နာက်တချက်က ကိုယ် လိုက်လက်စလိုင်းမို လို တို ၊ အိုင်တီနဲ ဘွဲ ရထားတော့လည်း အိုင်တီပဲလုပ်ချင်တယ် တို ဆိုတာတွေဟာလည်း လုံး၀မဟုတ်သေးပါဘူး။ လူတစ်ရောက်ဟာ ကိုယ့်ကိုကိုယ် ရှာဖွေတွေ ရှိလာတာနဲ အမျှ လိုအပ်ရင် လိုအပ်သလို ရဲရဲ၀ံ့၀ံ ချိုးကွေ နိုင်ရပါမယ်။ လမ်းကြောင်းပြောင်းပစ်နိုင်ရပါမယ်။ အသစ်တဖန် ပန်စရဲတဲ့ စိတ်ဓါတ်ခွန်အားရှိရပါမယ်။ မိတ်ဆွေဟာ ငါ ဘာဖြစ်ချင်တာလဲ ငါဘာလုပ်ချင်တာလဲ ဘယ်လမ်းကို လျှာက်ချင်တာလဲဆိုတာ မိမိကိုယ် မိမိ သိအောင်အရင်ဦးဆုံး အားထုတ်ကြိုးပမ်းလိုက်ပါဦး။ လမ်းမသိရင် လမ်းလွဲနေရင် လိုရာခရီးမရောက်ပဲ အလဟဿ အချိန်ကုန် လူပန်း “စရိတ်ကုန် ဇလုံပွန်း ဇွန်းတို” ဖစ်နေမှာပေါ့။ ပီးတော့လည်း နာက်တစ်ချက်က ကိုယ့်ဘ၀အတွက် အာင်အောင်မြင်မြင် ပျာ်ပျော်ရွှင်ရွှင် ရရှည် စိတ်၀င်တစား လုပ်နိုင်ဖို အတွက် အလုပ် ရွးချယ်တဲ့နေရာမှာ လစာတို  အကျိုးအမြတ်တို  စတဲ့ ငွတခုတည်းကိုချည်း ဦးတည်မစဉ်းစားသင့်ပါဘူး။ “အိုင်တီသမားက စလုံးမှာ ဆိုရင် အနည်းဆုံး သုံးထောင်ပဲ..အဲဒါကြောင့် အိုင်တီလိုင်းလိုက်ကြဟေ့”။ “အမေရိကားမှာဆိုရင် အနည်းဆုံး အစိမ်း ခာက်ထောင်လောက်ကတော့ အသာလေးပဲပေါ့..ဒေါ့နက်တို  ဂျာဗားတို  လ့လာကွာ” ဆိုတဲ့ စကားတွေဟာ အသက်မွေး၀မ်းကြောင်းအလုပ်တခုကို ရွးချယ်ဖို  မှန်ကန်တဲ့ အကြောင်းပြချက်တွေ တွန်းအားတွေမဟုတ်ပါဘူး။ စိတ်မ၀င်စားတဲ့ အလုပ်ကိုလုပ်ရင် မထူးချွန်ဘူး။ မထူးချွန်တဲ့အလုပ်ကိုလုပ်ရင် မအောင်မြင်ဘူး။ မအောင်မြင်တဲ့အလုပ်ကို လုပ်မှတော့ ဘယ်မှာလာ ကာင်းတော့မလဲဗျာ။ ငွကြောင့်သာဆိုရင်တော့ ဆာ့ဖ်၀ဲရေးတာထက်၊ ကုန်သည်ပွဲစား အရောင်းအ၀ယ်သမားလုပ်တာကမှ ငွများများရဖို  ချမ်းသာဖို  ပိုပြီးသေချာပါတယ်။ မိတ်ဆွေဟာ အသက်အရွယ်ရလာတာနဲ အမျှ အလုပ်တခုဟာ ငွများများရတိုင်းလည်း သိပ်တော့မနိပ်လှဘူး ဆိုတာ နားလည်လက်ခံလာမှာပါ။ ကိုယ်ဘာလုပ်ချင်သလဲ ဘာဖြစ်ချင်သလဲ ဘယ်နေရာတွေမှာ အားသန်လဲ ထူးချွန်သလဲ programming တို  software engineering တို ကို ငါ တကယ်စိတ်၀င်စားရဲ့လား ဆိုတာ စဉ်းစားဆုံးဖြတ်ပါ။ မသေချာရင်တော့လည်း ကိုယ်ထင်တဲ့ဟာ လက်တွေ လုပ်ကြည့်လိုက်ရုံ ရှိတော့တာပဲဗျာ။ လူ ဘ၀ကြီးဆိုတာကလည်း ခပ်ရှုပ်ရှုပ်ရယ်။ တချို အလုပ်တွေက လုပ်ကြည့်တော့မှ တဖြည်းဖြည်း စိတ်၀င်စားလာပြီး ကိုယ်၀ါသနာပါမှန်း ထူးချွန်မှန်း သိလိုက်ရသလို၊ တချို အလုပ်ကြပြန်တော့ ကိုယ်ကသိပ် crazy ဖစ်နေပေမယ့် တကယ်တန်းလုပ်ကြည့်လိုက်တော့မှ “ကျီးကန်း၊ စကားသင်” ဖစ်နေတာမျိုး ကြုံရတတ်တာကိုးဗျ။ ဒီလို မစမ်းခရမ်းပျိုး လုပ်ကြည့်နေရတဲ့အတွက် အချိန်တော့ နဲနဲ ရင်းရမှာပေါ့။ မတတ်နိုင်ဘူး။ ကိုယ့်ဘ၀ရဲ့ ကျန်တဲ့သက်တမ်းတလျောက်လုံး ကိုယ် တကယ်စိတ်၀င်စားပြီး ထူးချွန်အားသန်ရာကိုလုပ်နိုင်ဖို  အချိန်နဲ ရင်းပြီး ရှာဖွေသင့်ရင် ရှာဖွေရတော့မှာပဲ။ အင်း အရေးကြီးတာက limit လးတော့ထားပေါ့ဗျာ။ တစ်ချို ပုဂ္ဂိုလ်များလည်း တွ ဖူးပါရဲ့။ “ဘွဲ မျိုးစုံလည်းရထားတယ်၊ အလုပ်လည်းပေါင်းစုံပြီ၊ နိုင်ငံပေါင်းစုံလည်းရောက်ပြီးပြီ၊ အသက်လည်းခြောက်ဆယ်ကျော်ပြီ။ ခုထက်ထိတော့ ဘာကိုမှ ထူးထူးခြားခြား သိပ်စိတ်၀င်စားလှတယ်မရှိပါဘူး။ ဟိုကွေ ဟိုတက်၊ ဒီကွေ ဒီတက် နဲ ပဲ ဖတ်သန်းလာခဲ့တာပဲကွ” ဆိုတာမျိုးလည်းရှိလေတော့၊ ဒီလို မစမ်းခရမ်းပျိုး လုပ်ကြည့်တဲ့နည်းက သိပ်တော့မကောင်းလှဘူးပေါ့။ ဒါပေမယ့်လည်း ပတ်၀န်းကျင်နဲ  အခြေအနေက တွန်းပို လိုက်တဲ့ ကိုယ်မကျင်လည် မနှစ်သက်တဲ့ နရာမှာ ကျာက်ချနေမယ့်အစား မျာနေမယ့်အစားတော့၊ ဒီနည်းကမှ ခပ်ကောင်းကောင်းပါ။ အကောင်းဆုံးက ကိုယ်တိုင် စာများများဖတ် လ့လာ၊ မိဘ၊ ဆရာသမားကောင်း၊ မိတ်ဆွေကောင်း၊ အတွေ အကြုံဗဟုသုတများသူတွေ နဲ တိုင်ပင်ဆွေးနွေး အကြံညာဏ်ရယူပြီး နာက်ဆုံးအဆင့်မှာတော့ ကိုယ့်လမ်းကို ကိုယ်တိုင်ရွေးပေါ့ဗျာ။ အနှစ်ချုပ်ကတော့ ကိုယ့်ဆုံးဖြတ်ချက် ရွးချယ်ချက်ကြောင့်မဟုတ်ပဲ အခြေအနေတစ်ခုက တွန်းပို လိုက်လို  တစ်နေရာကို ရာက်လာတာဆိုရင်၊ တခြားအခြေအနေတစ်ခုက အဲဒီနေရာက ပန်တွန်းချသွားတာကို ကြုံရနိုင်တယ် ဆိုတာပါပဲ။

ရွေ လျားပစ်မှတ် (Software Engineering)
ဒုတိယအချက်အနေနဲ ကတော့ ဒီ software engineering လိုင်းကိုလိုက်တော့မယ်ဆိုရင် ဒီပညာရပ်ရဲ့ သဘောသဘာ၀ နဲ  အနေအထားကို ကာင်းကောင်း နားလည်သဘောပေါက်ထားဖို လိုအပ်တဲ့ကိစ္စပါ။ ဘာလို လဲဆိုတော့ ဒီပညာရပ်ဟာ တခြား အင်ဂျင်နီယာပညာရပ်တွေလို ရင့်ကျက် တည်ငြိမ် အသားကျတဲ့ အဆင့်ထိ မရောက်သေးတော့ ဒီ ပညာရပ်နဲ ပတ်သက်တဲ့ နည်းစနစ်အသစ်တွေ နည်းပညာအသစ်တွေ အတွေးအခေါ် အယူအဆအသစ်တွေနဲ ၊ programming language အသစ်တွေ ဒါမှမဟုတ် programming language version အသစ်တွေ ဟာ အချိန်နဲ အမျှ အဆက်မပြတ် ပုံမှန် ပါ်ထွက်နေလို ပဲဖြစ်ပါတယ်။ ဒီအချက်ဟာ ကျာင်းသူကျောင်းသားတွေသာမက၊ သင်ကြားရေးပိုင်းဆိုင်ရာ ဆရာ ဆရာမတွေအပြင် သင်ရိုးညွှန်းတမ်းရေးဆွဲသူတွေပါ တွ ကြုံနေရတဲ့ အခက်အခဲဖြစ်ပါတယ်။ သင်ရိုးတစ်ခုကို ပုစုချိန်၊ မိတ်ဆွေတို ကျာင်းသားဘ၀ ဖတ်သန်းချိန်နဲ  လုပ်ငန်းခွင်၀င်ရောက်ချိန် ကြားမှာ၊ ပင်ပ software industry လာကရဲ့လိုအပ်ချက်တွေ တာင်းဆိုမှုတွေနဲ ၊ ဆာ့ဖ်၀ဲအင်ဂျင်နီယာပညာရပ်ကိုယ်တိုင်က တာ်တော်လေး ပာင်းလဲသွားပြီဖြစ်ပါတယ်။ ဘာနဲ အလားသဏ္ဍန်တူသလဲဆိုတော့ မိတ်ဆွေတို ဟာ စစချင်းပဲ ရွ လျားပစ်မှတ်ကို တိတိကျကျ မှန်အောင် ပစ်ခတ်ဖို ကြိုးစား အားထုတ်နေရတဲ့ သူတွေလိုဖြစ်နေပြီး ရလာဒ်တော်တော်များများက ဦးတည်ချက်နဲ  လွဲချော်သွားရတဲ့ အဖြစ်မျိုးတွေ ကြုံတွေ နရတာပါ။ ဒါကြောင့် ဘွဲ ရကာစ လူငယ်တွေအနေနဲ  လုပ်ငန်းခွင်အတွက် ဘယ်လိုမှ အဆင်သင့်မဖြစ်နိုင်တဲ့ အနေအထားမျိုးကြုံရပါတော့တယ်။
ခက်တာက သင်ရိုညွှန်းတမ်းဆိုတာမျိုးကို အမြဲပြောင်းနေလို  အားတိုင်းအဆင့်မြှင့်နေလို ရတာမျိုးမဟုတ်ပါဘူး။ ဒါကြောင့် software engineering ပညာရပ်နဲ ပတ်သက်ရင် သင်ကြားရေးပိုင်းဆိုင်ရာ ဆရာ ဆရာမတွေနဲ  ကျာင်းသူကျောင်းသား လူငယ်တွေကိုယ်တိုင်ပဲ အမြဲမပြတ် ရှာဖွေ ဖည့်ဆည်းနေဖို  ၊ လ့လာနေဖို ၊ လ့ကျင့်နေဖို  ဆိုတာ မဖြစ်မနေ လိုအပ်လာပါတယ်။ အဲဒီလို လုပ်နိုင်ဖို ကျပြန်တော့ တိုင်းပြည်တပြည်ရဲ့ အခြေခံအဆောက်အဦပြည့်စုံမှု အနေအထားက အများကြီး စကားပြောလာပါပြီ။ နာက်ဆုံးပေါ် စာအုပ်စာအုပ်စာတမ်း တွ အလျှံပယ်ရှိတဲ့စာကြည့်တိုက်တွေ၊ မန်နှုန်းမြင့်အင်တာနက် စတာတွေဟာ ပညာရေးတိုးတက်ဖို ၊ ပာင်းလဲရွေ လျားနေတဲ့ နည်းပညာတွေနောက်ကို အမှီလိုက်နိုင်ဖို အတွက် မရှိမဖြစ် လိုအပ်ချက်တွေပါ။ တက္ကသိုလ် ကာလိပ် စုစုပေါင်းအရေအတွက် မဟုတ်ပါဘူး။ အခုတော့ အဲဒီလို အမှန်တကယ် လိုအပ်နေတဲ့ လိုအပ်ချက်တွေက မပြည့်စုံ ချို တဲ့လေတော့ ကျာင်းသူကျောင်းသား ခဗျာများလည်း ရှိတဲ့ မီးကျိုးမောင်းပျက် ကျာက်လက်နက်နဲ ပဲ  လာင်ချာထမ်းထားတဲ့ ဒိုင်နိုဆောကြီးကို ရင်ဆိုင်တိုက်ရလို ဖစ်နေတာပေါ့။ တခါတလေ မဆီမဆိုင် တွးမိပါတယ်။ စာကြည့်တိုက် နဲနဲ နဲ  အင်တာနက်နှေးနှေးပဲရှိတဲ့နိုင်ငံကလူတွေဟာ၊ စာကြည့်တိုက်များများ နဲ  အင်တာနက်မြန်မြန်ရှိတဲ့ နိုင်ငံတွေကို သွားအလုပ်ကြ ပညာရှာကြရတာပါလား လို ။ လက်တွေ မှာလည်း ဒီအတိုင်းပဲဖြစ်နေတာကိုး။ ကဲ ထားပါဗျာ မရှိတာတွေ ပာနေလို တာ့လည်း ကျွန်တော်တို ဘာမှ ဖစ်လာမှာမဟုတ်ပါဘူး။ ဒီအခက်အခဲကို လက်တွေ ကျကျပဲ ကိုယ်လုပ်နိုင်တဲ့ ရှုဒေါင့်ကနေ တတ်နိုင်သလောက်ဖြေရှင်းကြည့်ကြပါစို ။
ဤခရီး နီးပါသည် (Study, Analyse, Practise)
အဲဒီ ဖရှင်းနည်းကတော့ “အတ္တာဟိ အတ္တနော နာထော” ဆိုတာလို မိမိကိုယ်သာကိုးကွယ်ရာလို ခံယူပြီး (ဆရာဆရာမတွေရော ကျာင်းသူကျောင်းသားတွေပါ) မိမိကိုယ်ကို တာ်အောင် တတ်အောင် ကျွမ်းကျင်အောင် တဦးချင်းအနေနဲ  စတင်ကြိုးပမ်း တဲ့ နည်းလမ်းပါပဲ။ programming နဲ  software engineering မှာ တာ်ဖို အတွက်ဆိုရင် “များများဖတ် များများတွေး များများရေး” ရပါလိမ့်မယ်။ မိတ်ဆွေရဲ့ တခြားအပျော်အပါးတွေကို နဲနဲလေးတော့ စတေးရပါလိမ့်မယ်။ များများဖတ်ဖို အတွက် (လောလောဆယ်တော့) စာအုပ်များများမလိုပါဘူး။ မိတ်ဆွေမှာရှိတဲ့ စာအုပ်ကိုသာ တအုပ်ဆို ဆိုသလောက် ကျညက်အောင် ထုံးလိုချေ ရလိုနှေက်ပြီး၊ ကြာင်ပုဇွန်စား ကျွတ်ကျွတ်၀ါးသလို များများဖတ်ပါ။ ဖတ်ပြီးသလောက်ကို ပန်လည်တွေးတော စဉ်းစားဆင်ခြင်ပါ။ ပီးရင် ရးသင့်ရေးထိုက်တဲ့ ပရိုဂရမ်တွေ လ့ကျင့်ခန်းတွေကို လက်တွေ ချရေးပြီး run ကြည့်ပါ။ မးထားတဲ့မေးခွန်း၊ ရးထားတဲ့ ပရိုဂရမ်နဲ ထွက်လာတဲ့အဖြေကို နှိုင်းယှဉ်ဆင်ခြင် သုံးသပ်ကြည့်ပါ။ စက်နဲ  run ဖို  အဆင်မပြေရင် နာက်ဆုံးဗျာ ပရိုဂရမ်ကို စာရွက်နဲ သာချရေးလိုက်ပေတော့။ အရေးအကြီးဆုံးအချက်ကတော့ “ ဒီ program ကို ငါ ဘာအတွက် ရးတာလဲ ဘာကြောင့်ရေးတာလဲ” ဆိုတဲ့ မးခွန်း သို မဟုတ် ပဿနာကို သဘောပေါက်နားလည်အောင်လုပ်ဖို ပါ။ အကြိမ်တော်တော်များများမှာ ကျွန်တော်တို ဟာ အဖြေကိုမသိတာထက်၊ မးခွန်းကို နားမလည် တာက များနေတတ်ပါတယ်။
နောက်တဆင့်အနေနဲ ၊ မိတ်ဆွေဟာ ကိုယ်နဲ ၀ါသနာတူ ရည်ရွယ်ချက်တူတဲ့ သုူငယ်ချင်းတွေနဲ အစု အဖွဲ လးတွေဖွဲ ပီး၊ စာသင်နှစ်တနှစ်မှာ အနဲဆုံး assignment သးသေး နှစ်ခုလောက် နဲ  ပရောဂျက်ကြီးကြီး တခုလောက် ရအောင်ရေးပါ။ ဒါဆိုရင် လးနှစ် တာကာလပြီးရင် မိတ်ဆွေဟာ တာ်တော်ကြီး မဟုတ်တောင်မှာ တာ်တော်လေး တာ့ တီးမိခေါက်မိပြီး လုပ်ငန်းခွင် စိန်ခေါ်မှုတွေအတွက် အဆင်သင့်လောက်နီးနီး ဖစ်နေမှာပါ။ “နေပါဦးဗျ ခင်ဗျားပြောတော့လွယ်တယ် ကျုပ်တို က ဘယ်က စ’ ရးရမှန်းကိုမသိတာ ဘာတွေရေးရမှာလဲ” ဆိုရင် အလွယ်ဆုံးအဖြေပေးပါမယ်။ assignment အတွက်လောက်ဆိုရင်၊ ကိုယ်ပေးလိုက်တဲ့ input တွနဲ  ပါင်း နှုတ် မှက် စား လုပ်တဲ့ ပရိုဂရမ်လေးတွေ၊ အတိုးတွက်တာတို၊့ အလေးချိန် အပူချိန် အကွာအေ၀း စတဲ့ ယူနစ်တွေ တခုကတခုပြောင်းတာတို  ..အဲဒီလိုမျိုး ပရိုဂရမ်လေးတွေ စမ်းရေးကြည့်ပေါ့။ project အတွက်ဆိုရင် လည်း လူတိုင်းရေးနေကြ login, customer, order, product, supplier, invoice, report ပဲပေါ့ဗျာ။ တကယ်တော့ business system အများစုဟာ အဲဒီ flow အပေါ်မှာပဲ တာ်တော်များ အခြေခံထားတာကိုး။ assignment ကို တစ်ရောက်တည်းရေး ၊ project ကို နှစ်ရောက်သုံးရောက် တိုင်ပင်ပြီး ပူးပေါင်းရေးပေါ့။ ပရိုဂရမ်ရေးတာ ဆာ့ဖ်၀ဲရေးတာကို သိပ် ခက်ခဲ နက်နဲတဲ့ အလုပ်တွေလို  သဘောမထားနဲ ဗျ။ အစပိုင်းတော့ စိတ်ညစ်ရတာပေါ့ဗျာ။ မိတ်ဆွေတို  ငယ်ငယ်ကဆိုရင် စာထဲမှာအလွယ်ဆုံးဖြစ်တဲ့ ၀လုံး ရးတာတောင် လှဖို  ပပို  ပီပြင်ဖို  ၀ိုင်းစက်ဖို  တနှစ်လောက် ကြိုးစားခဲ့ရသေးတာပဲ။ အရည်အသွေးမြင့် software engineer ဖစ်ဖို နဲနဲတော့ စိတ်ရှည်သည်းခံပြီး ဇွဲနဘဲ ကြီးရမှာပေါ့။ နာက်အရေးကြီးတဲ့အချက်က မိတ်ဆွေဟာ တုန်ချိနှေးကွေး အင်တာနက်လေး သုံးဖြစ်တဲ့အချိန်တွေမှာ မိတ်ဆွေရဲ့ တန်ဘိုးရှိတဲ့အချိန်တွေကို software engineering တို  programming တို နဲ ဆိုင်တဲ့ forum တွ၊ blog တွ၊ site တွ မှာသာ သုံးစွဲဖို ပါ။ ကမ္ဘာ့ထိပ်တန်းတက္ကသိုလ်ကြီးတွေဖြစ်တဲ့ MIT, Cornel, Stanford, Princeton တို က ထိပ်တန်း ပါမောက္ခကြီးတွေရဲ့ လက်ချာ video တွ notes တွ၊ speech တွ၊ thesis paper တွ စာအုပ်စာတန်းတွေ အင်တာနက်မှာ အလျှံပယ်ရနေလျက်နဲ  ၊ g-talk, y-talk, facebook, twitter, ဂိမ်း, ဟိုဟိုဒီဒီ ဆိုဒ်တွေနဲ အချိန်မဖြုံးမိပါစေနဲ ။ မိတ်ဆွေတို ဖက်ကလည်းပြန်ပြောနိုင်ပါတယ်။ “အေး..ခင်ဗျားပြောတဲ့အတိုင်း လက်တွေ လုပ်ကြည့်ရင် ဘာဖြစ်လာမလဲတော့မသိဘူး။ အခုကိုပဲ လူ အခွင့်အရေး အတော်လေး ဆုံးရှုံးနေပါရောဗျ။ facebook လးတောင် မကြည့်ရဆိုတော့လည်း။ ညစ်သွားပြီဗျာ” လို ။ ကျွန်တော်ဆိုလိုတာက အဲ့ဒါတွေ လုံး၀ကြီး ဖတ်ရမယ်လို ဆိုလိုတာမဟုတ်ပါဘူး။ အတတ်နိုင်ဆုံး လျာ့ဖို လာက်ပါပဲ။ ကွယ်လွန်သွားရှာပြီဖြစ်တဲ့ အဆိုတော်ကြီး ကိုထီး (စိုင်းထီးဆိုင်) သီဆိုခဲ့တဲ့ “အပေးနဲ အယူ” သီချင်းထဲက ဆရာစိုင်းခမ်းလိတ်ရဲ့ စာသားလေးကိုပဲ မျှေ၀လိုက်ပါရစေ။ “ထိုက်တန်တဲ့ ရင်းနှီးမှုတော့ရှိရမယ်။ မယုတ်မလွန်တဲ့ ကျိုးစားမှုတော့ စိုက်ရမယ်။ နတ်စီတဲ့ အိပ်မက်လှလှ လွယ်လွယ်နဲ မရ” ဆိုတဲ့ စကားပါ။ မှန်ပါတယ်မိတ်ဆွေ။ လွယ်လယ်နဲ  စပယ်ပွင့်ရင်တော့ တလောကလုံး သင်းပျံ မွှးကြိုင်ပြီး လူတိုင်းရဲ့ခေါင်းမှာ ပန်းတွေနဲ ၀နေမှာပေါ့ဗျာ။

ဘယ်စာကို မာင်သင်မတုန်း (programming language)
ဒါကတော့ ကျာင်းသူကျောင်းသားအဆင့်ကျော်လာတဲ့ လူငယ်တွေနဲ  အများဆုံး ပတ်သက်တဲ့အကြောင်းပါ။ ထူးထွေတည့် အံ့ရာသော် ပဲဆိုကြပါစို ဗျာ။ တခြားနိုင်ငံတွေရဲ့ ဆာ့ဖ်၀ဲလုပ်ငန်းခွင်တွေမှာ လုပ်ကိုင်နေကြတဲ့ ပရိုဂရမ်မာတွေ ဆာ့၀ဲအင်ဂျင်နီယာတွေ ပညာရှင်တွေ ဆီက လုံး၀မကြားဘူးခဲ့ရတဲ့ စကားတွေ ဒီမှာ ကြားဖူးရပါတော့တယ်။
“ကုမ္ပဏီအတူတူပေမယ့် အဲဒီ ‘အပင်းဆို ’ကောင်တွေနဲ သိပ်မကြည်ဘူးဗျ။ PHP လး မတောက်တခေါက် နဲ ၊ ဂဂျိုးဂဂျောင် web page လး လးငါးခုပါတဲ့ ဆိုဒ်ကလေးလောက်ရေးပြီး သူတို ကိုယ်သူတို  open source သမားကွဆိုပြီး အခြောက်တိုက် ဘ၀င်မြင့်နေကြတယ်။”
“အဲဒီလူက သူကိုယ်သူ Java ကို Linux ပါ်မှာ run တာကွဆိုပြီး ဘယ့်သူ မှ လူထင်တဲ့ပုံမပေါ်ဘူး။ ကျုပ်တို ကလည်း ဒုန် ကဲ ပါဗျာ။”
“အဲဒီ ဒါ့နက်တွေ (Microsoft .NET သုံး၍ ရးသောသူများ) က အလကားပါဗျာ။ ဘာအရည်အချင်းမှရှိတာမဟုတ်ဘူး။ အဆင်သင့် သူများရေးထားပြီးသား library လးတွေ ခါ်သုံး ပီး ၀င်းဒိုးထဲပိတ်မိနေတဲ့ကောင်တွေကများ ကိုယ့်ကိုကိုယ် Developer လးဘာလေးနဲ ။ developer ဆိုတာ ကျုပ်တို လို ကိုယ့်ဟာကိုယ် အကုန်ရေးတဲ့သူတွေကိုမှ ခါ်တာဗျ”
“C, C++ မကျွမ်းပဲနဲ တာ့ programmer လို မခေါ်နိုင်ဘူးဗျ။ ကျန်တာတွေက အလကားပါ။ C++ ကို ပုံတူကူးချထားတာတွေချည်းပဲ”
စတဲ့ စကားတွေဟာ မန်မာပြည်မှာ ဆာ့ဖ်၀ဲရေးသည် ဆိုတဲ့ ရင်းနှီးတဲ့သူတွေဆီက ကြားဖူး လိုက်ရတဲ့စကားတွေပါ။ ကျွန်တော်အနေနဲ တာ့ အဲဒီစကားတွေနဲ ပတ်သက်ပြီး ဘာကိုမှ မှတ်ချက်မပြုလိုပါဘူး။ တကယ်တော့ အားလုံးထဲမှာ အကောင်းဆုံး အပြီးပြည့်စုံဆုံး ဆိုတဲ့ programming language ဆိုတာမရှိပါဘူး။ language အသီးသီးဟာ သူ နရာနဲ သူသာလျှင် အသင့်တော်ဆုံး အကောင်းဆုံးလို ပာနိုင်တာပါ။ ဒါတောင် ချွင်းချက်တွေ အငြင်းပွားဖွယ်တွေ ရှိဆဲပါ။ အားလုံးမှာ အားနည်းချက် အားသာချက်တွေ အသေအချာရှိနေပါတယ်။ ဒါကြောင့် ငါက ဘယ် language သမားကွဆိုပြီး ဘာမှ မာန်တက်နေစရာမလိုသလို စိတ်ပျက်စရာလည်းမလိုပါဘူး။ software engineer တစ်ရောက်အတွက်၊ programming language တစ်ခု တတ်ကျွမ်းတယ်ဆိုတာဟာ တကယ်တော့ အသပြာပဲ၀က်တောင်မတန်တဲ့ အဆင်တန်ဆာတစ်ခု ပိုင်ဆိုင်ထားသလေက်ပါပဲ။ တချို  (နိုင်ငံခြား) ကုမ္ပဏီတွေဆိုရင် အကြီးတန်းရာထူးတွေအတွက် လူတွေ စစ်ဆေးတဲ့အခါ programming language ဘယ်နှစ်မျိုးတတ်သလဲဆိုတာ လုံး၀မမေးပါဘူး။ ဘာလို လဲဆိုတော့ အရည်အချင်းပြည့်မီ ရင့်ကျက်တဲ့ senior level တွအားလုံးဟာ လိုအပ်ချက်အလိုက် ဘယ်ပရိုဂရမ်ဘာသာစကားနဲ မဆို ၊ မတတ်သေး မသိသေးရင်တောင် အချိန်တိုတိုအတွင်းလေ့လာပြီး ဆာ့ဖ်၀ဲရေးသားထုတ်လုပ်နိုင်စွမ်း ရှိရမယ်လို  ခံယူထားလို ပါ။
နောက် အရေးကြီးတဲ့ တချက်က၊ ကျွန်တော်တို ဟာ ဆာ့ဖ်၀ဲစနစ်တစ်ခုကို ဖန်တီးတည်ဆောက်တော့မယ်ဆိုရင်၊ ကိုယ့်ကိုဆောဖ့်၀ဲအပ်တဲ့ အဖွဲ အစည်းရဲ့ လုပ်ငန်း/စီးပွားရေး အမျိုးအစား၊ ကိုယ်ရေးသားတည်ဆောက်မယ့် ဆာ့ဖ်၀ဲအမျိုးအစား၊ အဲဒီဆော့ဖ်၀ဲအလုပ်လုပ်မယ့် platform, OS, ချိတ်ဆက်အလုပ်လုပ်ရမယ့် တခြား စနစ်တွေ နဲ  ဒီဆော့ဖ်၀ဲရေးဖို  အများဆုံးရတဲ့ resource, လူ အချိန် နဲ  ငွကြေး စတာတွေကို သချာ စိစစ်သုံးသပ်ပြီး နာက်ဆုံးမှ ဘယ် programming language ကိုသုံးပြီး အကောင်အထည်ဖေါ်ရေးသားကြမယ်ဆိုတာကို စဉ်းစားဆုံးဖြတ်တာပါ။ ပီးတော့လည်း မိတ်ဆွေကို ဆာ့ဖ်၀ဲအပ်တဲ့ လုပ်ငန်းရှင်ဟာ မိတ်ဆွေ ဘာ language ကို သုံးပြီးရေးတယ်ဆိုတာ လုံး၀ စိတ်မ၀င်စားပါဘူး။ သူဟာ စီးပွားရေးသမား လုပ်ငန်းရှင်ပါ။ မိတ်ဆွေရေးထားတဲ့ ဆာ့ဖ်၀ဲဟာ သူ ရဲ့ လုပ်ငန်းလိုအပ်ချက်တွေကို ပည့်ပြည့်စုံစုံ မန်မြန်ဆန်ဆန် နဲ  အမှားအယွင်းကင်းကင်း လုပ်ပေးနိုင်သလား ဆိုတာပဲကြည့်မှာဖြစ်ပါတယ်။ အခုတော့ ဟိုးအထက်မှာ ကြားခဲ့ရတဲ့ စကားတွေအတိုင်းဆိုရင် တချို သာ မန်မာပြည် ဆာဖ့်၀ဲလောကရဲ့ ပညာရှင်များကတော့ ကိုယ်တတ်ကျွမ်းထားတဲ့ programming language နဲ ပဲ software တစ်ခုကို ဘယ်လို ရအောင်တည်ဆောက်ကြမလဲလို  ဘာင်ခတ်ပြီး စဉ်းစားကြမယ်ဆိုတာ ထင်ရှားနေပါတယ်။ ဆာ့ဖ်၀ဲရေးတဲ့နေရာမှာ အဲဒီလိုသာ programming language ကို ဦးတည်စဉ်းစားတဲ့ နည်းနဲ သွားနေရင်တော့ တချိန်မှာ “ဖိနပ်က မတော်လို  ခထောက်ဖြတ်” ပစ်ရမယ့်ကိန်း ဆိုက်လာလိမ့်မယ် ဆိုတာပါပဲ။ ဒီစကားကို မိတ်ဆွေတို တချိန်မှာ နားလည်လာမှာပါ။ ခုနေတော့ ကျမ်းလေးအံ့စိုး၍ ;-) ဆက်မရှင်းတော့ပါဘူး။
“အေးဗျာ ထားပါတော့ ။ အဲဒါဆိုလည်း ကျုပ်တို က ဘယ် language ကို လ့လာရမတုန်းဗျ” ဆိုရင် အဖြေကရှင်းပါတယ်။ အနည်းဆုံးအဆင့်အနေနဲ  ၊ ဆာ့ဖ်၀ဲနဲ ဆိုင်တဲ့ ပညာသင်ကြားရေး နယ်ပယ်တွေမှာ သုံးစွဲနေတဲ့၊ ပင်ပလောကရဲ့ တကယ့်လက်တွေ  ဆာ့ဖ်၀ဲလုပ်ငန်းခွင်တွေမှာလည်း အခုလက်ရှိ အများဆုံးအသုံးချနေတဲ့၊ C, C++, Java (standard edition, enterprise edition နဲ  mobile edition), Microsoft ရဲ့ .NET (C#, VB, ASP), PHP နဲ  Python စတဲ့ general purpose programming language တွ၊ ဒါ့အပြင် html, xml နဲ  jvascript တို လို scripting language တွ နဲ  Database မှာ အသုံးချဖို  structured query language တွကိုပါ ပိုင်ပိုင်နိုင်နိုင် သိရှိနားလည် တတ်ကျွမ်းအောင် လုပ်ထားရမှာဖြစ်ပါတယ်။
“ဘာဗျ…ကျုပ်တို မှာ c plus plus နဲ တာင် ဒီလောက် တိုင်ပတ်နေတာ။ ခင်ဗျားက လာရန်စတာလား” လို တာ့မဆိုပါနဲ ။ တကယ်တော့ အထက်မှာ တင်ပြခဲ့တဲ့ language တွဟာ ပုံစံတူ အဆင့်မြင့် မျိုးကွဲတွေသာဖြစ်ပါတယ်။ သွင်ပြင်လက္ခဏာ လုံး၀ကြီး ကွဲပြားခြားနားတဲ့ programming language တွမဟုတ်ပါဘူး။ ဥပမာပြောရရင် တကယ်လို သာ မိတ်ဆွေဟာ c++ ကိုကျွမ်းကျင်ထားရင် သူနဲ  ပုံစံတူပြီး သူ ထက် low level ဖစ်တဲ့ c နဲ ၊ သူ ထက် high level ဖစ်တဲ့ Java တို  c# တို ကိုပါ အလွယ်တကူ နဲ  အချိန်တိုအတွင်း လ့လာလိုက်လို ရပါတယ်။ ပီးတော့ .NET platform မှာ c# ရရင် VB ကိုပါ အလွယ်တကူရမှာဖြစ်ပါတယ်။ Microsoft က ပုံစံတူ library တွ function name တွကိုပဲ သုံးတာကိုး။ ASP.NET ဆိုတာလည်း တကယ်တော့ scription language တွဖြစ်တဲ့ html နဲ  javascript ကို C# သို မဟုတ် VB နဲ  ပါင်းပြီး .NET framework ပါ်မှာ ရးလိုက်တာပဲ မဟုတ်ပါလား။ Python programming language ကတော့ အမေရိကားရဲ့ ဒိပ်ဒိပ်ကြဲ ထိပ်တန်းတက္ကသိုလ်ကြီးတွေ (ဥပမာ MIT - မက်ဆာချူးဆက်နည်းပညာသိပ္ပံ) မှာ computer science, software engineering နဲ  တခြား အင်ဂျင်နီယာ ပညာရပ်တွေအတွက် applied programming language အဖြစ် သုံးနေကြလို မိတ်ဆွေတို ကို လ့လာထားသင့်တယ်လို  အကြံပြုတာပါ။ အဲဒီ Python တို ၊ PHP တို ဆိုတာလည်း ဘာမှ ခက်ခဲနက်နဲ တာမဟုတ်ပါဘူး။ ထူးခြားဆန်းပြားပြီး အားလုံးနဲ ကွဲပြားခြားနားနေတဲ  programming language ဆိုတာ မရှိပါဘူး။ syntax လို ခါ်တဲ့ အသုံးအနှုန်း စကားလုံးလေးတွေ အနည်းအကျဉ်းကွဲပြားနေပေမယ့်၊ ပရိုဂရမ်ရေးရာမှာသုံးတဲ့ အတွေးအခေါ် အယူအဆ သဘောတရား အားလုံးဟာ အတူတူပါပဲ။ အနည်းဆုံးတော့ ခပ်ဆင်ဆင်ပါ။ တစ်ခုကို ကျွမ်းကျွမ်းကျင်ကျင်ရရင် ကျန်တာတွေကိုလည်း အသာကလေး လ့လာသွားရုံပါပဲ။ ဥပမာဗျာ ..မိတ်ဆွေတို ငယ်ငယ်က ၀လုံးကို ၀ိုင်းစက်နေအောင် ရးနိုင်ပြီဆိုရင်၊ တခြားစာလုံးတွေကိုလည်း လက်ရေးလှလှ ရးနိုင်သွားတာပဲ မဟုတ်ပါလား။ ဒီသဘောပါပဲ။ အစမှာတော့ စိတ်ရှည် ဇွဲသန် သည်းညည်းခံရတာပေါ့။ ဒါကြောင့် programming language များများတတ်လေ ကာင်းလေလို သာ အကြမ်းဖျဉ်းမှတ်ယူနိုင်ပါတယ်။ အလွန်ရှင်းလင်းထင်ရှားတဲ့ အမှန်တရားတခုကတော့ “မိတ်ဆွေမှာ တူပဲရှိထားတယ်ဆိုရင် သံပဲရိုက်လို ရမယ်” ဆိုတာပါပဲ။

ဆော့ဖ်၀ဲရေးသားခြင်းလုပ်ငန်း၏ သဘော သဘာ၀ (team work)
ဆောဖ့်၀ဲအင်ဂျင်နီယာကောင်းတရောက်ဖြစ်ဖို ဆိုရင်၊ အထက်မှာ ဒုတိယအချက်အနေနဲ ဆွးနွေးခဲ့တဲ့ software engineering ပညာရပ်ရဲ့ သဘောသဘာ၀ ကို သိဖို လိုသလို၊ ဆာ့ဖ်၀ဲလုပ်ငန်းခွင်ရဲ့ သဘောသဘာ၀ကိုလည်း မဖြစ်မနေ သိထားဖို လိုပါတယ်။  ဆာ့ဖ်၀ဲရေးတယ်ဆိုတာ သက်ဆိုင်ရာ ကျွမ်းကျင်ရာ နယ်ပယ်အသီးသီးက လူတွေပါ၀င်ပြီး အစုလိုက် အဖွဲ လိုက် အားလုံးညှိနှိုင်းတိုင်ပင်ပြီးမှ ပူးပေါင်းဆောင်ရွက်ကြရတဲ့ လုပ်ငန်းစဉ်တစ်ခုပါ။ အထူးသဖြင့် စီးပွားရေး ပုံသဏ္ဍန်အမျိုးမျိုး ရည်ရွယ်ချက်အမျိုး ကို၊ operating systems အမျိုးမျိုး platforms အမျိုးမျိုး အတွက် ဖန်တီးတည်ဆောက်ပေးရတဲ့ (enterprise systems for multi-faceted, heterogeneous platform support) ဆာ့ဖ်၀ဲစနစ်မျိုးတွေဟာ programming language ပါင်းစုံ၊ နည်းပညာပေါင်းစုံ၊ နည်းစနစ်ပေါင်းစုံသုံးပြီး၊ lines of code ပါင်း သန်းချီရေးရတာမျိုးဖြစ်တဲ့အတွက် တစ်ဦးကောင်း တစ်ရောက်ကောင်းနဲ  လုံး၀လုပ်လို မရတဲ့ အလုပ်တွေဖြစ်ပါတယ်။
ဒါကြောင့် ဆာ့ဖ်၀ဲအင်ဂျင်နီယာကောင်းတရောက် ဖစ်ဖို ဆိုရင် ကျွန်တော်တို ရဲ့ တကိုယ်တော်ကြဲချင်စိတ် တွကို လျာ့ဖို ၊ တတ်နိုင်ရင် ဖျာက်ဖို လိုပါတယ်။ “တကောင်တည်းပဲ ဒါပေမယ့် ခငေ်္သ့” ဆိုတဲ့ စကားဟာ ဆာ့ဖ်၀ဲအင်ဂျင်နီယာ လုပ်ငန်းခွင်မှာ အသုံးချလို မရနိုင်ပါဘူး။ “အဲဒါ..ကျွန်တော်တစ်ရောက်တည်း အစအဆုံးရေးတာပေါ့” ဆိုတာ ဂုဏ်ယူလောက်စရာ မဟုတ်သေးပါဘူး။ NCC, UK ဘွဲ လိုင်းက ကျာင်းသားတွေတောင် နှစ်စဉ် ပရောဂျက်တခု တခု၊ တရောက်တည်း ရးနေရသေးတာပဲဗျာ ဘာဆန်းလို လဲ။ မတူညီသော ပညာရှင်တွေ အင်အားစုတွေ အားလုံးနဲ  အဆင်ပြေပြေ အချိုးညီညီ ဟာမိုနီကျကျ ပူးပေါင်းဆောင်ရွက်ပြီး၊ အာင်အောင်မြင်မြင် ရလာတဲ့ product (software) မှာ ကိုယ်က ဘယ်လို နရာက ပါ၀င်ခဲ့တယ်ဆိုတာကသာ တကယ့်ဂုဏ်ယူစရာပါ။ ဒါဟာ ဆာ့ဖ်၀ဲအင်ဂျင်နီယာလုပ်ငန်းခွင်ရဲ့ တကယ့်အနှစ်သာရပဲဖြစ်ပါတယ်။ အပြန်အလှန်လေးစားယုံကြည်မှု ပူးပေါင်းဆောင်ရွက်တတ်မှု ညှိနှိုင်းတိုင်ပင်နိုင်မှု စတာတွေဟာ အာင်မြင်တဲ့ software development team တစ်ခုရဲ့ မဖြစ်မနေ လိုအပ်ချက်တွေပါ။ အဲဒီလို အဖွဲ မှာ ပါ၀င်ရေးသားခွင့်ရခဲ့ရင် ကိုယ့်အတွက်လည်း တန်ဘိုးမဖြတ်နိုင်တဲ့ အတွေ အကြုံဗဟုသုတ တွ ကိုယ်မသိသေး မတတ်သေးတာတွေ အများကြီး သိလာတတ်လာ နိုင်ပါတယ်။ မိတ်ဆွေမှာရှိတဲ့ ပန်းသီး နဲ  ကျွန်တော့မှာ ရှိတဲ့ပန်းသီး လဲလိုက်ရင် မိတ်ဆွေမှာလည်း ပန်းသီးတစ်လုံး ကျွန်တော့မှာလည်း ပန်းသီးတစ်လုံးပဲရှိမှာပါ။ ဒါပေမယ့် မိတ်ဆွေမှာ ရှိတဲ့ အသိပညာတစ်ခုနဲ  ကျွန်တော့မှာရှိတဲ့ အသိပညာကို လဲလှယ်လိုက်တယ်ဆိုရင်တော့ မိတ်ဆွေမှာရော ကျွန်တော့မှာရော အသိပညာ နှစ်ခုစီ ဖစ်လာတယ်ဆိုတဲ့ စကားလိုပေါ့။ ဒါဟာ team work ရဲ့ ထင်ရှားတဲ့ အကျိုးကျေးဇူးပါပဲ။

ဆော့ဖ်၀ဲရေးသားသူများအကြောင်း (Emotional Intelligence)
ပြီးတော့ မိတ်ဆွေတို  သတိထားရမယ့်အချက်က ဆာ့ဖ်၀ဲရေးတယ်ဆိုတာ လူနဲ ကွန်ပြူတာရဲ့ ဆက်သွယ်ရေးကို အကောင်ထည်ဖေါ်တာ မဟုတ်ဘူး..လူလူချင်း ဆက်သွယ်ရေးကို အကောင်အထည်ဖေါ် တည်ဆောက်တာသာလျှင် ဖစ်တယ်..ဆိုတဲ့အချက်ပါ။ ဒါကြောင့် software engineer ကာင်းတရောက်ဖြစ်ဖို ဆိုရင် လူတွေရဲ့ စိတ်နေစိတ်ထား ခံစားချက်တွေအကြောင်းကိုလည်း အနည်းဆုံး အခြေခံလောက်တော့ သိရှိနားလည်ထားရပါမယ်။ ဆိုလိုတာက မိတ်ဆွေမှာ EI လို ခါ်တဲ့ Emotional Intelligence နဲ ပတ်သက်တဲ့ အရည်အချင်း အထိုက်အလျောက် ရှိထားရမယ်ဆိုတာပါပဲ။ EI ဆိုတာ အတိုချုပ်ပြောရရင်တော့ မိမိကိုယ်တိုင်ရဲ့ စိတ်အခြေအနေ နဲ  သူတပါးရဲ့ စိတ်အခြေအနေတွေကို သိမြင်နားလည်နိုင်စွမ်းရှိတဲ့၊ ကိုယ့်ခံစားမှုကို ထိန်းသိမ်းနိုင်စွမ်းရှိပြီး သူတခါးခံစားမှုကို ကိုယ်ချင်းစာပေးနိုင်တဲ့ အရည်အချင်းပါ။ အဲဒါနဲ software ရးတာနဲ  ဘာဆိုင်လို တုန်းဗျလို လို  မိတ်ဆွေတို ထင်ကောင်းထင်ပါမယ်။ အလွန်အမင်းဆိုင်ပါတယ်။ Business Information Systems တို  Management Information Systems တို လို ဘာသာရပ်တွေ မှာ နည်းပညာအကြောင်းတွေအပြင် လူတွေအကြောင်းကိုပါ တာ်တော်လေး ဇာင်းပေးပြီးလေ့လာတာ တွ ရမှာပါ။ (ကြုံကြိုက်ရင် နာက်နောင်ဆောင်းပါးတွေမှာ အဲဒီဘာသာရပ်တွေအကြောင်း ဆွးနွေးပါဦးမယ်။) ဘာလို လဲဆိုတော့ Information Systems တွဟာ လူတွေစုပေါင်းလုပ်ရတဲ့ အလုပ်တွေဖြစ်တဲ့အတွက်၊ လူတွေအကြောင်းကို သိရှိနားလည်ထားမှသာ၊ ဒီလူတွေနဲ  လိုက်လျောညီထွေအဆင်ပြေပြေ ဆက်ဆံနိုင်မှာဖြစ်ပြီး၊ ဒီလူတွေကို ကာင်းကောင်းမွန်မွန် စီမံခန် ခွဲအုပ်ချုပ်နိုင်မှာပေါ့။ ဒါမှလည်း ကိုယ့်ရဲ့ software project, information system က အာင်မြင်မှာပေါ့။ ဒီ EI ဟာ ဘယ်နေရာ ဘယ်နယ်ပယ်မှာမဆို လူတစ်ရောက် အာင်မြင်ဖို အတွက် လုံး၀အရေးကြီးပါတယ်။ ညာဏ်ရည်ညာဏ်သွေးထက် လူ အရိပ်သုံးပါးနားလည်ပြီး လူမှုပေါင်းသင်းဆက်ဆံရေး ကာင်းမွန်တဲ့ သူတွေက လက်တွေ ဘ၀မှာ ပိုအောင်မြင်နေတာ မိတ်ဆွေသတိထားမိမှာပါ။ ပီးတော့လည်း software engineer လုပ်ငန်းခွင်မှာ ပါ၀င်သူတွေအားလုံးက သူ နရာနဲ သူ အရေးပါတဲ့ လူ တွချည်းပဲဖြစ်လေတော့ တစ်ရောက်ရောက်နဲ့ အဆင်မပြေဖြစ်လိုက်ရင်ကိုပဲ၊ မိတ်ဆွေရဲ့ အလုပ်တွေအပေါ်မှာ သိသိသာသာ အကျိုးသက်ရောက်မှုတွေ ရှိလာမှာပါ။ လက်တွေ လုပ်ငန်းခွင်၀င်တဲ့အခါ မိတ်ဆွေပိုပြီး နားလည်လာပါလိမ့်မယ်။ ဒီလိုဆိုလိုက်လို လည်း မိတ်ဆွေကို သူများအကြိုက်ချည်းလိုက်နေရမယ်လို  ဆိုလိုတာမဟုတ်ပါဘူး။ လူမှုပေါင်းသင်းဆက်ဆံရေးဆိုတာကလည်း အထူးပဲရှုပ်ထွေးလေတော့ “မလျော့မတင်း၊ စာင်းကြိုးညင်းသို ။ မလေးမပေါ့၊ လှဖေါင်ဖေါ့သို ။ မလျော့ပညာ၊ တံငါလုလင်၊ မှားကြိုးငင်သို ” ဆိုတာလို၊ လက်တွေ ကျကျ ချိန်ဆကျင့်သုံးပေါ့ဗျာ။

နိဂုံးအမှာ
ဆော့ဖ်၀ဲရေးတယ်ဆိုတာ နည်းပညာပိုင်းမှာ မိတ်ဆွေဘယ်လောက်ကျွမ်းကျွမ်း အမြဲတမ်း ပန်းခင်းလမ်းကိုလျှောက်နေရသလိုမျိုး မဟုတ်ပါဘူး။ ဆုံလည်ကုလားထိုင်ကြီးနဲ  အဲကွန်းခန်းထဲမှာ စတိုင်ကျကျထိုင်ရင်း ခါင်းမီးတောက်ပြီး ချွးဒီးဒီးကျနေရတဲ ကာလတွေ ရှိပါတယ်။ ပင်းထန်တဲ့ ဖိအားတွေ၊ များပြားလွန်းတဲ့တောင်းဆိုမှုတွေ၊ အရေးပေါ်လိုအပ်ချက်တွေကို အခါအားလျော်စွာကြုံရလေ့ရှိပါတယ်။ အဲဒီလို အခါမျိုးမှာ န မအိပ် ညမအိပ် လူရော စိတ်ပါ ဂျုံးဂျုံးကျတဲ့အထိ မရပ်မနား တွးတောကြံစည်ပြီး ဘယ်လိုအကြောင်းကြောင့်ပဲဖြစ်ဖြစ် ပီးမြောက်အောင်မြင်အောင် မဖြစ်မနေ လုပ်ကိုင်ရတဲ့အခါတွေ ရှိပါတယ်။ အဲဒီလိုဖိအားတွေကို ကြံ့ကြံ့ခံနိုင်ဖို ဆိုရင် မိတ်ဆွေဟာ အထက်မှာပြောခဲ့သလို ဒီအလုပ်ကို တကယ်ပြင်းပြထက်သန်စွာလုပ်ချင်လို  ကိုယ်တိုင် ရွးချယ်ခဲ့တာမျိုးပဲဖြစ်ရပါမယ်။ အမြဲမပြတ် လ့လာ လ့ကျင့် ပင်ဆင် ထားသူဖြစ်ရပါမယ်။ တခြားသူတွေနဲ ပူးပေါင်းဆောင်ရွက်နိုင်သူဖြစ်ရပါမယ်။ ဆာ့ဖ်၀ဲအင်ဂျင်နီယာဆိုင်ရာ ကရိယာ တန်ဆာပလာ ပါင်းစုံကို ကျွမ်း၀င် သုံးစွဲနိုင်သူဖြစ်ရပါမယ်။ တခြားလိုအပ်ချက်တွေလည်း ရှိပါသေးတယ်။ သို သာ်လည်း “ငါးသိုင်းများတော့ဟင်းဟုန်ပြီး၊ အနှစ်ချုပ်လိုက်တော့ အကာပဲကျန်တယ်” ဆိုတာမျိုးဖြစ်မှာစိုးလို software engineering principles တို ၊ domain knowledge တို ၊ software architecture တို ၊ desing pattern တို အကြောင်းကို နာက်နောင် ဆာင်းပါးတွေမှာမှ သီးသန် ဆွးနွေးပါဦးမယ်။
နောက်တချက်က၊ ဒီဆောင်းပါးမှာ ကျွန်တော်ဟာ မိတ်ဆွေတို ဖတ်ရှုရတာ ရှင်းလင်းစေဖို အတွက်၊ program နဲ  software, programmer နဲ  software engineer စတဲ့ စကားလုံးတွေကို တချို နရာတွေမှာ အနက်တူ အဓိပ္ပါယ်တူသဖွယ်် လဲလှယ်သုံးစွဲထားပါတယ်။ တကယ်တော့ မတူပါဘူး။ အလွယ်ကူဆုံးပြောရရင် program လို ခါ်တဲ့ programming language တစ်ခုခုကို သုံးပြီးရေးထားတဲ့ coding တွဟာ software system ကြီးတခုလုံးရဲ့ အစိတ်အပိုင်းလေးတစ်ခုမျှသာဖြစ်ပါတယ်။ ပီးတော့ duties and responsibilities အရလည်း၊ Programmer နဲ  Software Engineer ဟာ အများကြီး ကွာပါတယ်။ အားလုံးမြင်သာမယ့်  မို ပ တည်ဆောက်ရေး အင်ဂျင်နီယာလောကနဲ  ဥပမာပေးရရင်၊ Software Engineer က “ဗိသုကာပိုင်းဆိုင်ရာ၊ လက်တွေ  တည်ဆောက်ရေးပိုင်းဆိုင်ရာ၊ အရည်အသွေးပိုင်းဆိုင်ရာ စတာတွေကို တာ၀န်ခံ တာ၀န်ယူ ကြီးကြပ်ရတဲ့ အင်ဂျင်နီယာ ပညာရှင် သဘောမျိုး” ဆိုရင်၊ Programmer ဆိုတာကတော့ “အင်ဂျင်နီယာတို  အဖွဲ ခါင်းဆောင်တို ခိုင်းတဲ့အတိုင်း လက်တွေ  တည်ဆောက်ပေးရတဲ့ ရွဘော်ထိုး လွှတိုက် သံရိုက်၊ အုတ်သယ် ခဲထု မဆလာနယ်တဲ့ ပန်းရံ လက်သမား သဘောမျိုး” ပါ့ဗျာ။ ဒါဟာ လုပ်ကိုင်ဆောင်ရွက်ရတဲ့အလုပ်နဲ  ပတ်သက်ပြီး မင်သာအောင် ဥပမာပေးတာပါ ပရိုဂရမ်မာကို အဆင့်နိမ့်တယ်လို ဆိုလိုတာမဟုတ်ပါဘူး။ မိတ်ဆွေမှာ ဘယ်လောက်ပဲကြီးကျယ်ခမ်းနားတဲ့ စိတ်ကူးစိတ်သန်းနဲ  ကမ္ဘာ့အဆင့်မှီ ဗိသုကာဒီဇိုင်းကြီးရှိရှိ၊ လက်တွေ အကောင်အထည်ဖေါ်တည်ဆောက်ပေးမယ့် ပန်းရံ လက်သမားမရှိရင် ဘာမှဖြစ်လာမှာမဟုတ်ပါဘူး။ အားလုံးသူ နရာနဲ သူ အရေးပါသူတွေချည်းပါပဲ။ ပရိုဂရမ်မာတွေဆိုတာလည်း အချိန်မရွေး ဆာ့ဖ်၀ဲအင်ဂျင်နီယာ ဖစ်လာနိုင်ပါတယ်။ အထူးသတိထားရမယ့်အချက်၊ Software Engineering လာကနဲ့ တခြား Engineering လာက မတူတဲ့ အချက်ကတော့ Software Engineer တိုင်းဟာ အခြေခံအကျဆုံးဖြစ်တဲ့ Programmer ဘ၀ကို မဖြစ်မနေ ဖတ်သန်းခဲ့ရမှာဖြစ်ပြီး၊ ဘယ် Software Engineer မဆို၊ Programmer တွလုပ်တဲ့ အလုပ်ကို အချိန်မရွေး ကာင်းကောင်းလုပ်နိုင်တယ် လုပ်နိုင်ရမယ် ဆိုတာပဲဖြစ်ပါတယ်။
ရွှင်လန်းချမ်းမြေ့ပါစေ။
infoTherapy-2013

မှတ်ချက်။     ။ 2013, April လထုတ် ကွန်ပြူတာဂျာနယ်တွင် ဖါ်ပြပြီးသောဆောင်းပါးဖြစ်ပါသည်။