အပိုင်း ၁ ကို ဒီမှာ ပြန်ဖတ်နိုင်ပါတယ်။
ကိုယ့် coding ကို အားကိုးလွန်းခြင်း
တချို့ ကိစ္စတွေမှာ ရိုးရိုးလေးနဲ့ အရှည်ကြီး ရေးရမယ့် coding နဲ့ သင့်ရဲ့ trick နဲ့ တိုတို လေး ရေးလိုက်လို့ရတာတွေ ရှိပါတယ်။ လူတိုင်း နီးပါးကတော့ ကိုယ်ပိုင် trick လေး သုံးပြီးရေးလိုက်ချင်တာပဲ။ သို့ပေမယ့် သင့် code က ပြန်ဖတ်တဲ့ အခါမှာ အရမ်းကို ရှုပ်ထွေးလွန်းနေပြီး သင်တစ်ယောက်တည်းသာ နားလည်နိုင်တယ်ဆိုရင်တော့ သင်ဟာ Developer ကောင်း ပီသတဲ့ သူမဟုတ်တော့ဘူး။ လူတိုင်းက သင့်လို မတော်ပါဘူး။ သင်ရေးတဲ့ code က သင့်တစ်ယောက်တည်း အတွက်ဆိုရင် ကိစ္စမရှိပေမယ့် နောင်တချိန် အခြားလူတစ်ယောက်က ပြန်ပြင်ရမယ်ဆိုရင်တော့ မသုံးသင့်ဘူးပေါ့။ ပြန်ပြင်တဲ့လူက သင့် code ကို လုံးဝ နားမလည်ဘူး သို့မဟုတ် သင့်လောက် မတတ်ဘူး မတော်ဘူးဆိုရင်တော့ သင့်ကို ပြန်မေးတာတွေကို သင်ပြန်ဖြေနေရလိမ့်မယ်။ လူတိုင်းက သင့်လောက် မတော်ပါဘူး။ ဒါကြောင့် ရိုးရှင်းပါ။
သင်ဟာ ပညာပြလွန်းခြင်း
Interview တစ်ခုမှာ သင့်ကိုယ်သင် Expert PHP developer လို့ ပြောပြီး file read write code လေးတစ်ခုကို obfuscated codeတွေနဲ့ ရေးပြလိုက်မယ်ဆိုပါတော့။ အဲဒီအခါ သူဌေး က အရမ်းသဘောကျသွားမယ် ထင်သလား။ သေချာပါတယ်။ သင့်ကို မချီးကျူးပဲနဲ့ အော်မထုတ်ရင်တောင် ကံကောင်းပါတယ်။ PHP ကို အဲလိုမျိုးရေးသားတာက anti-social သမားလို့ ဆိုရမလားပဲ။ PHP ဟာ opensource ဖြစ်ပြီး သူရဲ့ source ကိုလည်း .php file ကနေ တဆင့် လွယ်လွယ်ကူကူ ဖတ်လို့ရပါတယ်။ အဲဒီလိုမျိုး language ကို ဝါသနာပါတဲ့သူဟာ crypt လုပ်ထားတဲ့ code တွေ ထည့်သွင်းရေးတတ်တယ်ဆိုတာကိုက ကောင်းတာမဟုတ်တော့ဘူး။ နောက်ပြီး သင်ရေးလိုက်တဲ့ code က သင်တစ်ယောက်ပဲ ပြန်ပြီး decrypt ပြန်ဖြေနိုင်လိမ့်မယ်။ အလုပ်ထဲမှာ သင် malware တစ်ခု ထည့်လိုက်မယ်ဆိုရင် ဘယ်လို လုပ်မလဲ။ ဒါကြောင့် code ကို အဲလို မရေးပါနဲ့။ ပညာလည်း မပြ ပါနဲ့။ PHP Developer တစ်ယောက် အနေနဲ့ ပညာ ပြဖို့လည်း လိုလည်း မလိုအပ်ပါ။ ပညာပြဖို့ ကြိုးစားတယ်ဆိုကတည်းက ပညာမပြည့်ဝသေးတဲ့ သဘောကို ဆောင်နေပါတယ်။
မင်းဘာပြောနေတာလဲ သူငယ်ချင်း ?
သင် လေ့လာတာတွေ ရပ်တန့်လိုက်ပြီလား။ သင် အလုပ်တွေများလွန်းလို့ လေ့လာတာတွေကို မလုပ်ဖြစ်တော့ဘူး ပြောနေတာလား။ ပြန်စဉ်းစားပါအုံး။ ဘယ်လောက်ပဲ အလုပ်တွေ များနေပါစေ။ ဘယ်လောက်ပဲ အလုပ်တွေ ရှုပ်နေပါစေ။ လေ့လာတာကတော့ ရပ်တန့်လို့ မရပါဘူး။ Technology ကတော့ မြန်မြန်ကြီး မပြောင်းသွားပေမယ့် community ကတော့ တဖြည်းဖြည်းကြီးလာပါတယ်။ ကြီးလာတာနဲ့ အမျှ problem solving တွေကလည်း ပိုပြီး မြန်လာပါတယ်။ ထို့ အတူတူ တောင်းဆိုမှု အသစ်တွေကနေ technology အသစ်တွေကလည်း တရက်ပြီး တရက်တိုးတိုး ပြီးလာပါတယ်။ ဘယ်လောက်ပဲ up-to-date ဖြစ်သွားလို့ ရပ်လိုက်မယ်ပြောပြော သင့်ရဲ့ up-to-date က ယနေ့အတွက်သာ မှန်တော့မှာပါ။ ဒါကြောင့် လေ့လာတာတွေကို ရပ်လိုက်တော့မယ် developer community တွေထဲမှာ မနေတော့ ဘူးဆိုရင်တော့ သင်ဟာ PHP developer ကောင်း တစ်ယောက် မဟုတ်ပေတော့ဘူး။
ကိုယ့်ဘာသာကိုယ် ကြိုးစားနေခြင်း
PHP community က အကြီးကြီးပါ။ အချို့အရာတွေ တော်တော်များများက ကိုယ်တိုင် ရေးနေစရာတောင် မလိုတော့ဘူး။ လွယ်လွယ်ကူကူ snippet တွေကို ယူသုံးလို့ရပါတယ်။ အစအဆုံး တစ်ယောက်တည်း ကိုယ်တိုင်ကျဲစရာလည်း မလိုပါဘူး။ နောက်ပြီး technology တွေက အမြဲတန်း ထွက်နေပါတယ်။ သင်သိထားတဲ့ နည်းလမ်းထက် ပိုလွယ်မယ့်နည်းလမ်းတွေလည်း ထွက်ပြီးသား ဖြစ်နေမှာပါ။ ဒါကြောင့် ကိုယ့်ဘာသာ ကိုယ် တစ်ယောက်တည်း ကြိုးစားနေခြင်းထက် လက်ရှိ PHP Developer တွေရဲ့ blog တွေ ကို လည်း subscribe လုပ်ထားသင့်ပါတယ်။ အခုအချိန်မှာ သူတို့ရေးပြထားတဲ့ code တွေက အသုံးမဝင်ပေမယ့် နောင်တချိန် ကိုယ့်အတွက် အဆင်ပြေလာနိုင်ပါတယ်။ ဖတ်သင့်တဲ့ PHP site တွေကတော့
သက်တောင့် သက်သာနေခြင်း
တစ်ခါတစ်လေ project တွေက ကိုယ့်အတွက် စိန်ခေါ်မှုတွေ ဖြစ်ပေမယ့် အချို့ project တွေကတော့ စိတ်ပျက်ဖို့ ကောင်းလှပါတယ်။ သက်တောင့်သက်သာ နေပြီး အလုပ်လေး လုပ်ချင်ပါတယ်။ အမြဲတန်း အဲလိုမျိုး လုပ်ချင်နေရင်တော့ သင်ဟာ Developer ကောင်း မဟုတ်တော့ဘူး။ ကိုယ့်ဘာသာ project အသစ်အတွက် အောက်က မေးခွန်းတွေကို မေးပြီး ဖြေကြည့်ပါလား
- ကိုယ်စိတ်ဝင်စားတဲ့ technology အသစ် အခုလုပ်မယ့် project မှာ အသုံးပြုလို့ရမလား။
- အရင်က ဒီလိုပုံစံ အတိုင်း လုပ်ခဲ့ဘူးတဲ့ project ထက် ပိုကောင်းမွန်အောင် ရေးနိုင်မလား။
- ဒီ project တစ်ခုလုံးမှာ လေ့လာမှုတွေ ကောင်းကောင်း လုပ်ရမလား
အဲဒီ မေးခွန်းတွေ ကိုယ့်ဘာသာ ကိုယ်မေးပြီး project တစ်ခု ပေါ်မှာ ဘယ်လောက် စိတ်ဝင်စားမှုရှိလဲ ဘယ်လောက် လုပ်ချင်စိတ်ရှိသလဲဆိုတာကို သိနိုင်ပါတယ်။ အမြဲတန်း သက်တောင့် သက်သာ နေချင်တဲ့ သူတွေကတော့ ဒီ မေးခွန်းတွေကို ကိုယ့်ဘာသာ ကိုယ် ပြန်ဖြေမှာ မဟုတ်ပါဘူး။ ပြီးရင် ပြီးတာပဲ လို့ သတ်မှတ်လိမ့်မယ်။ နောက်ပြီး project ရေးတဲ့အခါမှာတော့ Docblocks ကို အသုံးပြုဖို့ မမေ့နဲ့အုံး။ ရေးရတာ ပျင်းဖို့ ကောင်းပေမယ့် သင့် code ကို ပြန်ဖတ်တဲ့သူအတွက်တော့ တော်တော် အသုံးဝင်ပါတယ်။
သင်ဟာ မျှဝေတဲ့ သူမဟုတ်ဘူး
သင့် code ကို developer တွေကို မျှဝေပြီး ဆွေးနွေးမှုတွေ လုပ်သင့်ပါတယ်။ အဲဒီအခါ သင့် code က ပိုမိုကောင်းမွန်လာပြီး သင်လည်း အများကြီး တိုးတက်လာပါတယ်။ ဒါ့အပြင် အခြား ကျေးဇူးတွေလည်း အများကြီးရလာပါတယ်။ မျှဝေတယ်ဆိုတာက tutorial ရေးတာ ဖြစ်ဖြစ် ဒါမဟုတ် opensource လုပ်တာ ဖြစ်ဖြစ်ပေါ့။ Noobs တွေက ကိုယ့်ကို ဘယ်လို တိုးတက်အောင် ကူညီနိုင်မှာ မို့လို့လဲဆိုပြီး မေးကောင်း မေးပါလိမ့်မယ်။ သင့်ရဲ့ code တွေကို သင် ရေးသားတဲ့အခါမှာ ပိုမိုလွယ်ကူပြီး ကောင်းမွန်အောင် သင်စဉ်းစားရလိမ့်မယ်။ အဲဒီ code ကို အခြား တော်တဲ့ Developer တွေရဲ့ ဝေဖန်မှုတွေလည်း သင်ရလာနိုင်ပါတယ်။ တနည်းပြောရရင် သင်ဟာ beginner တွေကို ကူညီရင်း သင့်ရဲ့ skill ကိုလည်း တိုးတက်လာတယ်ဆိုတာကို သင်သတိပြုမိပါလိမ့်မယ်။
ကိုယ်ပိုင် Project မရှိဘူးဆိုရင်
သင်ဟာ သင့်ကိုယ်ပိုင် project မရှိဘူးဆိုရင်တော့ သင်ဟာ Developer ကောင်းတစ်ယောက် မဟုတ်သေးပြန်ဘူး။ ကိုယ်ပိုင် project ဟာ ရုံးက အလုပ်တွေနဲ့ မတူပါဘူး။ အားလပ်ချိန်မှာ ရေးသားရပြီး သင့်စိတ်ကြိုက်တွေ ပေါင်းစည်းထားပြီး သင့်ကိုလည်း အတွေ့အကြံုတွေ ရစေပါတယ်။ နောက်ပြီး စိတ်ပင်ပန်းမှုလည်း မခံစားရစေပါဘူး။ ဒါကြောင့် ရုံး project တွေသာ လုပ်ထားပြီး ကိုယ်ပိုင် project တစ်ခုမှ မရေးဘူးရင်တော့ Developer ကောင်းတစ်ယောက် လို့ မဆိုနိုင်ပါဘူး။
ကျွန်တော်တို့တွေဟာ အရာရာအားလုံး ကောင်းမွန် နေတဲ့ သူတွေ မဟုတ်ပါဘူး။ အပေါ်က အချက်တွေထဲမှာ ကိုယ်လုပ်ခဲ့ဘူးတာတွေလည်း ပါမှာပါ။ အကုန်လုံး ပြီးပြည့်စုံတဲ့ လူသားတစ်ယောက်ဖြစ်ဖို့ တော်တော်ခက်ခဲပါတယ်။ သို့ပေမယ့် ဒီ အချက်တွေက ကိုယ့်အမှားတွေကို ဂရုပြုစေမှာပါ။ နောက်ပြီး ကိုယ်နဲ့ အတူတူ တွဲလုပ်တဲ့သူတွေကိုလည်း ပျော်ရွှင်လာစေမှာပါ။ ကိုယ်ဟာ တကယ်တော်တဲ့ PHP Developer တစ်ယောက်ထက် PHP Developer ကောင်း တစ်ယောက် ဖြစ်ဖို့လည်း လိုအပ်ပါတယ်။ PHP Developer ကောင်းတစ်ယောက်က ကိုယ်နဲ့ အတူတူ အလုပ်တွဲလုပ်တဲ့ သူတွေကို စိတ်ချမ်းသာမှု ပေးနိုင်ပါတယ်။ တော်တဲ့ Developer တွေနဲ့ အလုပ်အတူတူ တွဲလုပ်ရတဲ့အခါမှာ လုပ်ဖော်ကိုင်ဖက်တွေ န့ အဆင်မပြေတာတွေက အပေါ်က အချက်တွေ ကြောင့်လည်း သက်ဆိုင်သင့်သလောက် သက်ဆိုင်ပါတယ်။
ကဲ.. ဒီလောက်ဆိုရင်တော့ တော်လောက်ပြီပေါ့ဗျာ..
reference:
http://net.tutsplus.com/tutorials/php/why-youre-a-bad-php-programmer/