slider text


မဂၤလာပါခင္ဗ်ာ...Htun Reader ဘေလာ့မွ ၾကိဳဆိုပါတယ္...သတင္း ပို ့စ္ အသစ္မ်ား မတင္ႏိုင္ခဲ့ပါက ခြင့္လႊတ္ေပးၾကပါရန္ အႏူးအညႊတ္ေတာင္းပန္အပ္ပါတယ္..လာေရာက္လည္ပတ္တဲ့အတြက္ အထူးေက်းဇူးတင္လ်က္ပါ....

bannner animate

Saturday, April 2, 2016

software Engineer တေယာက္ျဖစ္ဖုိ႕အတြက္ ဘာေတြ လိုအပ္သလဲ။

software engineer တစ္ေယာက္မွာ အေျခခံလိုအပ္တာေတြက (တဆင့္ျခင္းစီသြားလွ်င္လဲ ရလို႔ အမွန္စဥ္ေလးေတြထိုးလိုက္မယ္ေနာ္)
1) Programming Knowledge
2) Database Knowledge
3) System Analysis and Design
4) Domain Knowledge (any area as much as you can learn)
5) General Networking Knowledge

1) Programming Knowledge
ေယဘူယ်အားျဖင့္ စတာနဲ႔ Programming နဲ႔စမွာပါ။ ဆိုေတာ့ Language oriented မျဖစ္ခဲ့ရင္ ပိုေကာင္းပါတယ္။ ေနာက္ပိုင္းမွ ကိုယ္က ဘယ္လိုင္းမွာ အလုပ္လုပ္မလဲ အေပၚမူတည္ျပီး ေဇာက္ခ်သြားလို႔ရပါတယ္။ ဥပမာ၊ ၊ Microsoft platform မွာ လုပ္မွာလား၊ Java လား၊ Opensource လား စသျဖင့္ အလုပ္အေပၚကိုလိုက္လို႔ ေရြးခ်ယ္သြားၾကမွာပါ။
2) Database Knowledge Database Driven application ေတြေရးလာျပီဆိုရင္ DB ကို စတင္ထိေတြ႔ရေတာ့မယ္။ ဆိုေတာ့ အနဲဆံုး Storeprocedures ေတြေရးမယ္ေပါ့။ အဲဒီမွာကို table ေတြ link ရွိေနတာ၊ ေဒတာေတြကို ခြဲျပီး သိမ္းဆည္းတာ စတာေတြကို သိထားမွ Storeprocedures ေတြေရးႏိုင္မယ္။
3) System Analysis and Design သူကေတာ့ စိတ္မဝင္စားရင္ အင္မတန္မွ အိပ္ငိုက္တဲ့ ဘာသာရပ္ပါ။ စိတ္ဝင္စားရင္ေတာ့ ေတာ္ေတာ္ ေပ်ာ္ဖို႔ေကာင္းတဲ့ ဘာသာရပ္ပါ။ သူကဘာေတြသင္မလဲဆိုေတာ့ Domain Knowledge ကို ဘယ္လိုရေအာင္ေလ့လာမလဲဆိုတာရယ္၊ သူ႕ကို ျပန္ျပီးေတာ့ Computer Driven ျဖစ္ေအာင္ ဘယ္လိုျပန္ျပီး ပံုစံေျပာင္းၾကမယ္ဆိုတာေတြကုိ သင္ၾကားေပးတာပါ။ ဥပမာဆိုပါေတာ့၊ ၊ ကၽြန္ေတာ္တို႔ ဘဏ္လုပ္ငန္းအေၾကာင္း အေသးစိတ္ မသိၾကဖူးေပါ့၊ ဒါေပမယ့္ ဘဏ္လုပ္ငန္းက ကြန္ပ်ဴတာစနစ္တတ္ဆင္ အသံုးျပဳျခင္တယ္ဆိုရင္ သူတို႔ ေန႔စဥ္ လုပ္ေဆာင္ေနတဲ့ လုပ္ငန္းစဥ္ေတြကို လိုက္ေလ့လာျပီး ကြန္ပ်ဴတာနဲ႔ ဘယ္လိုေျပာင္းလုပ္ၾကမယ္ဆိုတဲ့ အဆင့္ဆင့္ အေကာင္ အထည္ေဖၚတဲ့ အဆင့္မ်ားကုိ သင္ေပးပါတယ္။ ေက်ာင္းေတြမွာေတာ့ အေျခခံ အေတြးအေခၚကိုသာ ေပးလိုက္ႏိုင္ျပီးေတာ့ ေနာက္ပိုင္းမွသာ ကိုယ့္ရဲ႕ စိတ္ဝင္စားမႈနဲ႔ ျပင္ပေလ့လာမႈမ်ား အေပၚမွာ အေျခခံလို႔ Domain Knowledge ဘယ္ေလာက္ေကာင္းတယ္ဆိုတာ ျဖစ္ေပၚလာပါတယ္။ Domain Knowledge ဆိုတာ ဘာၾကီးလဲလို႔ ထပ္ေမးၾကမယ္ေပါ့။ သေဘာကေတာ့ accounting အေၾကာင္း software ေရးမယ္ဆိုရင္ account အေၾကာင္း တီးေခါက္မိထားရမယ္။ စတိုးဆိုင္ ေဈးေရာင္းစနစ္ဆိုရင္လဲ accounting နဲ႔ စတိုပစၥည္း အ၀င္အထြက္ကေလးေတြ သိထားရမယ္၊ ဒါမွသာလွ်င္ Customer က ကြန္ပ်ဴတာစနစ္သံုးခ်င္ပါတယ္ လုပ္ေပးပါဆိုလာရင္ SE ေတြက ယူဆာေတြရဲ႕ ဘာလုပ္ခ်င္တာလဲ၊ ဘာလိုခ်င္တာလဲ စတာေတြကို ေမးျမန္းၾကတဲ့ အခါမယ္ မွန္ကန္တဲ့ ေမးခြန္းေတြ ေမးမိမွာပါ။ အဲဒီေနာက္ပိုင္းမွာမွ System Design ေတြ စဥ္းစားမယ္ ဆဲြမယ္၊ Database Design ေတြစဥ္းစားမယ္ ဆြဲမယ္ စသျဖင့္လုပ္သြားႏိုင္မွာပါ။ ဟိုး အရင္ကေတာ့ System Analyst နဲ႔ Programmer ဆိုျပီးေတာ့ သီးျခား ခြဲထားၾကပါတယ္။ ခုေနာက္ပိုင္းေတာ့ SE ဟာ အဆင့္တိုင္းမွာ ပါဝင္ရပါေတာ့တယ္။ အလုပ္ထဲမွာေတာ့ Senior , junior ဆိုျပီးေတာ့ level ခြဲကာ တာဝန္အကုန္ယူခ်င္မွ ယူရမွာပါ။ သို႔ေပမယ့္ ေနာင္မွာ ဂ်ဴနီယာလဲ စီနီယာျဖစ္လာရင္ အဆင့္တိုင္းမွာ အကုန္လုပ္ရေတာ့မွာပါ။
4) Domain Knowledge (any area as much as you can learn) သူကေတာ့ သီးျခားသင္ေပးတာ မရွိဘူးဗ်။ ကိုယ့္ရဲ႕ စူးစမ္းေလ့လာႏိုင္စြမ္းအေပၚမွာ မူတည္လို႔ ျဖည့္ထားရမယ့္ ability တစ္ခုပါ။ ကၽြန္ေတာ့အထင္ အရင္က ဒီဟာ သိတ္အေရး မၾကီးဘူးဗ်။ ဘာလို႔လဲဆို လုပ္ငန္းၾကီးေတြက ကြန္ပ်ဴတာစနစ္ေျပာင္းျခင္ရင္ software company ကိုေခၚျပီး ေလ့လာၾကတယ္ေပါ့။ အဲဒီမွာ လနဲ႔ခ်ီျပီး သူတို႔ Manual စနစ္ကို ေလ့လာျပီးမွ Proposed Design ဆိုျပီးထုပ္ေပးတာဆိုေတာ့ ေလ့လာရင္းသိသြားတာဘဲဗ်။ အဲေနာက္ေတာ့ ေခတ္ကကို အလ်င္လိုလာတဲ့ အခါၾကေတာ့ ကုန္ပဏီေတြက အခ်ိန္အၾကာၾကီး မေပးႏိုင္ေတာ့ဘူး။ ဒီေတာ့ Domain Knowledge ပိုင္တဲ့ Software Company က Proposed System ကို ျမန္ျမန္ေပးႏိုင္တာဘဲ၊ ဒါေၾကာင့္ SE ေတြမွာ Domain Knowledge ရွိရမယ္ဆိုတာ ျဖစ္လာေတာ့တာ ထင္ပါတယ္။
5) General Networking Knowledge Network Design ၾကီးစဥ္းစားႏိုင္တဲ့ အေျခအေနေလာက္ကို ေျပာတာမဟုတ္ပါ၊ ကုိယ့္ program ေသခ်ာ အလုပ္မလုပ္တာဟာ Network Error ေၾကာင့္လား၊ network permission ေၾကာင့္လား။ စသျဖင့္ ဆံုးျဖတ္ႏိုင္ေအာင္ပါ၊ Socket Programming ေတြေရးရမွာဆိုရင္ေတာ့ ပိုသိဖို႔လိုပါတယ္။
Credit-Original

No comments:

Post a Comment

Related Posts Plugin for WordPress, Blogger...