Python programming language – Learn on your own

Python is one of the fastest growing programming languages and it ranks amongst the top programming languages. I have been programming for more than 20 years now, and my colleagues always talked about learning Python. When I started on my journey to add Python to my skills, I followed the steps listed here to become more hands-on. These steps will be more relevant to an experienced programmers but I believe fresh programmers to the field might benefit as well.

Step 1: Fundamentals

There are two paths to pick up a new programming language; 1. Read the language documents and relevant books 2. Get right to coding in that language. I personally tried both. The second path is more viable for an experienced programmer. I started by trying out simple expressions and built-in functions via Python console. I was also working on a project in Python at work that helped to get my hands dirty.

python programming console
Python console with different expressions and built-in functions

While Python console helps to practice various syntax, it may not really help to build proficiency to program in that language. The language has rich standard library and so many ways to write different expressions that it is necessary, in my opinion, to read the documents and a book. I referred to Python documentation and Python standard library. I also referred to different books, from basics to advanced programming in Python.

Python programming book
One of the books I referred to learn more about the language

Step 2: Practice, practice and more practice

After getting more understanding of the fundamentals, it was time to practice programming in the language. The project at work did help to get started but it is mostly limited to certain areas of the work. I registered on coding challenge websites such as, codewars, hackerrank and leetcode. Codewars is free and helpful to practice problems at various level of difficulty. Hackerrank has various tutorials and set flow for different languages. Even though Leetcode is more known for preparing candidates for a technical interview, the problems on the website are challenging to get more proficient in your language. I programmed almost daily after work hours on these sites and reached amongst top 2% of the programmers on codewars.

Step 3: Projects or Products

Once you get familiar with the language, it is very important to complete at least one project/product in that language. Python has many use cases and frameworks; Machine Learning, Web Application, Cloud APIs, Cloud infrastructure, scripting, etc. So far, I have been able to complete different projects with Python in mainly Cloud APIs, Cloud infrastructure and scripting. In my opinion, this is critical to get exposed to practical use of the language and see it in action. This also helps to build the professional experience to dive into other use cases of the language such as Web application and Machine Learning. I am excited to continue on my journey to get into Machine Learning with Python