Web Developer Beginners for sharing
အခုတွေ့ရတဲ့ post တော်တော်များများကို ကြည့်လိုက်တဲ့အခါ လူငယ်တွေ တော်တော်များများဟာ ရှေ့ဆက်ပြီး ကိုယ့်ဘ၀အတွက် careerကို ရွေးချယ်ဖို့အတွက် ဘယ်ဟာကို ရွေးချယ်ရမှန်း မသိဖြစ်နေကြတာကို တွေ့နေရပါတယ်။ ကျောင်းမပြီးသေးလို့ ၊ ဆက်မတက်ဖြစ်တော့လို့ ၊ ခုခေတ်အခြေအနေကြောင့် စသည်ဖြင့် မိမိတို့ ရှေ့ဆက်လမ်းကို ဘယ်ဟာနဲ့ လျောက်ရမလဲ စဉ်းစားနေရတဲ့ အချိန်ဆိုလဲ မမှားပါဘူး။ အဲလိုဖြစ်နေပြီ ဆိုရင် ပထမဦးဆုံး လုပ်ရမှာကတော့ မိမိကိုယ်ကို ပြန်လည်စမ်းစစ်ဖို့ လိုပါမည်။ ငါ ဘယ်အပိုင်းကို စိတ်ဝင်စားလဲ၊ ငါဘာအလုပ်နဲ့ အသက်မွေးဝမ်းကျောင်း ပြုမလဲဆိုပြီး ဆုံးဖြတ်ချက်ချသင့်ပါတယ်။ ဆုံးဖြတ်ချက်ချပြီးပြီ ဆိုရင်လဲ ကိုယ်တစ်ကယ် ဝါသနာပါတဲ့ ၊ ဘယ်လိုအခက်အခဲကြုံကြုံ အောင်မြင်အောင် ကြိုးစားလုပ်နိုင်မယ် ဆိုတဲ့ လမ်းကြောင်းမျိုးကိုသာ ဆုံးဖြတ်ချက်ချတာ ဟုတ်မဟုတ် ပြန်လည်စမ်းစစ်ပါ။ ကိုယ်ဆုံးဖြတ်ချက်ချထားတာ သေချာပြီဆိုရင်တော့ အဲလမ်းကိုလျောက်ဖို့ စတင်ပြင်ဆင်သင့်ပါတယ်။
စတင်ပြင်ဆင်ပြီဆိုရင် ပထမဦးဆုံး စတင်လုပ်ရမှာကတော့ လေ့လာခြင်းပါ။ အခုအချိန်ဟာ သင့်အတွက် လေ့လာစရာတွေ အပေါများဆုံးနဲ့ အလွယ်ကူဆုံးနေရာတွေ အများကြီးရှိပါတယ်။ တစ်ချို့က ပြောကြတယ်..လေ့လာချင်တယ် ဒါပေမယ့် သင်တန်းတွေတက်ဖို့ မတတ်နိုင်လို့၊ ဘယ်သင်တန်းတက်ရမလဲ မသိလို့၊ စသည်ဖြင့် မလုပ်ရသေးဘူး ကြိုတင်မဖြစ်နိုင်ဘူးဆိုတဲ့ ဆင်ခြေတွေ၊ ချေပချက်တွေ တသီကြီး ပေးကြပါတော့တယ်။ အဲလိုသင်ကိုယ်တိုင် ဖြစ်နေပြီ ဆိုရင်တော့ သေချာပါပြီ သင်ဆုံးဖြတ်ခဲ့တဲ့ လမ်းကို သင်လျောက်နိုင်တော့မှာ မဟုတ်ပါဘူး။ ဒါကြောင့် သင်အဲလိုမျိုး ဆင်ခြေတွေပေးတဲ့ အထဲ မပါအောင် နေထိုင်ပါ။
သင်လေ့လာချင်ပြီဆိုရင် ပိုက်ဆံပေးရမှ မဟုတ်ဘဲ လေ့လာစရာနေရာတွေ အများကြီး ရှိပါတယ်။ သင့်ရဲ့လက်ထဲမှာ သင်လေ့လာချင်တာတွေကို လေ့လာဖို့ကို အထောက်အကူပေးနိုင်မဲ့ ဖုန်းတစ်လုံး ရှိနေပါတယ်။
အင်တာနက်တော့ ရှိဖို့လိုတာပေါ့နော်။ အဲဒီ တန်ဖိုးရှိတာတွေ သင့်လက်ထဲ ရှိရက်နဲ့ အပေါ်မှာ ပြောခဲ့သလို သင်ဟာ မဖြစ်နိုင်ဘူးဆိုတဲ့ ဆင်ခြေတွေ လက်ကိုင်ထားနေမယ် ဆိုရင်တော့ သင့်ကို မည်သည့်အရာကမှ ကူညီနိုင်တော့မည် မဟုတ်ပါ။ သင်လေ့လာချင်တဲ့ အရာတွေကို Google မှာ လေ့လာလို့ရပါတယ်။ Google ဟာ ကျတော်တို့အတွက် လေ့လာစရာတွေ အားလုံးကို တစ်နေရာထဲမှာ သင်ပေးနေသော ကျောင်းတော်ကြီး ဆိုရင်လဲ မမှားပါဘူး။ သင်မသိတာတွေ တော်တော်များများကို Google မှာ ရှာဖွေနိုင်ပါတယ်။ လေ့လာနိုင်ပါတယ်။ ထို့အပြင် Youtube, Udemy, Telegram စတဲ့ plattform တော်တော်များများမှာ ပါလေ့လာနိုင်ပါတယ်။ သင်မသိတာတွေ ကို How to.. လို့ အစချီပြီး ရှာရင်ကိုပဲ သင်လိုချင်တဲ့ အဖြေရဲ့ ၉၀ရာခိုင်နှုန်းကို သင်ရှာတွေ့နိုင်မှာပါ။ ကျတော်ကိုယ်တိုင်လဲ အခုချိန်ထိ အဲလိုပဲ လေ့လာနေတာပါ။ ဒါကြောင့် သင့်ရဲ့ တန်ဖိုးရှိတဲ့ အချိန်တွေကို အားလျော့ခြင်း၊ ပျင်းရိခြင်း၊ စိတ်ဓာတ်ကျခြင်း တွေနဲ့ မကုန်ဆုံးစေဘဲ လေ့လာချင်းတွေကို အခုပဲ စတင်လိုက်ပါ။ အချိန်ကာလတစ်ခုရောက်ရင် ဒီလိုလေ့လာချင်းဟာ သင့်ကိုတစ်ကယ် အထောက်အကူ ဖြစ်စေတယ်ဆိုတာ သင်တစ်ကယ်နားလည်လာမှာပါ။
ဒါဆိုရင်တော့ ဘယ်နေရာမှာ လေ့လာရမယ်ဆိုတာ ပြောပြပြီးပြီနော်။ သင်တို့ရဲ့ ဝါသနာနဲ့ ကိုက်ညီတာတွေကို ရှာပြီးလေ့လာကြပါ။ ကျတော်ကတော့ Web Development Engineer တစ်ယောက်အဖြစ်နဲ့ အသက်မွေးနေသူ တစ်ယောက်ဖြစ်တဲ့အတွက် ကျတော် web development ပိုင်းကို ဝါသနာပါပြီး လေ့လာချင်သူတွေအတွက် ဆက်လက်ပြီး အထောက်အကူ ဖြစ်စေနိုင်တာလေးတွေကို တင်ပြပေးမှာ ဖြစ်ပါတယ်။ Web Development ဆိုတာဟာ သင်တို့ ဖုန်း သို့မဟုတ် ကွန်ပြူတာရဲ့ browser မှာ သင်တို့ရဲ့ စီးပွားရေးလုပ်ငန်းများ၊ Blog များ ရဲ့ သတင်းအချက်အလက်များ၊ ထုတ်ကုန်များအား အသုံးပြုသူများ အလွယ်တကူ သိနိုင်မြင်နိုင် စေရန် ဖော်ပြဖို့အတွက် Website တစ်ခု တည်ဆောက်ခြင်း နည်းပညာဟု မှတ်ယူနိုင်ပါတယ်။ သင်တို့ယခုအသုံးပြုနေသည့် Facebook သည်လည်း Website တစ်ခုပင်ဖြစ်ပါတယ်။ Web Applications လို့လဲ ခေါ်တွင်နိုင်ပါတယ်။ Web Applications ဟုခေါ်ဆိုရခြင်းမှာ သူသည် Web Browser( Chrome, Firefox, Safari, Edge, Brave, Opera , etcs,.) ပေါ်တွင်သာ အလုပ်လုပ်သောကြောင့် ဖြစ်ပါတယ်။
Web Development ပိုင်းဟာဆိုရင် ကျယ်ပြန့်ပါတယ်။ သူ့မှာ အပိုင်း ၂ ပိုင်းဖြင့် ယေဘူယျအားဖြင့် ဖွဲ့စည်းထားပါတယ်။ အဲတာတွေကတော့ Front-End Development နဲ့ Back-End Development ဆိုပြီး ရှိပါတယ်။ Front-End Development ဟာ နားလည် လွယ်အောင် ပြောရရင် သင်တို့ browser ပေါ်မှာ မြင်ရတဲ့ အရောင်အသွေးတွေ၊ design တွေကို ဖန်တီးခြင်းဟု မှတ်ယူနိုင်ပါတယ်။ User Interface ( UI ) နဲ့ User Experience ( UX ) ပိုင်းကိုလုပ်ရတာဖြစ်ပါတယ်။ အသုံးပြုသူတို့နှင့် တိုက်ရိုက်ထိတွေ့ရသော အပိုင်းများကိုသာ ဖန်တီးရသောကြောင့် client side အပိုင်းကို တာဝန်ယူရသောသူများဟု ခေါ်နိုင်ပါသည်။ Back-End Development ဟာ နားလည်လွယ်အောင် ပြောရရင် Front-End Developers များက ဖန်တီးလိုက်သော Design များကို interactive ဖြစ်အောင် ပြုလုပ်ပေးရပါသည်။ interactive ကို မြင်အောင်ရှင်းပြရရင် Facebook မှာ post ရေးပြီး Post ဆိုတဲ့ ခလုပ်ကိုနှိပ်လိုက်ရင် သင့်ရဲ့ wall နဲ့ သင့်သူငယ်ချင်းတွေရဲ့ wall ပေါ်မှာ သွားပေါ်အောင် လုပ်ပေးတဲ့ ကိုယ်မမြင်ရဘဲ နောက်ကွယ်ကနေ run နေတဲ့ process ကို ဖြစ်အောင် coding တွေရေးပေးခြင်းကို ခေါ်ပါတယ်။ client side မှာ အလုပ်လုပ်ခြင်း မဟုတ်ပဲ server side မှာပဲ အလုပ်လုပ်ခြင်းကြောင့် backend development ဟုခေါ်ဆိုခြင်း ဖြစ်ပါတယ်။
ထို့ကြောင့် လက်ရှိ လုပ်ငန်းခွင်မှာ front-end developer နှင့် back-end developer ဆိုပြီး position နှစ်မျိုးနဲ့ လုပ်ကိုင်ကြပါတယ်။ ထို့အပြင် front-end ကော back-end ကော ပိုင်နိုင်ကျွမ်းကျင်သော developer များကို fullstacks developer ဟုခေါ်ပါတယ်။ ထိုသို့ဖြစ်လာစေရန်လည်း များစွာသော အချိန်၊ လေ့လာမှု ၊ ဖန်တီးမှူများဖြင့် ကြိုးစားမှသာ ဖြစ်လာမှာ ဖြစ်ပါသည်။ ထိုသို့လေ့လာရန် roadmap ဟုခေါ်သော လေ့လာရန် နည်းလမ်းများကို ထပ်မံဖော်ပြပါဦးမည်။
Front-End Development Road Map
Front-End Development အကြောင်းကို အကျဉ်းချုံး ပြောပြခဲ့ပြီး ဖြစ်ပါတယ်။ အခုနည်းနည်းပိုပြီး ချဲ့ရှင်းပြပါမယ်။ ဘယ်လိုလေ့လာရမလဲဆိုတဲ့ Roadmap ကို ပြောပြပေးပါမယ်။
Front-End Development အတွက် ဦးစွာ လေ့လာရမှာကတော့ Hyper Text Market Language လို့ခေါ်တဲ့ HTML ကိုဦးစွာလေ့လာရပါမယ်။ HTML သည် Web Page တစ်ခု ဖြစ်လာရန် မရှိမဖြစ် လိုအပ်သော language တစ်ခုဖြစ်ပါတယ်။ HTML သည် Webpage ၏ structure ပိုင်းကို တာဝန်ယူပေးပါတယ်။ ဘာအလှဆင်မှုမှ မပါသော plain structure အပိုင်းကို တာဝန်ယူပါသည်။ အခုတော့ အဲလောက်ပဲ ရှင်းပြပါမယ်။ ဘာလို့ဆိုတော့ HTML အကြောင်းသီးသန့် ရှင်းတာမဟုတ်သေးတဲ့အတွက် စာအရမ်းရှည်သွားမှာ စိုးလို့ဖြစ်ပါတယ်။
HTML ကိုလေ့လာရာတှငျ ပထမဦးစှာ HTML ၏ Basic Syntax ဟုခေါျသော အခွခေံ Syntax မြားကနစေလေ့လာပါ။ ဒုတိယအနနေဲ့ Semantics HTML ဟုခေါျသော HTML ၏ ဝေါဟာရမြား၏ အဓိပ်ပာယျမြားကို လေ့လာပါ။ အလှတျကကြျရနျမဟုတျပါ နားလညျအောငျ လေ့လာရနျ ဖွစျပါတယျ။ တတိယအနနေဲ့ HTML Forms and Validation အကွောငျးမြား ကိုလေ့လာပါ။ စတုတ်ထအနနေဲ့ HTML Accescibility ဟုခေါျသော ဘယျနရေမှာ ဘယျလို Syntax မြား Tag မြားကို သုံးနိုငျမလဲ ဆိုတာတှကေိုလေ့လာပါ။ ပဉ်စမအခကြျအနနေဲ့ Search Engine Optimization ဟုခေါျသော SEO အကွောငျးကိုလေ့လာပါ။ SEO ဆိုသညျမှာ မိမိ၏ web page အား client က request လုပျသညျ့အခြိနျတှငျ Google Search Engine မှ အလှယျတကူရှာဖှေ တှေ့ရှိစရေနျအတှကျ ပွုလုပျရသညျဟု မှတျထာရပေးပါ။ သငျ SEO အကွောငျးကို လေ့လာတဲ့အခါ ပို၍သိလာပါလိမျ့မညျ။ ဒီလောကျလေ့လာပွီးပွီဆိုရငျ သငျHTML ကို လကျတှေ့အသုံးခနြိုငျပါပွီ။
Cascading Style Sheet ဟုခေါ်သော CSS အကြောင်းကို နောက်ထပ် လေ့လာရပါမယ်။ CSS ဆိုသည်မှာ plain structure ဖြစ်သော HTML Elements များအား လိုချင်သော design ရစေရန် layout ချပေးခြင်း၊ အရောင်များ ထည့်ပေးခြင်း၊ devices မျိုးစုံပေါ်တွင် responsive design ရအောင် ပြုလုပ်ပေးခြင်းစသော တာဝန်များကို လုပ်ဆောင်ပါသည်။CSS ကို လေ့လာရာတွင် ပထမဦးစွာ CSS Basic Syntax များကို လေ့လာပါ။ ဒုတိယအနေဖြင့် CSS Flex Box အကြောင်း ကိုလေ့လာပါ။ တတိယအနေဖြင့် CSS Grid System အကြောင်းကို လေ့လာပါ။ စတုတ္ထအနေဖြင့် Responsive System အကြောင်းလေ့လာပါ။ ဒါဆိုရင် သင်၏ HTML webpage အား CSS ဖြင့် သင်ကောင်းကောင်း အလှဆင်နိုင်ပါပြီ။
JavaScript ဟုခေါျသော JS အကွောငျးကို နောကျထပျလေ့လာရပါမယျ။ JS သညျ HTML နှငျ့ CSS မတူပဲ သူသညျ Object Oriented Programming (OOP) Language ဖွစျသောကွောငျ့ အခြိနျပေးလေ့လာရပါမညျ။ HTML သညျ Market language ဖွစျပွီး CSS သညျ Style Sheet သာဖွစျ၍ နှစျမြိုးလုံးသညျ programming language မဟုတျပါ။ ဒါလေးကိုတော့ သိထားပါ။ သငျလေ့လာရငျး ပိုသိလာပါလိမျ့မညျ။JavaScript အား ECMA Script ဟုလညျးခေါျပါသညျ။ JS အားတီထှငျခဲ့သူကတော့ Brendan Eich ဆိုသူဖွစျပွီး စတငျ launch လုပျစဉျ အခါက Mocha ဟူသောအမညျဖွငျ့ launch လုပျခဲ့ပါသညျ။ ထို့နောကျ LiveScripts ဟူသောအမညျကို ပွောငျးလဲခဲ့ပါသညျ။ 2015 ခုနှစျတှငျမူ LiveScripts မှ JavaScript ဟု အမညျကိုထပျမံပွောငျးလဲ ခေါျဆိုခဲ့သညျမှာ ယနေ့ထကျတိုငျပငျဖွစျပါသညျ။ ဒါကတော့ JS ဖွစျပေါျလာပုံကို အနညျးငယျ ရှငျးပွတာပါ။ JS ကိုလေ့လာရာတှငျ ပထမဦးစှာ JS basic Syntax တှအေကွောငျး စတငျလေ့လာပါ။ ဒုတိယအနဖွေငျ့ Document Object Model ဟုခေါျသော DOM Manipulation အကွောငျး ကို လေ့လာပါ။ တတိယအနဖွေငျ့ JS Engine ၏ Parser အကွောငျးလေ့လာပါ။ စတုတ်ထအနဖွေငျ့ Fetch API မြားအကွောငျး လေ့လာပါ။ ပဉ်စမ အနဖွေငျ့ JavaScript Object Notations ဟုခေါျသော JSON အကွောငျးလေ့လာပါ။ ဆဌမ အနဖွေငျ့ JS version ES6 နောကျပိုငျး ပွောငျးလဲသှားပုံ မြားကို လေ့လာပါ။ JS စတငျလေ့လာရာတှငျ JS Version ES5 မှ စတငျလေ့လာပါလို့ အကွံပေးခငြျပါတယျ။ သတ်တမ အနဖွေငျ့ JavaScript library ဖွစျသော JQuery အကွောငျးကိုလေ့လာပါဟု အကွံပွုခငြျပါသညျ။ ဒီလောကျဆိုလငြျ သငျ front-end development လမျးကွောငျးပေါျသို့ ခွလှေမျးစတငျနိုငျပါပွီ။
HTML, CSS, JS ထိုသုံးခု လေ့လာယုံဖြင့်တော့ မပြီးသေးပါ။ Terminal command များ အကြောင်းလဲ လေ့လာပါ။ ထိုမှသာ သင်လုပ်ငန်းခွင် ဝင်သည့်အခါ အဆင်ပြေနိုင်မည်ဖြစ်ပါသည်။ ထို့နောက် Version Control System များဖြစ်သော GIT, GitHub, Bitbucket စသည်များကိုလဲ လေ့လာသင့်ပါသည်။ ထို့နောက် Hosting and deployment အကြောင်းလဲသိထားဖို့ လိုပါသည်။ အကုန်လုံး မသိရင်တောင် အခြေခံတော့ လေ့လာထားရပါမည်။
အထက်ဖော်ပြပါအချက်များသည် Front-End Development အတွက် မရှိမဖြစ်လိုအပ်သော RoadMap ကိုဖော်ပြထားခြင်း ဖြစ်ပါသည်။ ဤနယ်ပယ်သည် အလွန်ကျယ်ပြန့်သောကြောင့် ဒါတွေလေ့လာယုံမျှဖြင့် ပြီးပြီလားဟူ၍တော့ မမေးစေလိုပါ။ မပြီးပေမဲ့လည်း အထက်ပါအချက်များအတိုင်း လေ့လာပြီးပါက သင် front-end Development လမ်းကြောင်းကို စတင်လျောက်နိုင်မည် ဖြစ်ပြီး ကျန်သည့်လိုအပ်ချက်များကို အတွေ့အကြုံက ဆက်လက်သင်ပြပေးသွားပါလိမ့်မည်။
ဖော်ပြပါအချက်များ လေ့လာရာတွင် အလွတ်မကျက်သင့်ပါ။ နားလည်အောင် လုပ်ပါ။ copy and paste မလုပ်ပါနှင့်။ fundamental Concept များအကြောင်း ကို သေချာနားလည်အောင်လုပ်ပါလို့ အကြံပေးလိုက်ရပါတယ်။ Beginner များအတွက် ရည်ရွယ်၍ တင်ပြခြင်း ဖြစ်ပါသည်။ အမှားများ ပါရှိပါကလည်း ဝေဖန်ထောက်ပြနိုင်ပါတယ် ခင်ဗျာ။ နောက်ထပ် Back-End Development Roadmap အားလဲ တင်ပြပေးပါဦးမယ်။
Back-End Development Road Map
Front-End Development Road Map အားတင်ပြပေးပြီးပြီဆိုတော့ အခုဆက်ပြီးတော့ back-end development roadmap အား ထပ်မံ တင်ပြပေးသွားပါမည်။ ကိုယ်က front-end ပိုင်းကို စိတ်မဝင်စားဘူး back-end ပိုင်းပဲ စိတ်ဝင်စားတယ် ဆိုရင်လဲ back-end ပိုင်းပဲ လေ့လာနိုင်ပါတယ်။ သို့ပေမဲ့ front-end ပိုင်းက HTML နဲ့ CSS ကိုတော့ လုံး၀အကျွမ်းအကျင်ကြီး မဟုတ်ရင်တောင် အခြေခံ တော့ သိကိုသိထားသင့်ပါတယ်။ Backend development သည် server side မှာ အလုပ်လုပ်တာ ဖြစ်တာကြောင့် server side programming language တွေကို စတင်လေ့လာဖို့ လိုပါတယ်။ Server Side programming language တွေအများကြီးရှိပါတယ်။ JavaScripts သည် client side programming language ဖြစ်ပေမဲ့ JS သည် high level programming language ဖြစ်ပါတယ်။ တစ်ခုသိထားသင့်သည်မှာ JavaScripts သည် scripting language ဖြစ်ပြီး သူသည် သင့်စက်ရဲ့ browser ပေါ်မှာ သာ အလုပ်လုပ်ပါသည်။ server ပေါ်မှာ အလုပ်မလုပ်နိုင်ပါ။ ခုနောက်ပိုင်းတွင် JS က browser ပေါ်တွင်သာမက server side မှာပါ အလုပ်လုပ်နိုင်အောင် ထပ်မံချဲ့ထွင်ခဲ့ပါသည်။ အဲတာကတော့ node.js ပါ။ node.js သည် JS ကို browser ပေါ်တွင် သာမက server ပေါ်မှာပါ အလုပ်လုပ်နိုင်အောင် ဖန်တီးထားသော cross platform , open source javascripts runtime environments ဖြစ်ပါတယ်။ တစ်ခြား PHP ကဲ့သို့သော server-side OOP programming language လဲရှိပါတယ်။ ကျတော်ပြောခဲ့သလို ဒီနယ်ပယ်ဟာ ကျယ်ပြန့်သောကြောင့် မိမိစိတ်ဝင်စားသော language ဖြင့်စတင်လေ့လာပါ။ ကျတော်ကတော့ node.js နဲ့ ပဲ ဒီ road map ကို အစချီပြီး ပြောပြပေးသွားပါမယ်။ ထို့ကြောင့် ပထမဦးစွာ JavaScripts ကို ပိုင်နိုင်အောင် လေ့လာထားသူ ဖြစ်ရပါမယ်။ ကျတော်က node.js ကိုလေ့လာဖို့ အကြံပေးတာ ဖြစ်တာကြောင့် JS ကတော့ သိကိုသိမှရမှာပါ။ Node.js ကို စတင်လေ့လာပါ။ Node.js ကိုလေ့လာရင် ပထမအနေနှင့် node.js ရဲ့ framework ဖြစ်သော Express.js ကိုလေ့လာပါ။ ထို့အပြင် Node Package Manager ဟုခေါ်သော NPM အားလေ့လာရပါမည်။
ဒုတိယ အနေဖြင့် Application Programming Interface ဟုခေါ် သော API အကြောင်းကို လေ့လာပါ။ API ကိုလေ့လာရာတွင် Perform Back-End Functions of API ကို လေ့လာပါ။ ထို့နောက် REST API resource model အကြောင်းကို လေ့လာပါ။ ထို့နောက် API manipulation language ဖြစ်သော GraphQL open source data query အကြောင်းကို လေ့လာပါ။ ဒီလောက်ဆိုရင် API အကြောင်း သင်သိနေပြီလို့ ပြောလို့ရပါပြီ။
တတိယ အနေဖြင့် Database အကြောင်းလေ့လာပါ။ Database သည် performance ကောင်းသော website များအတွက် အရေးကြီးသော အရာတစ်ခု ဖြစ်ပါတယ်။ Database ကိုလေ့လာရာတွင် Database အမျိုးစားများဖြစ်သော Relational Database, Document Database, Graph Database, Wide Column Database များကို လေ့လာရန် လိုအပ်ပါသည်။ ထိုအထဲမှ Relations Database နှင့် Document Database အကြောင်းကို အဓိက လေ့လာသင့်ပါတယ်။ ထိုနှစ်မျိုးသည် အသုံးများပါသည်။ ထိုနှစ်မျိုးအထဲမှ Relational Database သည် ပိုပြီးအသုံးများပါသည်။ ယခုအသုံးများနေသော SQL, MySql, PostgreSQL, MSQL တို့သည် relational database အမျိုးအစားများ ဖြစ်ပါတယ်။ ထို့ကြောင့် database ကိုလေ့လာရာတွင် အထက်ဖော်ပြပါများအတိုင်း လေ့လာသင့်ပါတယ်။
စတုတ္ထအနေဖြင့် JavaScripts FrameWork များအကြောင်း လေ့လာပါ။ JavaScripts FrameWork များလေ့လာရာတွင် Build SPAs your project ဆိုသည့်အတိုင်း မိမိလေ့လာနေရင်း Single Page Application များကို တည်ဆောက်ပြီး လေ့လာပါ။ Javascripts FrameWork တွေကို ဘာကြောင့်လေ့လာသင့်သလဲ ဆိုရင် သူသည် ယခု အချိန်မှာ stay Organized ဖြစ်ပြီး Interactive UIs များကိုပါ ထောက်ပံ့ပေးနိုင်သောကြောင့် ဖြစ်ပါသည်။ Javascripts FrameWork များကို အနည်းငယ် ဖော်ပြပေးပါမည်။ အသုံးများသော JS FrameWork များမှာ React, Vue, Angular တို့ပဲ ဖြစ်ပါတယ်။ ထိုအထဲမှ နှစ်သက်ရာ တစ်ခုခု ကို စတင်လေ့လာပါ။ ထို့အပြင် Next.js, Gatsby, Nuxt.js ဆိုပြီးလဲ frameWork များစွာ ရှိပါသေးသည်။ Next.js နှင့် Gatsby.js သည် React.js ကို အခြေခံ ထားသော frameWork ဖြစ်ပြီး Nuxt.js သည် Vue.js အားအခြေခံထားသော framework ဖြစ်ပါသည်။
သင်သည် front-end development ကို လေ့လာထားသူ မဟုတ်ပါလျင် ပဉ္စမအနေဖြင့် CSS FrameWork များကိုပါ လေ့လာသင့်ပါသည်။ လူသုံးများသော CSS FrameWork ၂မျိုးရှိပါသည်။ အဲတာတွေကတော့ TailWind Css နဲ့ BootStrap တို့ပဲ ဖြစ်ပါတယ်။ ထို့ကြောင့် ထိုနှစ်မျိုးအားလည်း သင်လေ့လာသင့်ပါသည်။
ဆဌမအနေဖြင့် Security ပိုင်းဖြစ်သော Authentication အကြောင်းကို သင်ထပ်မံလေ့လာ ရပါမည်။ Authentication ပိုင်းမှာ Open Authorization ဟုခေါ်သော OAuth ကိုလေ့လာသင့်ပါသည်။ ထို့နောက် JWT ဟုခေါ်သော JavaScripts Web Token အကြောင်းကိုလေ့လာပါ။ ထို့နောက် Auth0 ကိုလေ့လာပါ။ OAuth နှင့်မတူပါ။ ဒီလောက်ဆို Authentication အပိုင်းကို သင်အသုံးချနိုင်ပါပြီ။
သတ္တမအနေဖြင့် Contents Management System ဟုခေါ်သော CMS များကို လေ့လာသင့်ပါသည်။
CMS များစွာ ရှိပါသည်။ ထိုအထဲတွင် Wordpress, Joomla, Drupal တို့မှာ အသုံးများပါသည်။ ထိုအထဲမှာမှ WordPress သည် အသုံးအများဆုံး ဖြစ်ပါသည်။ WordPress ကိုလေ့လာလာရာတွင် သာမန်သူများကဲ့သို့ အသုံးပြုပုံ နည်းလမ်းများကိုသာ လေ့လာခိုင်းသည် မဟုတ်ပါ။ ကိုယ်ပိုင် theme များ၊ pluginsများ တည်ဆောက်နိုင်သည်အထိ လေ့လာပါ။ Wordpress သည် php ဖြင့် ရေးသားထားသော CMS ဖြစ်သောကြောင့် ဖြစ်နိုင်ရင် PHP ပါလေ့လာထားရင် ပိုကောင်းပါသည်။ မလေ့လာနိုင်ရင် အခြေခံ အသုံးများသော PHP syntax များကိုတော့ လေ့လာထားပါ။ Wordpress သည် အများအားဖြင့်တော့ front-end developer များအား အလုပ်ခန့်ရန် ခေါ်ဆိုသော requirement များတွင်ပါ တောင်းဆိုထားသည်ကို တွေ့ရပါသည်။ ထို့ကြောင့် လေ့လာထားသင့်ပါသည်။ သင်သည် Japan Company များ သို့မဟုတ် Japan Projects များကို လုပ်ဆောင်မည့် သူဆိုပါလျင် Shopify, MoveableType, MakeShop စသော CMS system များကိုပါ လေ့လာသင့်ပါသည်။ ထို့နောက် အချိန်ရရင် HeadLess CMS များ ဖြစ်သော Sanity.io နှင့် Strapi များကို လေ့လာနိုင်ရင် ပိုကောင်းပါသည် ဟု အကြံပြု လိုပါသည်ခင်ဗျာ။ အထက်ပါ အကြောင်းအရာများကို သင်ကျွမ်းကျင် သွားပြီဆိုပါက သင့်ရဲ့ လုပ်ဆောင်နိုင်စွမ်းသည် အလွန်တိုးတက်လာမည်မှာ မလွဲမုချပင် ဖြစ်ပါလိမ့်မည်။
ကျတော် တင်ပြသည်မှာ JavaScript ကို အခြေခံပြီး တင်ပြထားသည် ဖြစ်ပေမဲ့လည်း တစ်ခြား OOP Language ဖြင့် ရပ်တည် လိုသူများအနေဖြင့် JS နေရာမှာ PHP နှင့် Dart ကဲ့သို့သော language များကို အစားထိုး လေ့လာနိုင်ပါသည်။ နောက်ပိုင်းတွင် Data Science , Software Development တို့လို field များကို ဆက်လက်သွားခြင်သူများ အနေဖြင့်လဲ Python ကဲ့သို့သော powerful ဖြစ်သော language များကို အစားထိုး လေ့လာပါခင်ဗျာ။ ထိုသို့အစားထိုး လေ့လာလျင် framework များအနေဖြင့် လည်း PHP framework ဖြစ်သော Laravel, Python framework ဖြစ်သော Django, CheeryPy အစရှိသော framework များကို လေ့လာပါ။
Programming Language အတော်များများသည် ရေးထုံးရေးနည်းများ ကွဲသော်လည်း fundamental concepts များသည် အတူတူပင် ဖြစ်သောကြောင့် မည်သည့် language ကိုမဆို လေ့လာရာတွင် fundamental concept များကို သေချာလေ့လာပါဟု ထပ်မံ သတိပေးလိုပါသည်။ ထိုမှသာ နောက် language တစ်ခုကို လေ့လာလျင် အစမှ လေ့လာစရာ မလိုဘဲ ကွဲပြားပုံများကိုသာ လေ့လာနိုင်မည် ဖြစ်ပါသည်။ Road Map of Back-End Development Section အား ဒီနေရာတွင် အဆုံးသတ်လိုပါသည် ခင်ဗျာ။ ကျတော့်တင်ပြချက်များသည် တစ်စုံတစ်ဦး အတွက် အထောက်အပံ့ ဖြစ်မည် ဆိုပါက ကျတော်တင်ပြရကျိုး နပ်ပါပြီ။ နောက်ထပ်လည်း full stack development road map ကိုလဲ ထပ်မံ တင်ပြပါဦးမည်။
Full Stack Development Road Map
အခုဆိုရင် front-end development နဲ့ back-end development များရဲ့ RoadMap များကို ရှင်းပြပေးပြီး ဖြစ်ပါသည်။ ထပ်မံ ရှင်းပြလိုတာကတော့ full stack development road map အကြောင်းပဲ ဖြစပါတယ်။ Full Stack Development လမ်းပေါ်ကို စတင်လျောက်မည်ဟု သင်ဆုံးဖြတ်ပါက ကျတော်သည် သင့်အား front-end ကော back-end ကော ကျွမ်းကျင်နေသူတစ်ယောက်ဟု မှတ်ယူလိုက်ပါတော့မည်။ ထို့ကြောင့် သင်သည် full stack developer တစ်ယောက် အနေဖြင့် ရပ်တည်မည် ဆိုပါက အရင်က ဖော်ပြထားသော language များကိုသာ တတ်မြောက်ထားယုံမျှဖြင့်တော့ အဆင်ပြေနိုင်မည် မဟုတ်ပါ။ ဘာတွေကို သင်ထပ်လေ့လာရမလဲ ဆိုရင် သင်သည် update technology များကို စဉ်ဆက်မပြတ် လေ့လာနေရပါမည်။ နည်းပညာများ သည် တစ်နေ့ထက်တစ်နေ့ update ဖြစ်နေသည်ကို သတိပြုပါ။ ထိုတိုးတက်မှုများအား သင်နောက်ကျ မကျန်ခဲ့ရအောင် စဉ်ဆက်မပြတ် လေ့လာနေပါ။ ထိုသို့ဆိုရင် သင်သည် အရည်အချင်းပြည့်မှီသော developer တစ်ယောက်ဖြစ်နေမည်မှာ မလွဲပါ။ Full Stack Developer အနေဖြင့် ရပ်တည်လိုပါက သင်သည် လိုအပ်သော Soft Skills များကိုပါ ထပ်ဆောင်းလေ့လာရပါမည်။ ထို Soft Skills များမှာ အောက်ပါအတိုင်းဖြစ်ပါတယ်။
1.Communication Skill
သင်သည် သင်ရဲ့ လုပ်ဖော်ကိုင်ဖက် developer များနဲ့ ကောင်းမွန်သော ဆက်ဆံနိုင်ခြင်း ဟူသော ဆက်သွယ်ဆောင်ရွက်နိုင်ခြင်း အရည်အချင်း တစ်ခု ရှိကိုရှိရပါမည်။
2.Team Work Skill
သင်သည် သင့်ရဲ့ အဖွဲ့အစည်း နှင့် အတူတကွ ပူးပေါင်းလုပ်ဆောင်နိုင်ခြင်း ဟူသော အဖွဲ့အစည်းနှင့် ကောင်းမွန်စွာ လုပ်ဆောင်နိုင်ခြင်း ဟူသော အရည်အချင်းတစ်ခု ရှိရပါမည်။
3.Attention To Details Skill
ဒီ Skill ကတော့ ကိုယ့်ဆီ ရောက်လာတဲ့ project သို့မဟုတ် Job Scope သို့မဟုတ် instruction များအား အသေးစိတ် လေ့လာ စိတ်ဝင်စားတတ်သော အရည်အချင်းပဲ ဖြစ်ပါသည်။ သင်သည် ကျွမ်းကျင်သော full stack developer တစ်ယောက်ပဲဖြစ်နေပြီလေ ဒီလိုမျိုး အသေးစိတ်ကအစ attention ရှိသော လူတစ်ယောက် ဖြစ်နေပါစေ။
4. Problem Solving Skill
ကျတော်တို့ developer လောကတွင် problem သို့မဟုတ် error များနှင့် မကြုံဘူးသူဆိုပြီး မရှိပါဘူး။ Error ဆိုတာ ရှိကိုရှိပါတယ်။ ထိုသို့သော error များ problem များတက်လာပြီဆိုရင် ရှောင်မပြေးပါနှင့်။ ထို error များတက်ခြင်းနှင့် ထို error များကို ဖြေရှင်းခြင်းများသည် သင်ရဲ့ programming skill အား များစွာ တိုးတက်ရန် အထောက်အကူ ပြုပါသည်။ ကြုံလာသမျှ ပြသနာများကို ဖြေရှင်းနိုင်သော problem solving skill လဲ သင့်တွင်ရှိပါစေ။
5. Work Ethic Skill
မိမိရဲ့ အလုပ်အပေါ် သစ္စာရှိပါ။ မိမိ company အပေါ်သစ္စာရှိပါ။ လူတိုင်းသည် Ethic ရှိရမည် ဖြစ်ပါသည်။ ထို့ကြောင့် အလုပ်အပေါ် သစ္စာရှိပါ။ Work Ethic Skill လဲ သင့်တွင် ရှိပါစေ။
6. Time Management Skill
ဒီ skill သည် အရေးကြီးဆုံး ဖြစ်ပါသည်။ သင့် client အား project ကို deadline အမှီ အပ်နိုင်မှသာ သင့် ကိုအလုပ်များစွာ အပ်မည် ဖြစ်ပါသည်။ ထို့ကြောင့် သင့်တွင် အလုပ်အား အချိန်မှီ ပြီးစီးအောင် စီမံခန့်ခွဲနိုင်သော time management skill ရှိအောင် ကြိုးစားပါဟု အကြံပြုပါရစေ။
7. Adaptability Skill
လိုက်လျောညီထွေ ဆက်ဆံ နိုင်မှုဟူသော adaptability skill ရှိအောင်နေပါ။ သင်သည် team အများကြီးနှင့် အလုပ်တွဲလုပ်ကိုင် ရနိုင်ပါသည်။ ထို့ကြောင့် သင့်တွင် adaptability skill ရှိမနေပါက သင်ရဲ့ အလုပ်အား အောင်မြင်နိုင်မည် မဟုတ်ပါ။
8. Interpersonal Skill
တစ်ယောက်နဲ့ တစ်ယောက် ကောင်းမွန်စွာ ဆက်ဆံနိုင်ခြင်းဟူသော interpersonal skill သည်လည်း full stack developer တစ်ယောက်အတွက် လိုအပ်သော အရည်အချင်း တစ်ခုဖြစ်ပါသည်။
9. Creativity Skill
နောက်တစ်ခုအနေဖြင့် တီထွင်ဖန်တီးနိုင်ခြင်းဟူသော အရည်အချင်းလဲ လိုပါတယ်။ သူများဖန်တီးထားသော အရာများအား လိုက်လံ လုပ်ဆောင်ခြင်းထက် ဆန်းသစ်သော ဖန်တီးမှုများ ဖန်တီးနိုင်ခြင်းဟူသော creativity skill လဲ သင့်တွင် ရှိပါစေ။
10. LeaderShip
နောက်ဆုံးတစ်ခု အနေဖြင့် ခေါင်းဆောင်နိုင်မှု အရည်အချင်းတစ်ခု ရှိကိုရှိရပါမည်။ သင့်လက်အောက်တွင် junior developer များစွာ ရှိနိုင်ပါသည်။ ထိုအခါ သင်သည် leadership skill ရှိပါမှသာ သင့်လက်အောက် လုပ်ဖော်ကိုင်ဖက်များ နှင့်အတူ အောင်မြင်ပြီး အရည်အချင်း ပြည့်မှီသော project များကို ဖန်တီးနိုင်မည် ဖြစ်ပါသည်။
ထပ်မံဖော်ပြလိုသည်များကတော့ မလေ့လာချင်လဲရပါသည်။ လေ့လာထားလျှင် သင်ရဲ့ အခွင့်အလမ်းများကို တိုးတက်စေနိုင်သော optional learning များကိုပါ ထပ်မံ ဖော်ပြလိုပါသည်။ ထိုအရာ များကိုတော့ အသေးစိတ် မရှင်းပြတော့ပါ ။ အချက်များအနေဖြင့်ပဲ ဖော်ပြပါတော့မည်။
1.Svelte
2.Svelte Kit
3.Astro
4.TypeScript
5.CSS Animations
6.CSS Preprocessors
7.CSS Modules
8.CSS in JS
9.Other Languages ( Go, Rust, Python, Dart, PHP, Java, Kotlin, C, C#, C++)
10.BlockChain Technology
11.Cryptocurrencies
12.NFTs
13.Switf
14.React Native
15.Flutter
16.Electron.js
17.AI & Machine Learining
18.Github Copilot
တို့ပဲဖြစ်ပါသည်။ ဖော်ပြချက်များသည် များကောင်းများနေပါလိမ့်မည်။ သင့်အား အချိန်တစ်ခုအတွင်း အကုန်လေ့လာ ခိုင်းသည်မဟုတ်ပါ။ ဘာတွေလေ့လာရမလဲ ဆိုပြီး ပြောပြထားခြင်း ဖြစ်ပါတယ်။ ဒီလောက်ဆိုလျင် သင်စိတ်ဝင်စားသော developer တစ်ယောက်ဖြစ်စေရန်အတွက် roadmap များကို သင်သိလောက်ပြီဟု ထင်မြင်မိပါသည်။ ကျတော်ကိုယ်တိုင်လဲ အကုန်ကျွမ်းကျင်နေသည် မဟုတ်ပါ။ လေ့လာဆဲ သူတစ်ယောက်ပါခင်ဗျာ။ သင်တို့လဲ စဉ်ဆက်မပြတ် လေ့လာနေပါလို့ တိုက်တွန်းရင်း ကျတော့်ရဲ့ beginner များအတွက် ရည်ရွယ်ပါသည်ဟူသော contents လေးအား အဆုံးသတ်ပါရစေ။ အားလုံးကို ကျေးဇူးတင်ပါတယ်။ အောင်မြင်သော သူများ ဖြစ်နိုင်ကြပါစေခင်ဗျာ။
#WHH
#crd_to_sharingOwaner


Nice
ReplyDelete