Programming အလုပ်က ဘာကြောင့် ပျော်ဖို့ ကောင်းတာလဲ ?
ကျွန်တော်တို့ Programmer တွေမှာ အခြားအသက်မွေးဝမ်းကြောင်းတွေလိုပဲ အလုပ်သဘောသဘာဝအရကို ပျော်ရွှင်စရာအချက်လေးတွေရှိသလို၊ စိတ်ရှုပ်စိတ်ညစ်ရတဲ့အချက်တွေလည်း ရှိကြပါတယ်။မနေ့က The Mythical Man-Month (Essays on Software Engineering) စာအုပ်လေးဖတ်နေရင်းနဲ့ မူရင်းစာရေးသူက ဒီအကြောင်းလေးကို ပထမဆုံးအခန်းမှာပဲ ဦးဦးဖျားဖျား ဆွေးနွေးထားတော့ အတော်လေး နှစ်သက်သဘောကျသွားပါတယ်။
၁၉၇၅ ခုနှစ်ကရေးခဲ့တဲ့စာတွေဆိုပေမယ့် ယနေ့ဒီချိန်ထိ မှန်ကန်နေဆဲဖြစ်သလို ဖတ်ရတာလည်း အရသာရှိနေတုန်းပါပဲ။
ဒါကြောင့် " Programming က ဘာကြောင့်ပျော်ဖို့ကောင်းလဲဆိုတဲ့အချက် " တွေကို ဆီလျော်အောင် အဓိပ္ပာယ်ပြန်ပြီး ပြန်လည်မျှဝေပေးလိုက်ပါတယ်
==========
၁။ တခုခုကို ဖန်တီးတည်ဆောက်နေရလို့ ပျော်တဲ့ ပျော်ရွှင်မှု
ငယ်ငယ်တုန်းက အိုးပုတ်၊ ချိုးရုပ်လို့ခေါ်တဲ့ အိုးသေးသေး၊ ပန်းကန်သေးသေးလေးတွေနဲ့ တကယ်မဟုတ်သော်ငြား အဟုတ်လို့ယူဆပြီး ဟင်းချက်တမ်း၊ မုန့်လုပ်တမ်းတွေ ကစားကြတယ်။ Lego အတုံးလေးတွေနဲ့ အရုပ်တွေဆက်ကြတယ်။ ဒါ ကလေးတိုင်း ခံစားတတ်ခဲ့တဲ့ သဘာဝကပေးတဲ့ ပျော်ရွှင်မှုတရားပါပဲ။ ကျွန်တော်တို့ လူလားမြောက် အရွယ်ရောက်လာပြန်တော့လည်း ဒီလိုတည်ဆောက်နေရခြင်းကို ဆက်လက် မြတ်နိုးနေတတ်ကြပါတယ်။ ဟုတ်ပါတယ်။ Programming ဟာ ကျွန်တော်တို့ကို အဲ့ဒီ သဘာဝပျော်ရွှင်မှုမျိုးကို ပြန်လည် ပေးစွမ်းနိုင်ပါတယ်။ ကိုယ့် အတွေး၊ ကိုယ့် စိက်ကူးနဲ့ Program တစ်ပုဒ်ကို ရေးသားနေရခြင်းက Programming ရဲ့ ပျော်ရွှင်မှု အနှစ်သာရတစ်ခုပါ။ (Deadline တွေ ဝင်မရှုပ်ရင်ပေါ့ :D)
===
၂။ အသုံးပြုသူတွေ အကျိုးရှိသွားလို့ ရလာတဲ့ ပီတိအပျော်
လူသားတွေဟာ ကိုယ့်ဖန်တီးတည်ဆောက်ထားတဲ့အရာတွေကို အများသူငြာ အသုံးပြုစေချင်ပါတယ်၊ နောက် အကျိုးလည်းရှိစေချင်ကြပါတယ်။ ကိုယ်ဖန်တီးထားတဲ့ အရာကနေ အများသူငြာ အကျိုးရှိအသုံးတည့်သွားရင် ရလာတဲ့ ပီတိအပျော်ဟာ ဘာနဲ့မှလဲလို့ မရပါဘူး။
ကျွန်တော်တို့ Programmer တွေဟာလည်း ဘယ်လောက်အိပ်ရေးပျက်ပင်ပန်းခဲ့သည်ဖြစ်စေ Positive User Feedback တကြောင်းလောက် ပြန်ဖတ်လိုက်ရရင်အမောပြေသွားတတ်ကြပါတယ်။
===
၃။ ပုစ္ဆာတစ်ပုဒ်ကို ဖြေရှင်းနေရသကဲ့သို့ စိတ်ဝင်စားဖို့ကောင်းမှု
Programming ရေးသားတာဟာ Jigsaw Puzzle တစ်ခုကို ချိတ်ဆက်ပုံဖော်နေရသကဲ့သို့ စိတ်ဝင်စားဖို့ကောင်းပါတယ်။
Jigsaw Puzzle ဆိုတာ ရုပ်ပုံတစ်ခုရဲ့ အပိုင်းအစလေးတွေကို အံဝင်ခွင်ကျဖြစ်အောင် ဆက်စပ်ပုံဖော်ရတဲ့ ဉာဏ်စမ်းကစားနည်း တစ်မျိုးပါ။ ပေးထားတဲ့အစီအစဉ်အတိုင်း ရုပ်ပုံ အစိတ်အပိုင်းလေးတွေ ချိတ်ဆက်ရင်း ဖြည်းဖြည်းချင်းပုံပေါ်လာသလိုမျိုး - Programming မှာ Modules တွေ၊ Code Line တွေ၊ Library တွေ ပေါင်းစပ်ရင်း Program တစ်ပုဒ် အလုပ်တစ်ခုပြီးတစ်ခု လုပ်ဆောင်လာတာကို မြင်နေရခြင်းဟာလည်း ခံစားမှု ရသတစ်မျိုးပါပဲ။
===
၄။ အသစ်အသစ်တွေကို လေ့လာခွင့်ရနေလို့ လန်းဆန်းတက်ကြွပျော်ရွှင်ရမှု
Programming အလုပ်ဟာ ထပ်တလဲလဲ ဒါကြီးပဲ လုပ်နေရတဲ့ အလုပ်မျိုး မဟုတ်ပါဘူး။ အမြဲတစေ ပြဿနာအသစ်တွေ၊ နည်းပညာဆန်းသစ်မှုတွေ၊ စိန်ခေါ်မှုအသစ်တွေကို နေ့စဉ်နဲ့အမျှ ကြုံတွေ့နေကြရတာပါ။ အဲ့ဒီအတွက် ကျွန်တော်တို့ Programmer တွေဘက်ကလည်း လေ့လာမှုတွေကို စဉ်ဆက်မပြတ် လုပ်နေကြရပါတယ်။
ဒီလို ပျင်းရိဖို့မကောင်းဘဲ အသစ်တွေနဲ့ဆန်းသစ်နေခြင်းကသည်ပင် Programming လောကရဲ့ စိတ်လှုပ်ရှားစရာကောင်းတဲ့ အချက်တစ်ခုဖြစ်နေတာပါ။
===
၅။ ပြုလွယ်၊ ပြင်လွယ်ပြီး လွတ်လပ်စွာဉာဏ်ကွန့်မြူးနိုင်မှု
နောက်ဆုံးတခုကတော့ Programming ရေးသားတာဟာ အကြမ်းဖျင်းအားဖြင့် အရင်းအနှီးမကြီးမားပဲ ပြုလွယ်၊ ပြင်လွယ်၊ တည်ဆောက်လွယ်တဲ့ သဘောမျိုးရှိပါတယ်။
ကဗျာဆရာတွေမှာ သူတို့ရဲ့စိတ်ကူးနဲ့ လေထဲတိုက်အိမ်ဆောက်ပြီး ကဗျာတွေ၊ စာတွေ ရေးလိုရသလိုမျိုးပေါ့။ ဥပမာ - Algorithm တစ်ခုကိုလေ့လာပြီး လက်တွေ့လေ့ကျင့်ချင်တယ်ဆိုရင် Code Editor တစ်ခုကို ဖွင့်ပြီး ချက်ချင်း လက်တွေ့ရေးသားနိုင်ပါတယ်။ ဒါတင်မက ရေးပြီးသား Code Line တွေကို ဖျက်မလား၊ recover ပြန်လုပ်မလား၊ သိမ်းမလား၊ module တွေ ခွဲမလား စတဲ့လုပ်ဆောင်ချက်တွေကို လွယ်လင့်တကူ ပြုလုပ်လို့ ရပါတယ်။
အခြားအလုပ်တွေမှာ ဒီလို ပြုလွယ်၊ပြင်လွယ်တဲ့ အခွင့်အရေးမျိုး ရှိဖို့ ခဲယဉ်းပါတယ်။
ဒါ့အပြင် ကဗျာဆရာရဲ့စာသားတွေလိုမဟုတ်ပဲ Program တစ်ပုဒ်ဟာ တည်ဆောက်ပြီးရင် လက်တွေ့ run ကြည့်လို့ ရပါသေးတယ်။ အသက်ဝင်ပါတယ်။ လက်တွေ့ အသုံးပြုကြည့်လို့ရပါတယ်။
===
(ဒီလို ပြောလိုက်လို့ Software Project တစ်ခုကို အပြီးအစီး တည်ဆောက်ရတာ လွယ်တယ်လို့ ဆိုလိုချင်တာ မဟုတ်ပါဘူး။ နေ့စဉ်လုပ်ငန်းဆောင်တာရဲ့ Coding Process မှာ အလုပ်လုပ်ရတာ ပြုလွယ်၊ ပြင်လွယ်တယ်လို့ ဆိုလိုခြင်းသာ ဖြစ်ပါတယ်။
ဒါပေ့သိ ကိုယ့်အနေနဲ့ ကနဦးကတည်းက စနစ်တကျ Program ကို ပုံစံချ တည်ဆောက်ခဲ့မယ်ဆိုရင် Programming အလုပ်က ပြောင်းလဲမှုတွေအတွက် အဆင်ပြေပြေ ပြင်ဆင်နိုင်စွမ်း ရှိပါတယ်။)
==========
အဆုံးသတ်ပြောရရင် Programming ဟာ ပျော်ဖို့ကောင်းပါတယ်။ ကျွန်တော်တို့လူသားတိုင်းရဲ့ အတွင်းသဏ္ဍန်မှာ ရှိနေတတ်တဲ့ ဖန်တီးတည်ဆောက်ချင်တဲ့စိတ်ကို နှစ်သိမ့်ကျေနပ်စေနိုင်သလို စိတ်အတွေးနဲ့ဉာဏ်ကွန့်မြူးမှုတွေကိုလည်း လွတ်လပ်စွာ ပြုလုပ်ခွင့်ပေးထားပါတယ်။
Programming ရဲ့ အလုပ်သဘာဝကြောင့် ဖြစ်လာတဲ့ စိတ်ရှုပ်ဖို့ကောင်းတဲ့အချက်တွေလည်း ရှိပါသေးတယ်။ ဒါပေမယ့် အဆုံးသတ်ကတော့ ရလာတဲ့ပျော်ရွှင်မှုတွေနဲ့ နှိုင်းယှဉ်ရင် မပြောပလောက်ပါဘူး။ နောက်များ အခါအခွင့်သင့်မှပဲ ဒီစိတ်ရှုပ်စရာအချက်လေးတွေကို ထပ်မံဝေမျှပေးပါဦးမယ်။ ကိုယ်က Software Development Project တွေရဲ့ စီမံခန့်ခွဲမှုနဲ့ ပတ်သက်ပြီး စိတ်ဝင်စားတယ်ဆိုရင် မူရင်းစာအုပ်ဖြစ်တဲ့ The Mythical Man-Month ကို သွားရောက်ဖတ်ကြည့်ဖို့ ကိုလည်း တိုက်တွန်းလိုက်ပါရစေ။