Self Taught Developer တစ်ယောက်ဖြစ်လာဖို့

Self Taught Developer တစ်ယောက်ဖြစ်လာဖို့ ဘယ်လိုလုပ်ရမလဲဆိုတာနဲ့ ပတ်သတ်လို့ ကိုယ့်အတွေ့အကြုံတွေကို တစ်ချက်ချင်းစီ List လုပ်ပေးထားပါတယ်။ 1. ပထမဆုံးအနေနဲ့ English စာပါ။ Programming တင်မဟုတ်ပါဘူး။ဘာပဲလေ့လာ လေ့လာ English ကပိုပြီး အခရာကျပါတယ်။ English စာကိုအရမ်းကြီးမရရင်တောင် Four Skills လောက်ထိရနေမှရပါမယ်။ မြန်မာလိုရေး၊ မြန်မာလိုသင်ထားတဲ့ စာအုပ်တွေ၊ Tutorials တွေတော့ရှိပါတယ်။ဒါပေမဲ့ ပိုပြီးသိချင်၊တတ်ချင်၊လေ့လာချင်တယ်ဆိုရင်တော့ English ကိုမရဘဲ ရှေ့ဆက်နိုင်မှာမဟုတ်ပါဘူး။ 2. နောက်တစ်ခုက Google သုံးတတ်ဖို့လိုပါမယ်။ကိုယ်လိုချင်တဲ့ စာအုပ်၊ Software ၊Courses တွေကိုမြန်မြန်ဆန်ဆန်ရှာဖွေတတ်တာကလည်း Research Skill တစ်မျိုးပါပဲ။အဲ့တော့ Google သေချာသုံးတတ်ဖို့လိုပါမယ်။ 3. Language ရွေးချယ်တတ်ဖို့လိုမယ်။ ကိုယ်ကWeb ရေးချင်တာလား၊ Mobile ဘက်သွားချင်တာလား၊ Game လား၊ Data science ပိုင်းလားဆိုတာကိုအစတည်းရွေးချယ်ထားဖို့လိုပါမယ်။ Web အတွက်ဆိုHTML,CSS,JS ရအောင်လုပ်။Mobile မှာဆို နှစ်မျိုးကွဲတယ်၊ Android Or IOS ဆိုပြီးရှိပါမယ်။ Android ဆို Java, Kotlin,React Native, IOS အတွက်ဆို Flutter,Dart, Object-C ကိုရွေးဖို့လိုပါမယ်။ Game အတွက်ဆို C++,C# နဲ့ Data science အတွက်ဆို Python သိထားရင်ရပါပြီ။ ဒီလိုတွေပြောရတာလည်း Web ရေးလိုက် Mobile ရေးလိုက်နဲ့ ဟိုတစ်စဒီတစ်စမဖြစ်စေချင်လို့ပါပဲ။ Full Stack သွားမယ်ဆိုရင်တော့တစ်မျိုးပေါ့။ 4. Tutorials တွေကြည့်တာလျှော့ပြီး Project တွေများများရေးပါ။ Project ရေးမဲ့နေရာမှာလည်း ကိုယ် Level နဲ့ကိုက်တဲ့ Project မျိုးရွေးချယ်ဖို့လိုပါမယ်။ ဆိုလိုချင်တာက ကိုယ့် Skill က Basic လောက်ဆို အဲ့တာနဲ့ဆိုင်တဲ့ Mini Projects အသေးလေးတွေစရေးပါ။ ဒီ Project တစ်ခုရေးလိုက်လို့ ဘာတွေသိလိုက်လဲ၊ဘာတွေရလိုက်သလဲဆိုတာကို သိအောင်လုပ်ထားပါ။ အမေကျော် ဒွေးဒေါ်လွမ်းပြီး Projects အကြီးကြီးတွေ စ‌ကိုင်နေရင် အချိန်ကုန်လူပင်ပန်းရုံပဲရှိပါမယ်။ 5. စာများများဖတ်ပါ။ စာဖတ်တဲ့နေရာမှာလည်း အင်္ဂလိပ် လိုပဲဖြစ်ဖြစ် မြန်မာလိုပဲဖြစ်ဖြစ် လွယ်တဲ့စာအုပ် ကိုယ်ဖတ်လို့ နားလည်မဲ့စာအုပ်ကနေသာစဖတ်ပါ။ English လိုဖတ်နိုင်ရင်တော့အကောင်းဆုံးပါ။ စာဖတ်တဲ့နေရာမှာလည်း ဖတ်ရုံတင်မဟုတ်ဘဲ အရေးကြီးတဲ့နေရာတွေကို Line တားထားတာဖြစ်ဖြစ် Note ထုတ်ထားတာဖြစ်ဖြစ်လုပ်ထားသင့်တယ်။နောက်တစ်ချိန်ကိုယ်ပြန်ဖတ်မယ်ဆိုရင်လည်း အဆင်ပြေတာပေါ့။ နောက်ကိုယ်ဖတ်နေတဲ့စာအုပ်ရဲ့ Technical Depths ကိုလဲသိအောင်လို့လုပ်ထားစေချင်တယ်။ 6. Software Engineering ကိုသိအောင်လုပ်ထားပါ။ Computer Science ပိုင်းကိုလည်းလေ့လာထားပါ။ Computer Science အကြောင်းကတော့ စာရှည်မှာဆိုးလို့အများကြီး‌မရေးတော့ပါဘူး။ အောက်မှာ CS နဲ့ပတ်သတ်လို့ လေ့လာနိုင်တဲ့ အဖိုးတန် Resources တွေကို စုထည့်ပေးထားပါတယ်။ https://www.britannica.com/science/computer-science 7. Linux ဆိုတာကိုသုံးဖူးစေချင်ပါတယ်။ Linux မှာUbuntu, Parrot, Kali, Red Hat စသည်ဖြင့်ပေါ့။ Destro တွေအများကြီးရှိပေမဲ့ နေ့စဉ်သုံး Destro ဖြစ်တဲ့ Ubuntu နဲ့တော့အကျွမ်းတဝင်ရှိနေစေချင်ပါတယ်။အလုပ်ခေါ်စာတွေမှာလည်း Linux သုံးတတ်ရင် ပိုဦးစားပေးမယ်ဆိုတာတွေ့ဖူးကြမှာပါ။အဲ့တော့ Linux ကိုသုံးသင့်လား မသုံးသင့်လားဆိုတာတော့ ကိုယ့်ဘာသာဆုံးဖြတ်ရပါမယ်။ 8. ကိုယ်လေ့လာထားတာတွေကို မမေ့ချင်ဘူး။နောက်တစ်ကြိမ်လည်းထပ်ပြီးမလေ့လာချင်ဘူးဆိုရင် ကိုယ်သိထား တတ်ထားတာတွေကိုပြန်လည်မျှဝေပါ။ Page တစ်ခုဖွင့် စာရေးတာဖြစ်ဖြစ် Twitter လို Platform တွေမှာမျှဝေတာဖြစ်ဖြစ် လုပ်သင့်ပါတယ်။ ဒီလိုမျှဝေတဲ့နည်းလမ်းဟာ ကိုယ်အတွက်လည်း မမေ့နိုင်သလို တစ်ပါးသူလည်းအကျိုးများနိုင်ပါတယ်။ အဲ့တော့ဒီအချက်လေးကိုလုပ်သင့်တယ်။ 9.‌ နောက်တစ်ခုက Errors တွေနဲ့ပတ်သတ်လို့နည်းနည်းပြောချင်ပါတယ်။ Code ရေး‌နေသမျှတော့ Error ဆိုတာတွေ့နေမှာပါပဲ။ အကယ်လို့ Code ရေးနေရင်း Error တတ်လာရင် လုံးဝမကြောက်ပါနဲ့။ တစ်ချက်ချင်းစီ Debugging စလိုက်ပါ။ StackOverFlow လိုနေရာ‌တွေမှာ ကိုယ်ကြုံနေရတဲ့ Error နဲ့ပတ်သတ်တဲ့အဖြေတွေ Code Examples တွေအများကြီးရှိပါတယ်။ အပေါ်မှာပြောခဲ့သလို ကိုယ်တတ်နေတဲ့ Error နဲ့ပတ်သတ်တဲ့ အဖြေကို Google မှာရှာတတ်မယ်၊ Debugging ကောင်းကောင်းလိုက်တတ်မယ်ဆို Error ဆိုတာကြောက်စရာမဟုတ်ပါဘူး။ 10. Language လေ့လာနေတဲ့နေရာတွေမှာလည်း Basics Syntax လောက်ရနေရုံနဲ့ ပီတိဖြစ်နေလို့မရပါဘူး။ API, Framework တွေပါထပ်ပြီးလေ့လာထားသင့်ပါတယ်။ 11. သူများရေးထားတဲ့ Code Example တွေကိုတစ်ချက်လိုက်ဖတ်ကြည့်ပါ။ စုတုပြု ပြုလုပ်ပါ။ 12. နောက် Open Source Projects တွေအများကြီးရှိပါတယ်။ လိုက် Join ပြီးရေးကြည့်ပါ။ လူတွေအများကြီးနဲ့အလုပ်လုပ်ရတာဖြစ်တာမို့ ကိုယ့် Network လည်းပိုပြီးကျယ်လာသလို အတွေ့အကြုံလည်းတော်တော်လေးရနိုင်ပါတယ်။