#

Summary

full-stack word cloud

In the AI era, the boundaries between roles are becoming less clear, and more people are transitioning into full-stack engineering. This article shares my learning roadmap for becoming a full-stack engineer.

#

Learning Roadmap

This roadmap mainly focuses on web-based frontend development.

#

Junior

  • Development
    • Frontend
      • Language: HTML, CSS, JavaScript
      • Architecture: MPA vs. SPA
      • Framework: React.js | Vue.js | Angular.js
    • Backend
      • Language: Go | Python | ... (focus on one)
      • Framework: Gin | FastAPI | ...
      • Database
        • SQL: MySQL | PostgreSQL
        • Database normalization
        • ORM
      • API Standard: REST, OAS (Swagger)
    • Version control: Git
  • Test
    • Unit testing
    • Integration testing
  • Deployment
    • Linux operation: command, script
    • Container platform: Docker
    • Networking fundamental: Socket, TCP/IP, DNS, SSL/TLS
  • Cybersecurity
    • Common vulnerability: XSS, CSRF, SQL Injection
#

Mid-level

  • Development
    • Frontend
      • Language: TypeScript
      • Rendering strategy: CSR vs. SSR vs. SSG
      • Framework: Next.js | Nuxt.js
      • Optimization: RWD, SEO, Google Analytics
      • Communication: Figma
    • Backend
      • Database
        • NoSQL: MongoDB, Redis
        • Database optimization
      • API Standard: GraphQL, gRPC, WebSocket
      • Architecture: Monolithic vs. Microservices
      • Concurrency: multi-thread, async I/O
      • Messaging: AMQP (RabbitMQ)
    • Methodology: Waterfall vs. Agile
    • Design practice: TDD, DDD
  • Test
    • E2E testing
    • System testing
    • Stress testing
  • Deployment
    • CI/CD pipeline: one CI + one CD tool (Github Action + ArgoCD)
    • Container platform: Kubernetes
    • Cloud
      • CSP: GCP | AWS | Azure
      • Core service: VM, storage, database, load balancing, Kubernetes
      • IaC: Terraform
      • Observability: Grafana, Prometheus
  • Cybersecurity
    • Zero Trust
    • OWASP Top 10
#

Senior

Solid experience (impact > tools).

#

Final thoughts

All the technical domains mentioned above are important for choosing the right tech stack based on the specific problems each project presents. These skills across different roles also complement each other.
My motivation for becoming a full-stack engineer comes from curiosity about the entire software development lifecycle (SDLC). I enjoy not only implementation, but also product development. Ultimately, my goal is to become a broad full-stack engineer with a holistic view of the SDLC.

Are you also moving toward full-stack engineering?
What learning roadmap would you recommend?
I’d love to hear your thoughts. Feel free to join the discussion on this LinkedIn post.