Technologies Learned as a Software Engineer

As a software engineer, I'm always excited in learning various new technologies. In this blog, I'll keep a list of technology subjects I have already started learning or plan to learn in my life as a software engineer.

Note: I will keep updating this page as I'm learning them

How I scale level of expertise for a technology:

  • ⭒⭒⭒⭒⭒ (Newbie) - New to the technology
  • ⭑⭒⭒⭒⭒ (Beginner) - Understand basic techniques and concepts
  • ⭑⭑⭒⭒⭒ (Novice) - Gained exeprience in class and experiments
  • ⭑⭑⭑⭒⭒ (Intermediate) - Can apply the technology in practice and know its trade-offs
  • ⭑⭑⭑⭑⭒ (Advaned) - Applied the technology in production without assistance and recognized as a go-to person
  • ⭑⭑⭑⭑⭑ (Expert) - Known as an expert, can provide guidance and coach others in the same field

Web Development

  • React: ⭑⭑⭑⭒⭒
  • Angular: ⭑⭑⭒⭒⭒
  • Node.js: ⭑⭑⭑⭒⭒
  • Spring Boot: ⭑⭑⭑⭒⭒
  • HTML & CSS: ⭑⭑⭑⭑⭒
  • REST API: ⭑⭑⭑⭑⭑
  • Webpack: ⭑⭑⭑⭒⭒
  • Go: ⭒⭒⭒⭒⭒
  • Puppeteer: ⭑⭑⭑⭒⭒

Mobile Apps

  • iOS (Swift): ⭑⭑⭒⭒⭒
  • React Native: ⭑⭑⭒⭒⭒
  • Flutter: ⭒⭒⭒⭒⭒

Database

  • SQL: ⭑⭒⭒⭒⭒
  • MongoDB: ⭑⭒⭒⭒⭒

Machine Learning

  • TensorFlow: ⭒⭒⭒⭒⭒
  • R: ⭒⭒⭒⭒⭒

Cloud

  • Firebase: ⭑⭑⭑⭒⭒
  • Azure: ⭑⭑⭒⭒⭒
  • AWS: ⭑⭑⭑⭒⭒

Programming Languages

  • Java: ⭑⭑⭑⭒⭒
  • Javascript: ⭑⭑⭑⭒⭒
  • Typescript: ⭑⭑⭒⭒⭒
  • Python: ⭑⭑⭒⭒⭒
  • Swift: ⭑⭑⭒⭒⭒
  • PHP: ⭑⭑⭒⭒⭒
  • Shell Script: ⭑⭒⭒⭒⭒

Tools

  • Git: ⭑⭑⭑⭑⭒
  • Docker: ⭒⭒⭒⭒⭒
  • Jenkins: ⭒⭒⭒⭒⭒
  • Kubernetes: ⭒⭒⭒⭒⭒

Others

  • Chat bot: ⭑⭑⭑⭒⭒