DEV Community

Cover image for Plan what to learn for Junior Python Developer
Vadim Kolobanov for Abstract

Posted on • Updated on • Originally published at

Plan what to learn for Junior Python Developer

Photo by Nick Rickert on Unsplash

Hello everyone I want to share with you my training plan from beginner to Junior in Python. It is important to know that it will be effective to learn in exactly this order. Many of the self-taught may be outraged that the Python developer does not need some of this. Your opinion is worthy of attention and I take it into account, so I want to say in advance that this plan is suitable for a junior before applying for a job as a programmer. To know what I described in the tables is not just to be a Python coder, but to really have the skills to develop a project.

I saw that on there are many beginners who are looking for tips to start in programming. This plan will suit you very well. And most importantly, do not deviate from your goal! Good luck!

Version Conrol Success criteria
Version Control Basics Used at least one VCS
Performs basic operations like Check in, check out
Common operations with Version Control Creates new branches
Merges branches
Branching strategies Understands purpose of branching
Explains Centralized (Trunk Based) approach
Explains GitFlow approach

Version control is needed so that you can competently store your work and create your resume

Python General Information Success criteria
Code execution - Novice Interactive shell
Script execution
Versions of Python - Intermediate Differences between 2.x and 3.x in general (print, unicode, etc)

In some points, I have divided one direction by beginner or advanced level, so it is important to follow this order. The learning process of the next topic will be based on the previous one.

Python Types and Operations Success criteria
Operators - Novice Types: arithmetic, comparison, assignment, bitwise, logical, membership, identity.
Numbers - Novice Definitions
Decimal, hexadecimal, octal, binary number syntax
Lists - Novice Definition and properties
Basic methods and operations
Indexing and slicing
list vs tuple
Files - Novice Definition and properties
Basic methods and operations
Dynamic typing - Novice Definitions
Sets - Novice Definition and properties
Basic methods and operations
Dictionaries - Novice Definition and properties
Basic methods and operations
Shared references - Novice Equality: == vs is
In-place changes
Strings - Novice Definitions
Different formats: single-, double-quoted, multiline.
Special characters
Basic operations and methods
Indexing and slicing
Tuples - Novice Definitions
list vs tuples
Copying procedure deepcopy, method copy, slicing, etc.
Dictionaries - Intermediate Iteration and comprehensions
Lists -Advanced Iteration and comprehensions
Numbers - Advanced Numeric operations with mixed types.
Comparison: normal and chained.
Division: classic, floor, true.
Operators - Advanced Precedence of operators.
Dynamic typing - Advanced Strong and weak typing
Strings - Advanced Raw strings
Unicode and ASCII strings
Python Statements and Syntax Success criteria
Condition statements - Novice if-elif-else
Loop statements - Novice for, while
Control of cycle
execution(break, continue, pass)
Condition statements - Intermediate inline if, ternary operator
Generators - Novice Definitions
Iterators - Novice Definitions
Built-In iterables.
Loop statements - Intermediate How to use else in cycles
Generators - Intermediate yield
comprehensions vs generators
gen expressions
range vs xrange
Iterators - Intermediate Manual iteration: iter() and next()
Iteration protocol.
Iterable, Range iterable
Loop statements - Advanced Implementation details
Functions in Python Success criteria
Argument-Passing - Novice required, keyword, default
Argument-Passing - Intermediate arbitrary argument
arguments in dictionary
Definition and calls Syntax
Decorators - Novice Definitions
Standard class
Decorators: @classmethod, @staticmethod, @property(getter, setter, deleter)
Functional programming - Novice map, reduce, filter, zip
Lambda expressions Definitions
Argument-Passing - Advanced When and how many times are default arguments evaluated?
Decorators - Advanced decorators for functions, decorators for classes
passing args to decorators
Modules in Python Success criteria
Modules in Python - Novice import
__ init __ .py - __ name __ and __ main __
OOP in Python Success criteria
Attribute access - Novice Direct access
Class and instance attributes
Definition and syntax - Novice OOP definitions
classes syntax
Inheritance - Novice Definitions
Basic customization and Operators overloading - Novice Definitions
Relations between classes and instances - Novice Definitions
Abstract base class - Novice Definition and syntax
Inheritance - Intermediate Multiple inheritance
Classic algorithm
Diamond problem
MRO, super
Inheritance - Advanced C3 algorithm
How to change MRO
Context managers - Advanced Implementation details
contextlib decorator
with-enabled class
Troubleshooting in Python Success criteria
Logging fundamentals Explains purpose of logging.
Understands logging levels.
Debugging in Python - Novice Definitions
Exceptions in Python Success criteria
Definitions and syntax - Novice Definitions
Definitions and syntax - Intermediate Custom exceptions
try-except-else, try-finally
raise, assert

and Python standard library.

In this series you will find material on all these issues

Write in private messages, in comments, on social networks. I will always try to help everyone


I am a beginner, how should I learn Python?

Look into the following series:

Learning Python
Step by Step to Junior

Would you mentor me?

Of course I am ready to participate in the training. The big difficulty is that English is not my native language and it will be possible to communicate through a translator

Would you like to collaborate on our organization?

If you have interesting ideas, we will be happy to invite your writing from our organization. Write in private messages or in social networks below

Connect to me on

Write me on Face....oh...Meta

My Twitter

Top comments (0)