Backend Developer Roadmap
Backend Developer လို.ပြောလိုက်ရင် Web Application Framework တခုခုကိုသုံးပြီးတော့ (Go သမားတွေကတော့မသုံးဘူး Lib ဆိုပဲ) web application,mobile application အတွက်လိုအပ်တဲ့ buiness logic တွေလုပ်ပေးရတဲ့သူကိုဆိုတာပေါ့။
၁.TCP/IP networking ထဲက TCP level လောက်ကိုလေ့လာထားသင့်ပါတယ်််။Networking basic concept တွေ protocol တွေဘယ်လိုအလုပ်လုပ်သလဲ။ Internet ဘယ်လိုအလုပ်လုပ်သလဲကဒီမှာ (https://www.facebook.com/thet.khine.587/posts/10215556197857591)
WebServer တွေ HTTP protocol ဘယ်လိုအလုပ်လုပ်သလဲ(ဒီမှာရေးထားပါတယ် https://www.facebook.com/thet.khine.587/posts/10207213385452495) လေ့လာရပါမယ်။ နောက် DNS, Load Balancer, Proxy အစရှိတာတွေ သိထားရင်တော့ပိုကောင်းတာပေါ့။
၂ နောက် Operating System Concept တွေ ဉပမာ IO/Blockiing IO, Non Blocking IO/ Process, Thread, Concurrency, Transaction Management, Memory Management, Cache အစရှိတာတွေသိထားသင့်ပါတယ်။
၃ နောက် Server Side Programming Language တခုခုကို သေချာနားလည်သင့်ပါတယ်။ ဥပမာ Fraemwork အရင် learn ပြီး language မသိတာမျိုး မဖြစ်သင့်ပါဘူး။ Server Side programming language ဆိုရင် ဘာတွေရှိလဲဆိုတော့ Java, C# , Go, Python, PHP, JavaScript အစရှိတာတွေ လေ့လာသင့်ပါ့တယ်။
၄. အဲ့ language တွေ တင်မဟုတ်ပဲနဲ. OO Design Principle, Pattern အစရှိတာတွေကိုလေ့လာသင့်ပါတယ် နောက် language နောက်က philosophoies ဥပမာ Node.js နဲ.ရေးမယ်ဆို Asynchronous programming ဒါမျိုးတွေသိသင့်ပါတယ်။ OO Design Principle & Pattern တွေကို ဒီမှာရေးထားပါတယ်
၅. Clean Code, Refactoring, TDD အစရှိတာတွေ နားလည်ထားရင် ပိုကောင်းပါတယ် (၄ နဲ. ၅ သည် တခြား Web, Mobile သမားတွေအတွက်လဲ အသုံးဝင်ပါတယ်)
၆.နောက်က ဆိုင်ရာ ကိုယ်သုံးမဲ့ Programming lanuage ပေါ်မူတည်ပြီး framework တွေကိုနားလည်သင့်ပါတယ်. ဥပမာ Java မှာ ဆို Spring လိုကောင်တွေ PHP ဆို Laravel, Python ဆို Danjo , Node.js ဆို Express, Nest.js လိုကောင်တွေသိသင့်ပါတယ်။
၇ နောက် ခုနက အဲ့ framework တွေမှာသုံးတဲ့ pattern, architecture တွေကိုနားလည်သင့်ပါတယ်၊ ဥပမာ MVC architecture, layered architecture အစရှိတာတွေကိုနားလည်သင့်ပါတယ်။ REST API endpoint အတွက် principle တွေ rule တွေ နားလည်ဖို.လိုပါတယ်။
၈.နောက် Web Application တွေရေးတဲ့အခါ database ကမပါမဖြစ်ပါ၊ ကိုယ်သုံးမဲ့ DBMS , NoSQL အစရှိတာတွေကို နားလည်သင့်ပါတယ်၊ နောက် SQL language ကိုကောင်းကောင်းနားလည်သင့်ပါတယ်။
၉. Web Application တွေမှာ ခုနက DBMS တွေကို ခုနောက်ပိုင်း တိုက်ရိုက်မသုံးကြပါဘူး။ ဉပမာ Java ဘက်မှာဆို Hibernate, C# ဘက်မှာဆို Entity Framework, PHP ဆို eloquent စတဲ့ ORM framework တွေကိုကောင်းကောင်းနားလည်သင့်ပါတယ်။ သူတို.နဲ.ဆပ်စပ်သုံးရတဲ့ MemCache လိုကောင်တွေလဲ သိထားရင်ပိုကောင်းပါတယ်
၁၀. နောက် Application security , Authentication, Authorization တွေသိဖို.လိုပါတယ်. JWT လို ကောင်တွေရောပေါ့။ OWASP Top Ten ကကောင်တွေ နားလည်ထားရင်ပိုကောင်းတာပေါ့။
၁၁ နောက် Testing tool တွေ Jmeter လို load testing တွေ CI/CD pipeline ကကောင်တွေ docker, k8s နဲ. hosting အစရှိတာတွေကို နားလည်သင့်ပါတယ်။ နောက် Git လိုကောင်တွေပေါ့