Be a self taught Python programmer in 2018.

Posted on March 11, 2018 in blog

Beautiful is better than ugly. Explicit is better than implicit. Simple is better than complex. Complex is better than complicated. - The Zen of Python, by Tim Peters

I am not writing this post to tell you what is Python? You can find what it is just by doing a simple Google search on "What is Python?"


An StackOverflow post The Incredible Growth of Python quotes "Python has a solid claim to being the fastest-growing major programming language" and it is absolutely true. This blog post also claims that "Python was the most visited tag on Stack Overflow within high-income nations". And these are not just a random quotes by a random blogger. This facts is based on year long data dump in StackOverflow website.

Just look at this graph which tells the future trend of Python programming language. Isn't is beautiful?

StackOverflow trend source:https://stackoverflow.blog/2017/09/06/incredible-growth-python/

Now, let me tell something about myself. I am a self taught Python programmer. I started learning Python in 2015 when I was a third semester student. I've not taken any formal course on programming in Python except that one time when our college conducted four classes on Python programming language with one class being of approximately 2-3 hours. But, I had already completed the Python basics before so, it wasn't fruitfull for me. But, I kept on taking the class because "ATTENDANCE" was a must.

So, inorder to gain more knowledge in Python, I started learning from online resources. And over the course of time, I think I've gained enough (but, not enough) knowledge in Python. So, Here's the MOOC you can follow (which I followed) to be a self taught Python programmer.

Here is my GitHub repository which I've prepared while teaching Python programming language in Deerwalk. This covers basic Python course if you are interested. Please give a star if you like this and contributers are welcome.

Pro Tip: Try solving any problem by yourself first. That's the only way to learn it. If you can't, then ask questions.

  • While writing code, always follow the protocols of good coding styles in Python. Learn about python coding ethics here: http://pep8.org/

  • Make maximum use of code editors and IDE like: PyCharm, VsCode, SublimeText

  • Projects, Projects, Projects (Obviously)

  • There's no need to do advance commercial projects, but make sure you implement the basic python core concepts.

  • Try to implememt core libraries that comes within the Python package like json, csv, urllib3, etc. And also try to use third package libraries.

  • If you are searching for project topics and ideas, here is a good resource to follow:

  • Create your GitHub account. Push the projects you've done to your GitHub repository. If you don't know how to use Git and GitHub learn it http://try.github.io/. And trust me, you won't regret of learning how to use Git and Github.

Trust me, GitHub is your new resume now a days

  • Follow Python groups in Facebook. I am saying the real groups with huge number of members. You can find them just by searching. Why follow these groups? because there are some good fellow members that share awesome blog posts and projects that they've done.

  • Practice Practice Practice

  • Follow, star the open source projects in Github. Here's the curated list of Open source python projects. https://awesome-python.com/

  • Learn about tools:

  • Now, you are confident in basics, try learning to use libraries and web frameworks like:

    • Django
    • Flask
    • Data Science Libraries

Links to each libraries can be found here: https://awesome-python.com/

  • Do small projects with the framework and libraries that you've learned and push your code to GitHub.

  • Learn new topic everyday. P.S. I learned about Python enums today :)

  • After this you can try applying for Python dev jobs. Here is an interesting Toptal article about what recruiters expect in Python dev.