There are usually some defacto frameworks used in the Data Science workflow (i.e. Numpy and Pandas), as well as some other frameworks that are much more based on opinion (i.e. Tensorflow and PyTorch). One thing remains constant in this equation and that is the fact that as a Data Scientist you’d constantly be required to update your knowledge on various topics such as existing and new frameworks.
Given it is an important part of being a Data Scientist, I thought it necessary to put together a guide for how to develop proficiency. Additionally, since developing proficiency with a programming language follows the same fundamental principles to developing proficiency with frameworks, I’ve included it as part of this guide.
Programming Languages Comes Before Frameworks
Programming Languages allow us to do so many amazing things with computers and though some receive more attention than others, there are about 700 out there (possibly even more).

Frameworks are simply made to make programming much easier for developers, which tends to be an appealing factor for anybody just beginning their journey with a new programming language. This by no means is bad, in fact, it is encouraged that you learn frameworks to help make programming more efficient and productive, however, before you begin mastering any framework you should have some good knowledge about the programming language it is based up.
To develop your programming proficiency, you may begin simply by solving programming challenges on sites such as Leetcode and Hackerrank.
Study Code & Read The Documentation
Programming Languages and Frameworks are created to solve some inherent problem in the old way of doing things – whether it’s readability, efficiency and performance, or some other factor. Baked into these frameworks and languages are the idiosyncrasies that make these things stand out.
Though reading the documentation may seem like an obvious feat, it is not done much often, especially by beginners. The documentation will tell you absolutely any course you’d pay for would tell you and more, including how to code idiomatically using the tool (which is very important by the way – always try your best to code idiomatically). However, if that doesn’t suffice you can also go on to Github and read professional programmer’s code to see how they use the tools to approach problems.
A good codebase I’d recommend reading to get to grips with Python is Scikit-Learn. See how they structure the code, and how they approach problems and attempt to incorporate this into your work.
Build Something
There is generally a reason for learning a new programming language or framework and it usually, or at least that is the case for myself. I don’t tend to be swayed by what is trending at a particular time unless there is a valid reason for deciding to switch; Some reasons to decide to learn a new language or framework may be:
- Deprecations
- Efficiency Enhancement
- Performance Enhancement
- New Projects where existing tools do not suffice
You are never going to know enough about a language to feel as though you are ready to combat a real problem, hence it is imperative you deliberately put yourself in a place where you have to deliberately apply skills to a task just outside your comfort zone.
Doing this doesn’t mean you are alone. There are many platforms where you can find support when you are stuck and cannot figure out a solution such as Stackoverflow. Furthermore, googling is a key skill in a programmer’s arsenal so don’t feel as though you are cheating if you use google to search for a solution to a micro problem that helps solve the macro problem.
Furthermore, this will not only develop your knowledge of what it’s like to use that framework/language in a production environment but also you will have a really cool project that you can add to your portfolio.
Wrap Up
The insane fact about working with programming is that you will never come to a place where you have learned everything there is to know about a language. Therefore, deciding to learn everything you can before you set out to do anything practical is an impractical strategy in itself. However, this doesn’t mean you shouldn’t do the necessary reading and research, in the beginning, to get you to a point where you know enough to start – quite the opposite.
The key factor is to never give up and work through the uncomfortable stage until it becomes second nature.
Thank you for reading. If you liked this you may also like:
Thriving As A Remote Data Scientist
Let’s continue the conversation on LinkedIn: