This follows Kamran Ahmed's Backend Developer Roadmap.
There are myriads of different options
- Scripting Languages
- TypeScript (Optional)
- Functional Languages
- Other Options
- Implement some commands that you use e.g. 'ls'
- Command that fetches and saves reddit posts on /r/programming
- Command that gives you directory structure in JSON format
- Command that reads JSON from above and creates director structure
- Thank of some task that you do every day and try to automate that
- Read about the best practices for security.
- Read the OWASP guidelines and understand different security issues and how to avoid them
- Best practice of storing configuration files
- Distribute your own package with pip
- Distribute your own package with NPM
Contribute to some OpenSource project
- Refactor and implement the best practices that you learnt
- Look into the open issues and try to resolve
- Add any additional functionality
- Learn about how to write Unit and Integration tests
- Understand different testing terminologies such as mocks, stubs, etc.
- Write unit tests
- Create a simple app using everything that you have learnt this far. It should have registration, login and CRUD.
- Create a blog
- Understand what they are, how they are different from relational databases and why they are needed.
Learn how to implement app level caching using Redis or Memcached
- Understand REST and learn how to make RESTful APIs to make sure to read the part about REST from the original paper of Roy Fielding
Learn about the differences and how to implement them
- Basic Authentication
- Token Authentication
Learn about the message brokers, understand the "Why" and pick one.
Learn their differences and limitations.
- MS IIS
- See what it is all about and why they are calling it the new REST
- Look into Graph Databases