DEV Community

Aung Myat Moe
Aung Myat Moe

Posted on • Originally published at aungmyatmoe.me on

Generalist over Specialist

Language/Framework တစ်ခုထဲရရင်ဖြစ်သလားပေါ့။။ မရပါဘူး။ ရပ်တည်ရခက်တယ်။ Imposter Syndrome ဝင်ဖို့လည်းလွယ်တယ်။ Right Problem ကို Right Tool နဲ့ Resolve လုပ်နိုင်ဖို့ကြိုးစားဖို့လိုအပ်တယ်။ PHP ရတဲ့သူဆိုရင် ငါတို့ PHP မှာ Laravel ရှိနေသားပဲဆိုပြီးတော့တခြား Curated ဖြစ်တဲ့ Slim လို၊ Symfony လိုကောင်တွေမကြည့်ချင်တော့ဘူး။ ကြည့်ဖို့မတတ်နိုင်တာလဲပါတယ်။ ဘာကြောင့်ဆိုရင် Language ကိုသေချာဂဃဏနမတတ်ကြလို့ပဲ။

Functional Programming Pattern တွေ Apply တဲ့အခါမှာ PHP ဟာလုံးဝအဆင်မပြေဘူး။ Code တွေက မွစာကြဲနေတာမျိုးဖြစ်တယ်။ Spaghetti ဖြစ်တယ်ပေါ့။ ဒီတော့ Hybrid Approach ကိုသုံးကြရတယ်။ FP + OOP ပုံစံမျိုးပေါ့။ ဒီလိုမျိုးသုံးနိုင်မှ အပ်နဲ့ထွင်းရမဲ့ကိစ္စကိုပုဆိန်နဲ့မပေါက်ရမှာ။ မဟုတ်ရင်ပုဆိန်နဲ့ထုနေရပြီ။

နောက် Programming Language ကိုကြည့်တာက Logical Problem တွေကိုဘယ်လို Solve လုပ်တတ်အောင်လို့ကြည့်ရတာ။ အလွတ်ကျက်ဖို့မဟုတ်ဘူး။ JavaScript ရပါပြီတဲ့။ သူများတွေ React မို့လို့ React လိုက်ကြည့်ရင် Job Demand အတွက်ကောင်းပေမဲ့ ကိုယ့်ရဲ့တိုးတက်ရာလမ်းကြောင်းပိတ်တယ်။ React ပဲအလွတ်ရနေတဲ့ကောင်တွေအများကြီးပဲ။ ဒီတော့ဘာဖြစ်လဲဆိုရင် Framework တစ်ခုမှာပဲ Stuck ဖြစ်သွားတယ်။ နောက်တစ်ခုကို Jump လုပ်နိုင်စွမ်းမရှိတော့ဘူး။ Jump လုပ်ချင်စိတ်လည်းမရှိတော့ဘူး။ ဘာလို့ဆိုရင် Specialist ဆိုတဲ့စိတ်ဝင်နေတာရယ်၊ Comfort Zone ထဲဝင်သွားတာရယ်ကြောင့်ဖြစ်တယ်။

Language ဒါမှမဟုတ် Framework တစ်ခုကိုကြည့်တဲ့အခါမှာ Beginner ဖြစ်နေတဲ့ကာလမှာသာတစ်ခုထဲမှာ Stuck ထားသင့်တာ။ ဒီအခြေအနေမှာပြောင်းလို့မရဘူးဆိုတာမျိုးတော့မဟုတ်ဘူး။ ဆိုပါစို့ကိုယ်က JavaScript ကိုကြည့်နေတယ်။ OOP ကိုကြည့်တဲ့အခါမှာ JavaScript ရဲ့မွစာကြဲနေတဲ့ OOP Design ကြောင့် PHP ကိုပြောင်းကြည့်တာမျိုး၊ ဒါမှမဟုတ် Java ကိုကြည့်တာမျိုး။ ပြောင်းလဲပြင်လွယ်ဖြစ်ဖို့လိုအပ်တယ်။ ကိုယ်လုပ်နေတဲ့ Framework ကခက်နေတဲ့ဆိုရင်တခြား Level တူ Framework တစ်ထခုကိုကြည့်တာမျိုးလုပ်လို့ရတယ်။ အဲ့လိုမလုပ်ဘူးဆိုရင်အလွတ်ကျက်နေတာထက်ဘာမှမပိုဘူး လို့ပြောလို့ရတယ်။

ဒီနေရာမှာ Specialist ဖြစ်တာထက် Generalist ဖြစ်တာကိုပြောင်းနိုင်ဖို့လိုတယ်။ Software Engineering Field ကတခြား Field တွေလိုတစ်ခုတည်းလုပ်နေရုံနဲ့ရတဲ့ဟာမျိုးမဟုတ်ပါဘူး။ Paradigm အသစ်တွေ၊ Design Pattern အသစ်တွေက စက္ကန့်တိုင်း၊ မိနစ်တိုင်းပြောင်းနေတာမို့၊ ကိုယ်က Skill Sets မပြည့်စုံရင် Paradigm Shift တာကိုခံနိုင်မှာမဟုတ်သလို၊ Field ထဲကနေမြန်မြန်ဆန်ဆန် Retire သွားရမှာဖြစ်တယ်။

Junior တွေက Field ထဲကိုစစဝင်လာတာဖြစ်တာကြောင့် သူတို့ကတက်တက်ကြွကြွနဲ့အသစ်သစ်တွေကိုသင်ယူချင်စိတ်ရှိကြတယ်။ ဒီနေရာမှာကိုယ်က Senior ဖြစ်ပြီးတော့ Juniors တွေပြောတာမသိဘူးဆိုရင် ကိုယ့်ကိုယ်ကို Push လုပ်ပြီး Learn လုပ်ဖို့လိုအပ်တယ်။ ဘာလို့ Framework တစ်ခုတည်းကို ၁၀ နှစ်လုပ်နေတာက Experience လို့မခေါ်ဘူး။ Comfort Zone ထဲပျော်နေတယ်လို့ခေါ်တယ်။ ဒီလို Comfort Zone ထဲရောက်လာတဲ့အခါ Service Oriented Architecture တွေသုံးတဲ့အခါမှာဘယ်လို Apply ရမှန်းမသိဖြစ်တတ်တယ်။ ဘာလို့ဆိုရင်တစ်ခုတည်းရနေတာဖြစ်လို့ကျန်တာရဲ့ Usage ကိုသဘောမပေါက်နိုင်တာဖြစ်တာကြောင့်မို့လို့ပဲ။

https://thewokesalaryman.com/.../we-should-all-be.../amp/

Top comments (0)