A repository for becoming a Full Stack Developer (notes and more)
This repository tracks my journey to becoming a Full Stack Developer.
Below is an organized checklist of everything I plan to learn.
As I progress, I will update each item from [ ] to [x].
- Master a programming language (Python / JavaScript / Java / C#)
- Data Structures
- Arrays
- Linked Lists
- Stacks
- Queues
- HashMap / Dictionary
- Algorithms
- Sorting algorithms
- Searching algorithms
- Big-O notation
- Problem-solving practice
- LeetCode
- HackerRank
- CodeSignal
- Python Basic
- Java Basic
- C# Basic
- HTML
- CSS
- Basic JavaScript
- Responsive Design
- DOM Manipulation
- Event Handling
- Understanding HTTP
- Understanding REST APIs
- JSON / XML
- Learn React
- Understanding components
- Learn React Hooks
- State management
- Context API
- Redux or Zustand
- Fetching data from APIs (fetch/axios)
- Frontend testing
- Jest
- React Testing Library
- Choose a backend technology
- Node.js + Express
- OR
- Django / Flask
- Spring Boot (optional)
- Build REST APIs
- Authentication & Authorization
- JWT
- OAuth2 (optional)
- Databases (Basic)
- SQL (MySQL or PostgreSQL)
- NoSQL (MongoDB)
- Learn an ORM (connect DB to Python)
- Use an ORM (Mongoose / Prisma / Sequelize / Django ORM)
- Learn Git
- GitHub workflow
- Docker basics
- CI/CD
- GitHub Actions
- Deployment platforms
- Vercel
- Render
- AWS / GCP (optional)
- Unit Testing (PyTest / Jest / JUnit)
- Integration Testing
- Understand TDD (Test Driven Development)
- Code Formatting & Linting
- ESLint
- Prettier
- Learn Git branching strategies
- Create pull requests
- Code reviews
- Issue tracking
- GitHub Issues
- Jira (optional)
- Cloud basics (AWS / GCP / Azure)
- Serverless architecture
- Microservices (advanced)
- Message Queues (Kafka / RabbitMQ)
- GraphQL (optional)
- Problem-solving skills
- Teamwork & communication
- Clean code practices
- Basic system design understanding
I will always try to learn new things and be open to new Technology.