A Guide for Absolute Beginners.
(Note: these are tips from an Indian author, but they seem useful. Feel free to add your own in the comments.)

A month is a lot of time. If you dedicate 6-7 hours each day to learning, you can achieve a lot.
Goal for the month:
- Familiarize yourself with basic concepts (variable, condition, list, loop, function)
- Master over 30 programming problems through practice
- Build two projects to apply new knowledge in practice
- Get acquainted with at least two frameworks
- Start working with an IDE (development environment), Github, hosting, services, etc.
This will make you a junior Python developer.
Now the plan by weeks.
This article is translated with support from EDISON Software, which , as well as .
Week 1: Get to know Python
Understand how everything works in Python. Check as many features as possible.
- Day 1: 4 fundamental concepts (4 hours): input, output, variable, conditions
- Day 2: 4 fundamental concepts (5 hours): list, for loop, while loop, function, module imports
- Day 3: Simple programming problems (5 hours): swap two variables, convert Celsius to Fahrenheit, sum all digits in a number, check if a number is prime, generate a random number, remove duplicates from a list
- Day 4: Intermediate programming problems (6 hours): reverse a string (check for palindrome), find the greatest common divisor, merge two sorted arrays, write a number guessing game, calculate age, etc.
- Day 5: Data structures (6 hours): stack, queue, dictionary, tuples, linked list
- Day 6: OOP â Object-Oriented Programming (6 hours): object, class, method and constructor, OOP inheritance
- Day 7: Algorithms (6 hours): search (linear and binary), sorting (bubble sort, selection sort), recursive function (factorial, Fibonacci sequence), time complexity of algorithms (linear, quadratic, constant)
Do not install Python:
I know it sounds contradictory. But trust me. I know a lot of people who lost all desire to learn anything after failing to install the development environment or software. I recommend diving right into an Android application like or visit the website and start exploring the language. Donât set yourself the task of installing Python right away if you are not very tech-savvy.
Week Two: Start Software Development (Build a Project)
Gain software development experience. Try to use everything youâve learned to create a real project.
- Day 1: Get Familiar with the Development Environment (5 hours): The development environment is an interactive space where you will write code for major projects. You should be well-acquainted with at least one development environment. I recommend starting with or Jupyter Notebook
- Day 2: GitHub (6 hours): Learn about , create a repository. Try to commit, push code, calculate the difference between any two Git trees. Also, understand branching, merging, and pull requests.
- Day 3: First Project: Simple Calculator (4 hours): Familiarize yourself with Tkinter. .
- Days 4, 5, 6: Personal Project (5 hours each day): Choose one of the projects and start working on it. If you have no project ideas, check this list:
- Day 7: Hosting (5 hours): Understand the server and hosting to . Set up Heroku and deploy your applicationâs build.
Why a project:
Simply following the steps in a lesson or video wonât develop your ability to think. You need to apply your knowledge in a project. Once you exhaust all your efforts searching for an answer, you'll remember it.
Week Three: Become Proficient as a Programmer
Your goal for Week 3 is to gain an overall understanding of the software development process. You donât need to refine your skills. But you should know some basics as they will influence your daily work.
- Day 1: Basics of Databases (6 hours): Basic SQL queries (Create Table, Select, Where, Update), SQL Functions (Avg, Max, Count), relational databases (Normalization), Inner Join, Outer Join, etc.
- Day 2: Using Databases in Python (5 hours): Use a database framework (SQLite or Pandas), connect to the database, create and add data to multiple tables, read data from the tables.
- Day 3: API (5 hours): Learn how to call APIs, brush up on JSON, microservices, REST APIs.
- Day 4: Numpy (4 hours): and practice using it on.
- Day 5, 6: Website Portfolio (5 hours each day): Learn Django, , also check out the Flask framework
- Day 7: Unit Testing, Logging, Debugging (4 hours): Get familiar with unit tests (PyTest), learn to work with logs and review them, and use breakpoints
Real Time Scale (Secret):
If you are passionate about this subject and dedicate yourself entirely, you can accomplish everything in a month.
- Learn Python consistently. Start at 8 AM and study until 5 PM. Take a lunch break and snacks (for a total of one hour)
- At 8 AM, write a list of things you will study today. After that, take an hour to recall and practice everything you learned yesterday.
- From 9 AM to 12 PM, study and practice less. After lunch, pick up the pace. If you get stuck on a problem, look for solutions online.
- Spend 4-5 hours on learning daily and 2-3 hours on practice. (You can take one day off a week at most)
- Your friends will think you are crazy. Donât disappoint themâmaintain the image.
If you work full-time or study at university, you will need more time. As a student, it took me 8 months to complete everything on the list. Now, I work as a senior developer. My wife, who works at the Federal Reserve, took six months to complete all tasks on the list. It doesn't matter how long it takes. Just finish the list.
Week Four: Take Seriously the Goal of Getting a Job (Internship)
Your goal for the fourth week is to seriously consider getting hired. Even if you donât want to get a job right now, you will learn a lot during the interview process.
- Day 1: Resume (5 hours): Create a one-page resume. At the top of the resume, include a brief overview of your skills. Be sure to add a list of your projects with links to your GitHub.
- Day 2: Website Portfolio (6 hours): Write some blog posts. Add them to the previous website portfolio you created.
- Day 3: LinkedIn Profile (4 hours): Create a LinkedIn profile. Transfer everything from your resume to LinkedIn.
- Day 4: Interview Preparation (7 hours): Google the most frequently asked questions in interviews. Practice solving 10 programming problems commonly asked in interviews. Do this on paper. Interview questions can be found on sites like Glassdoor and Careercup.
- Day 5: Networking (~ hours): Get out of the closet. Start attending meetups and job fairs. Meet recruiters and other developers.
- Day 6: Just apply for jobs (~ hours): Google âPython jobs,â check what openings are available on LinkedIn and local job sites. Choose 3 positions to apply for. Tailor your resume to each of them. Identify 2-3 requirements from the job listings that you are not familiar with. Spend the next 3-4 days learning about them.
- Day 7: Learn from rejections (~ hours): Every time you receive a rejection, identify 2 things you need to know to get the job. Then, spend 4-5 days honing your skills in these areas. This way, after each rejection, you will improve as a developer.
Readiness for work:
The truth is, you will never be 100% ready for work. All you need is to master 1-2 things very well. And familiarize yourself with other questions to overcome the interview barrier. Once you land a job, you will learn a lot on the job.
Enjoy the process:
Learning is a process. There will certainly be difficulties along your way. The more challenges you face, the better you will become as a developer.
If you can complete the list in 28 days, you're doing great. But even if you achieve 60-70% of the list, you will develop the necessary qualities and skills. They will help you become a programmer.
Where to learn:
If you still donât know where to start,
- (an engaging Android app to learn Python)
- (free resources for studying in web version)
- (watch videos and learn)
I wish you an exciting journey. The future is in your hands.
Translation: Diana Sheremyeva
Source: habr.com
