Python back-end roadmap
My interpretation of Python back-end self-study roadmap. The topics cover a lot of information, primarily from my personal experience and understanding the nature of web backend development. Colors are used to differentiate between levels of understanding.
Line color | Level |
---|---|
Foundational (Bare minimum is expected to be known) | |
Interview (Topics that could be touched during interview) | |
Advantage (Follow up questions, that could be decisive) |
Development
It is expected that one knows how to code and understands what they are doing.
Design
This can be an advantage during interviews and may lead to smoother integration into the existing codebase.
Algorithms and data structures
Aside from discussions on algorithms and data structures complexity, about 30-50% of interviews require some form of live coding. Most often, it involves a simple algorithm or a problem-solving pattern recognition task (e.g., easy-medium at leetcode.org). Thus, it is both advantageous and increases the chances of passing the interview.
Operations
It’s not just about deep configuration knowledge, but also about understanding how to scale and maintain systems efficiently, and how to understand and resolve arising issues.
Delivery
Delivery is all about understanding the software development lifecycle (SDLC) and focuses on methodologies and tools for efficient code deployment and management, including continuous integration and deployment (CI/CD), version control, and quality. Not a must, but really advantageous.
Computer Architecture
It is necessary to understand the execution environment, how the code interacts with it, where the data comes from, and where it goes. This includes both virtual hardware, such as interpreters in browsers or servers, and real hardware in the case of languages compiled into machine code.
Security
This topic is related to secure design approaches, authorization and authentication, secure programming in terms of reducing the attack surface, and understanding the constraints imposed on development and the environment.
Networking
It is usually expected that one understands how data flows between the actors inside the web system, both internally in the intranet and externally on the internet.