Summary
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
- Frontend
- 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)
- Database
- Methodology: Waterfall vs. Agile
- Design practice: TDD, DDD
- Frontend
- 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.
