I’ve recently started programming more in Python, and wanted to document how the process of getting more experience in a new language is.

One of the first things I’ve done is go being skimming books on Python. I’m currently reading through Think Python , and have picked many interesting tidbits of info on Python. While some may think it’s a waste of time to start at the beginning of a language, its not. Each language comes with its own philosophy and intrinsic style that manifest themselves with the absolute basics of the language. An example of such is below, using the ::-1 operator is such an easy shortcut one would easily miss. While it may seem less readable, this type of syntax is generally accepted by the Python community.

my_list = [1,2,3]
reverse = my_list[::-1] #reverse the list

The next step I’ve been taking to augment my Python knowledge is to find interesting, one off videos on the topic. These videos range from custom decorators to Ollama vision apps . I like to find videos that cover a wide range of topics from simple helpful tips to deep knowledge on a niche topic. These videos are useful because they expose me to different ideas in Python and new tidbits of information. I suggest finding one or two videos, then let the Youtube algorithm do its thing and fine more Python videos to show you. You’ll never know what will pop up and how interesting it will be!

The last, and in my opinion most important, tip to learning any new language is to dive in. Hello World is a good start, but you need a more substantial project to cut your teeth on. Don’t be afraid to dive head first into the deep end! It may seem scary, but it’s one of the best ways to learn. To help supplement this, use something like GitHub Copilot or ChatGPT to help you write boiler plate or help explain certain code you find in StackOverflow. I personally use Copilot to help me translate from a language I’m comfortable in (like JavaScript) into Python. I find this to help me when I’m stuck; I know I understand what I want to write, I just don’t know the exact syntax. I also suggest grabbing a dedicated IDE, such as VS Code with a Python extension or the community edition of PyCharm.

I want to make one last comment on learning anything or taking on any challenge in life: don’t be afraid to fail. It’s inevitable that you’re not going to be able to pick up a language instantly or that you’re going to confusing syntax between languages. I know I do the latter all the time, I can’t tell you how many times I’ve written let x = ... in Python. Don’t give up, you’ll get there eventually! Remember the words of Jake the Dog:

Sucking at something is the first step at being sorta good at something