Python in a month

Guide for the Absolute teanewbies.
(Note lane: these are tips from a Hindu author, but seemingly sensible. Please add in the comments.)

image

A month is a lot of time. If you spend 6-7 hours on training every day, then you can do dofiga.

Monthly goal:

  • Get familiar with the basic concepts (variable, condition, list, loop, function)
  • Learn more than 30 programming problems
  • Collect two projects to put new knowledge into practice
  • Get to know at least two frameworks
  • Get started with the IDE (development environment), Github, hosting, services, etc.

So you will become a junior developer (June) of Python.

Now plan for the weeks.

EDISON Software - web-development

This article was translated with the support of EDISON Software, which gives practical advice to juniors, as well as designs software and writes TK in Russian and English.

First week: get to know Python

Understand how everything works in Python. Check out as many things as possible.

  • Day 1: 4 basic concepts (4 hours): input, output, variable, conditions
  • Day 2: 4 basic concepts (5 hours): list, for loop, while loop, function, import modules
  • Day 3: Simple programming problems (5 hours): swap two variables, convert degrees Celsius to degrees Fahrenheit, calculate the sum of all digits in a number, check the number for simplicity, generate a random number, remove the duplicate from the list
  • Day 4: Medium difficulty programming problems (6 hours): flip the line (check on the palindrome), calculate the greatest common factor, combine two sorted arrays, write a game for guessing numbers, calculate the 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: Algorithm (6 hours): search (linear and binary), sorting (by bubble method, selection), recursive function (factorial, Fibonacci series), time complexity of algorithms (linear, quadratic, constant)

Do not install Python:

I understand it sounds contradictory. But trust me. I know a bunch of people who have no desire to learn anything after they were unable to install a development environment or software. I advise you to immediately get into an android application like Programming Hero or the Repl website and start exploring the language. Do not set yourself the task of installing Python first unless you are technically savvy.

Second week: start software development (build a project)

Get experience in software development. Try to use everything you learned to create a real project.

  • Day 1: Check out the development environment (5 hours): The development environment is an interactive environment where you will write code for the largest projects. You should know at least one development environment well. I recommend starting with VS code install Python extension or Jupyter notebook
  • Day 2: Github (6 hours): Explore Github, create a repository. Try committing, running code, calculating the difference between any two Git trees. Also deal with branching, merging, and pool requests.
  • Day 3: First project: Simple Calculator (4 hours): Check out Tkinter. Create a simple calculator.
  • Day 4, 5, 6: Personal project (5 hours every day): Select one of the projects and start working on it. If you have no ideas for a project, check out this list: some good Python projects
  • Day 7: Hosting (5 hours): Deal with the server and hosting to host your project. Configure Heroku and build your application.

Why project:

Just blindly following the steps in a lesson or video you will not develop the ability to think. You must apply your knowledge in the project. As soon as you put all your energy into finding an answer, you will remember it.

Third week: get comfortable as a programmer

Your goal for 3 weeks to get a general idea of ​​the software development process. You will not need to hone your skills. But you should know some basics, as they will affect your daily work.

  • Day 1: Database Basics (6 hours): Basic SQL query (Create Table, Select, Where, Update), SQL Function (Avg, Max, Count), Relational Database (Normalization), Internal Connection, External Connection, etc.
  • Day 2: Use Databases in Python (5 hours): Use the database framework (SQLite or Pandas), connect to the database, create and add data to several tables, read data from tables
  • Day 3: API (5 hours): Learn how to call an API, learn JSON, microservices, REST API
  • Day 4: Numpy (4 hours): Get to know Numpy and practice using it in your first 30 exercises
  • Day 5, 6: Portfolio site (5 hours every day): Learn Django, create a website portfolio on Django, also take a look at the Flask framework
  • Day 7: Unit tests, logs, debugging (4 hours): Understand unit tests (PyTest), learn how to work with logs and check them, and use breakpoints

Real Time Scale (Secret):

If you are ill with this topic and dedicate it all to yourself, then you can do everything in a month.

  • Learn Python all the time. Start at 8 in the morning and do this until 5 in the evening. Take lunch breaks and snacks (a total of an hour)
  • At 8 in the morning, make a list of the things you will learn today. After that, take an hour to remember and put into practice everything that you learned yesterday.
  • From 9 a.m. to 12 p.m. teach and practice less. Gain momentum after lunch. If you are stuck on a problem, look for a solution to it online.
  • Every day, spend 4-5 hours on training and 2-3 hours on practice. (maximum you can arrange one day off per week)
  • Your friends will decide that you are crazy. Do not disappoint them – match the image.

If you work full time or study at the university, then you will need more time. As a student, it took me 8 months to do everything listed. Now I work as a senior developer (senor). It took my wife, who works for the US Central Bank, six months to complete all the tasks on the list. No matter how long it takes. Complete the list.

Fourth week: take your job seriously (intern)

Your fourth week goal is to seriously think about getting a job. Even if you don’t want to get a job right now, you will learn a lot in the interview process.

  • Day 1: Summary (5 hours): Create a one-page resume. At the top of the resume, post a summary of your skills. Be sure to add a list of your projects with links to Github.
  • Day 2: Portfolio site (6 hours): Write some blogs. Add them to the previous portfolio of the site that you made.
  • Day 3: LinkedIn Profile (4 hours): Create a profile on LinkedIn. Transfer everything on your resume to LinkedIn.
  • Day 4: Preparing for an interview (7 hours): Google the most frequently asked questions in interviews. Practice solving 10 of the programming problems that are asked during interviews. Do it on paper. Questions from interviews can be found on sites like Glassdoor, Careercup
  • Day 5: Networking (~ hours): Get out of the closet. Start going to meetups, job fairs. Meet recruiters and other developers.
  • Day 6: Just apply for vacancies (~ hours): Google “work Python”, see what vacancies there are on LinkedIn and local sites with job offers. Select 3 jobs to which you are applying. Customize your resume for each of them. Find 2-3 things in the requirements lists that you do not know. Spend the next 3-4 days to sort them out.
  • Day 7: Learn from failures (~ hours): Every time you get a refusal, determine for yourself 2 things you need to know in order to get a job. Then spend 4-5 days to hone your skills in these matters. Thus, after each failure you will become better as a developer.

Willingness to work:

The truth is that you will never be 100% ready for work. All you need to do is learn 1-2 things very well. And familiarize yourself with other issues in order to overcome the barrier of interviews. Once you get a job, you will learn a lot from it.

Enjoy the process:

Learning is a process. There will certainly be difficulties on your way. The more of them, the better you are as a developer.

If you can finish the list in 28 days, you are a great job. But even if you complete 60-70% of the list, you will develop the necessary qualities and skills. They will help you become a programmer.

Where to study:

If you still don’t know where to start,

  • Programming Hero (an exciting Android application for learning Python)

  • Learning Python for machine learning (free web-based learning resources)

  • YouTube video series (watch videos and learn)

I wish you a fascinating journey. The future is in your hands.

Translation: Diana Sheremyeva

Similar Posts

Leave a Reply

Your email address will not be published. Required fields are marked *