Skip to content

Latest commit

 

History

History
172 lines (120 loc) · 6.32 KB

File metadata and controls

172 lines (120 loc) · 6.32 KB

python-fullstack-developer-roadmap

Roadmap to becoming a Python developer in 2023-2024:

This guide provides a roadmap for aspiring Python developers, offering insights and direction for skill acquisition. It serves as a helpful resource for anyone seeking guidance on the next steps in their Python development journey, addressing the frequently asked question: "What should I learn next?"

Disclaimer

This roadmap aims to illuminate the landscape of Python development, offering a general overview rather than promoting specific trends or hype. It's crucial to develop a deeper understanding of individual tools and their suitability for different use cases, remembering that popularity doesn't necessarily equate to optimal functionality for a particular task.

Support the Project ⭐

If this project has benefited your learning process or helped you kickstart your solution, please show your appreciation by leaving a star. Your support motivates continued development and improvement! Thanks

Roadmap

Roadmap

TODO:

  • Add Microservices
  • Good to Know Libraries
  • Add API Clients
  • Add extra subtree for data process and data manipulation

Resources

  1. Prerequisites

  2. General Development Skills

    • Learn GIT, create a few repositories on GitHub, share your code with other people
    • Know HTTP(S) protocol, request methods (GET, POST, PUT, PATCH, DELETE, OPTIONS)
    • Don't be afraid of using Google, Power Searching with Google
    • Read a few books about algorithms and data structures
    • Learn about implementation of a basic Authentication
    • Solid principles, architectural & design patterns, ecc
    • Basics of software testing (unit, integration, e2e)
  3. CLI Tools

    1. google/python-fire
    2. click
  4. Web Frameworks + Routers

    1. Flask
    2. Django
  5. Databases

    1. Relational

      1. SQL Server
      2. PostgreSQL
      3. MariaDB
      4. MySQL
    2. Cloud Databases

    3. Search Engines

    4. NoSQL

  6. ORMs

    1. Django ORM
    2. SQLAlchemy
    3. Extra
  7. Caching

    1. Memcached
    2. Distributed Cache
      1. Redis
      2. Memcached
  8. Logging

    1. Log Frameworks
    2. Log Management System
    3. Distributed Tracing
  9. Real-Time Communication

    1. SignalPy
    2. Socket.IO
  10. API Clients

    1. REST

    2. GraphQL

  11. Good to Know

  12. Machine Learning

    1. NLTK
    2. TensorFlow
    3. Keras
    4. PyTorch
    5. Scikit-Learn
    6. Pandas
    7. Numpy
  13. Testing

    1. Unit, Behavior, Integration Testing
      1. Pytest-mock
      2. Testify
      3. Robot
      4. Pytest
      5. Doctest
      6. Pytest-bdd
      7. Cucumber
      8. Dockertest
    2. E2E Testing
  14. Task Scheduling

  15. MicroServices

    1. Message-Broker

    2. Building message-driven

    3. Frameworks

    4. RPC

  16. Python-Patterns

Wrap Up

If you think the roadmap can be improved, please do open a PR with any updates and submit any issues. Also, I will continue to improve this, so you might want to star this repository to revisit.

Contribution

The roadmap is built using Draw.io. Project file can be found at python-developer-roadmap.xml file. To modify it, open draw.io, click Open Existing Diagram and choose xml file with project. It will open the roadmap for you. Update it, upload and update the images in readme and create a PR (export as png with 400% zoom and minify that with Compressor.io).

  • Open a pull request with improvements
  • Discuss ideas in issues
  • Spread the word