Calm Hill My Random Thoughts

ပရိုဂရမ်မာဋီကာ (၃)

အင်ဂျင်နီယာဘာသာတွေက ရင်းနီးလာခဲ့တာ ကြာခဲ့ပြီဆိုတော့ အလုပ်ကိုရှင်းပြရလွယ်ပါတယ် Civil Engineer ဆိုရင် ဘာလုပ်သလဲ ရှင်းစရာမလိုသလို Architect ဆိုရင် ဘာတွေလုပ်သလဲဆိုတာ အများအားဖြင့် ဖြေစရာမလိုပဲ မျက်လုံးထဲပြေးမြင်ပါတယ် Software Engineer လို့ပြောလိုက်ရင်တော့ ဘာကိုပြောမှန်းမသိတာများတယ် လူနည်းနည်းကြားဖူးနိုင်မယ့် Programmer လို့ပြောရင်တော့ ကြားဖူးတယ်ဆိုတဲ့ အခြေအနေတော့ရောက်ပါတယ်။

တကယ်တော့ ပရိုဂရမ်မာတွေမှာ အလုပ်အနေအထားအရ Developer, Development Team Lead, Project Manager, Software Tester, System Administrator, User Interface Designer, Software Architect စသည်ဖြင့် ထပ်ပြီးတော့ခွဲခြမ်းလိုက်ရင် အဖြေရခက်တဲ့အတွက် ဥပမာအဖြစ်လူမြင်သာမယ့် အဆောက်အဦးတစ်ခု တည်ဆောက်တဲ့ အခြေအနေနဲ့ ယှဉ်ကြည့်ပါတယ်။

ပထမဆုံးအနေနဲ့ အဆောက်အဦးတစ်ခု ဆောက်ကြမယ်ဆိုရင် အုတ်သယ်တဲ့လူ ဘိလပ်မြေဖျော်တဲ့လူ အုတ်စီတဲ့လူ စသည်ဖြင့်ပေါ့လေ တကယ်တမ်းအလုပ်ကြမ်း လုပ်ကြရတဲ့ အလုပ်သမားတွေကို အများဆုံးမြင်ဖူးကြပါလိမ့်မယ် အဲဒီလိုပဲ Software Development လုပ်တဲ့နေရာမှာ အလုပ်ကြမ်းလုပ်ရတာ ဘယ်သူတွေလဲမေးရင် Coding တွေရေးကြတဲ့ Programmer or Developer ဆိုတဲ့လူတွေဟာ Software တစ်ခုတည်ဆောက်ဖို့အတွက် လက်တွေ့ရေးကြ အလုပ်လုပ်ကြရတဲ့လူတွေဆိုတော့ အဆောက်အဦး တကယ်ဆောက်ရတဲ့ ပန်းရံသမားတွေနဲ့ အလားသဏ္ဍန်တူတယ်လို့ ဖြေရင်မြင်သာပါလိမ့်မယ်။

ပန်းရံလုပ်တော့လည်း သူတို့ပဲထားလို့မရဘူး လုပ်ထားတဲ့အလုပ်တွေ မှန်လားမမှန်လား သပ်ရပ်မသပ်ရပ် ကြည့်နေရတဲ့ ပန်းရံခေါင်းကိုလည်း အဆောက်အဦးဆောက်ရင် မြင်ဖူးကြမယ်ထင်တယ် အဲဒီလိုအလုပ်ကို Software Development မှာလည်း လုပ်ကြရတယ် ကိုယ်တိုင်လည်းဝင်မလုပ်ပဲ ဟိုလူ့ဆရာလုပ် ဒီလူ့ဆရာလုပ်နဲ့ ကိုယ်မလုပ်ရတိုင်း စကားပြောနေတဲ့လူကို Development Team Lead လို့နာမည်တတ်လေ့ရှိတယ် ယောက္ခမဆိုတာ တစ်ခါတုံးက သားမက်ပါပဲဆိုသလို Team Lead ဆိုတာတစ်ချိန်ကတော့ Programmer ပါပဲ ဒီတော့ကိုယ့်အချိန်က ပျင်းခဲ့တဲ့နေရာတွေသိနေတော့ စစ်ဆေးလို့တတ်တာပေါ့။

အဆောက်အဦးဆောက်တော့ ပန်းရံခေါင်းနဲ့ပဲ ယုံကြည်ပြီးတော့ ထားလို့လည်းမဖြစ်ပြန်ဘူး သူတို့အတွက်က နေ့စားအလုပ်တွေဆိုတော့ အချိန်ကြာလေလေ အလုပ်ရှိလေလေဆိုပြီး ဆေးလိပ်ဖွာလိုက် လက်ဘက်ရည် ထွက်သောက်လိုက်နဲ့ အလုပ်ပုံမှန်မလုပ်မှာစိုးရိမ်ရပါတယ် အဆောက်အဦးပိုင်ရှင်ရဲ့ လူယုံသော်လည်းကောင်း တာဝန်ယူထားတဲ့ ကန်ထရိုက်သော်လည်းကောင်းက မကြာခဏလာပြီးတော့ ကြည့်ရသေးတယ် ဘယ်နှစ်ရက်ဆို ဘယ်နှစ်ထပ်တော့ ပြီးသင့်ပြီတို့ ဘယ်နေ့ဆိုရင် အလုပ်သမားတွေနားကြမယ်တို့ အလုပ်ကိုဝင်လုပ်ဖို့ နားမလည်ပေမယ့် Resource နဲ့အချိန်ကိုစီမံခန့်ခွဲဖို့ လာလာကြည့်ရတယ်။ အဲလိုလူကို Software Development မှာတော့ Project Manager လို့ခေါ်ကြတယ်။

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

အဆောက်အဦးဆိုတာက ဆောက်ပြီးလည်း သူ့အတိုင်းနေလို့ရတာမဟုတ်ဘူး ပြင်ပနဲ့အဆက်အသွယ် လုပ်ဖို့လိုအပ်တယ် လမ်းကိုထွက်ဖို့လမ်းလိုသေးတယ် မီးလင်းဖို့အတွက် မီးကြိုးကလည်းသွယ်ရတယ် တယ်လီဖုန်းလိုင်လည်းဆွဲရမယ် ရေပိုက်လည်း စည်ပင်သာယာက ရေပိုက်မှာသွားဆက်ရမယ်။ Software Development မှာလည်း အဲဒီလိုပဲ ကိုယ့်ဟာကိုယ် ထိုင်ရေးနေလို့ပြီးတာ မဟုတ်ဘူးလေ တစ်ခြားသောပြင်ပက System တွေနဲ့ဆက်သွယ်ဖို့ လုပ်ရသေးတယ် လိုအပ်တဲ့ Tools တွေ Software တွေထည့်သင့်ရင် ထည့်ကြရတယ် Infrastructure တွေတပ် စသည်ဖြင့် လုပ်ကြရတယ် ဒီလိုအလုပ်လုပ်တဲ့လူတွေကို System Administrator ဆိုတဲ့လူတွေက လုပ်လေ့ရှိကြတယ်။

အဆောက်အဦးဆိုတာ တည်ဆောက်လို့ပြီး ရေမီးပြည့်စုံရုံနဲ့ မပြီးသေးပြန်ဘူး လိုအပ်တဲ့ ပရိဘောဂတွေ အခန်းဖွဲ့စည်းပုံတွေ စနစ်တကျလည်း လုပ်ရပါသေးတယ် Interior designer တွေက ဘယ်နေရာက ဧည့်ခန်းထား ပရိဘောဂကဘာအရောင် နံရံကိုဘယ်အရောင်ထား စသည်ဖြင့်ကျွမ်းကျင်ရာ လုပ်ကြရတယ် စနစ်ကျတဲ့ interior design ဖြစ်မှသာ အဆောက်အဦးဟာ အသုံးတည့်ပါတယ် ရေချိုးခန်းနဲ့အိမ်သာကို မှန်အကြည်ကာမိတယ်ဆိုသလို Designer နဲ့ဆိုရင်တော့ ပြဿနာတက်ပါပြီ။ Software တစ်ခုမှာလည်း သတ်မှတ်ထားတဲ့ Functionalities တွေပါပေမယ့် လူတွေသုံးလို့မလွယ်ရင် အသုံးတည့်ကြမယ် မဟုတ်ပါဘူး။ ဘယ်လို အသက်အရွယ်တွေ သုံးကြမှာလဲ ဘယ်လိုအခြေအနေနဲ့ သုံးကြမှာလဲ ခန္တာကိုယ်ချို့ယွင်းချက် ဘယ်လိုရှိကြတဲ့ လူတွေအထိ သုံးလို့ရဖို့လိုအပ်သလား စသည်ဖြင့်လိုအပ်ချက်တွေ အခြေခံပြီးတော့ User Interface Designer တွေ အလုပ်လုပ်ကြရတယ်။

အဆောက်အဦး တစ်ခုတည်ဆောက်ဖို့အတွက် နောက်ကွယ်ကမမြင်လိုက်ရတဲ့ လူတွေလည်းရှိတယ် ဆောက်မယ်ဆိုပြီး ပန်းရံငှားကန်ထရိုက်ရှာလို့ ဖြစ်တာမဟုတ်ဘူး တကယ်တမ်းက မတည်ဆောက်ခင်မှာ အဆောက်အဦး ပုံတွေကိုစနစ်တကျ တွက်ချက်ပြီး ဒီဇိုင်းဆွဲပေးရတဲ့ Civil Engineer တွေ Architect တွေမပါရင် ဆောက်လို့မဖြစ်နိုင်ပါဘူး။ ဒီလူတွေကတော့ အုတ်စီဆိုရင် ဝင်စီချင်မှစီတတ်ပါလိမ်မယ် ဒါပေမယ် အခြေအနေကိုသုံးသပ်ပြီး ဒီအတိုင်းဆက်သွားရင် ဘယ်နှစ်ထပ်နေရင် ပြိုကျတော့မယ်ဆိုတာ သိနိုင်တဲ့လူတွေပါ။ အဲဒီလိုပဲ Software System တစ်ခုမှာလည်း Development မလုပ်ခင်မှာ အရေးကြီးတဲ့ Architecture Design တွေဆွဲတဲ့ Software Architect ဆိုတာရှိတယ် Architect ဆွဲထားတဲ့ Specification အတိုင်း Implement လုပ်ကြသလို လိုအပ်ချက်နဲ့ ညီမညီလည်း Verify လုပ်ကြရတယ်။

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