Original article was published by Roman Orac on Artificial Intelligence on Medium
7 Free Programming Books every Data Scientist should read in 2020
These free books will show you how to develop skills which many Data Scientists lack
Two weeks ago I’ve published 7 Free eBooks every Data Scientist should read in 2020. I’ve got an amazing response! So the natural thing was to expand on this topic.
Many readers commented, “I don’t have time to read”.
Programming books are not novels that you have to read from start to finish. I try to read 10% of a technical book — usually not from the start. I skim the table of contents. This way I learn the gist of the book.
When I’m faced with a problem in the real world, I know where to find the solution.
Now, let’s start with 7 Free Programming Books every Data Scientist should read in 2020.
Python Notes for Professionals
Authors: People at Stack Overflow
This Python book is one of the most complete guides for Python I’ve ever seen. It is compiled from Stack Overflow Documentation and the content is written by people at Stack Overflow.
The book extensively covers every area of Python that you will (most probably) ever need. I suggest you don’t read it from start to finish, but use it as a go-to reference for a certain topic you would like to learn more about.
If you aren’t well versed in Python, I recommend diving deep into this book. With 816 pages this book offers more than enough information to make you proficient in Python.
20 Python libraries you aren’t using (but should)
Author: Caleb Hattingh
For programmers well versed in Python, I would recommend reading 20 Python libraries you aren’t using by Caleb Hattingh. This is a shorter book that covers essential libraries from the Standard Python Library, Python System Tools, Web APIs and some General-Purpose Libraries.
This is a great book to use as a reference when you need to write a multiprocessing script or any other advanced script in Python.
Building Skills in Object-Oriented Design
Author: Steven F. Lott
Many programmers coming from statically typed languages, like Java or C, start being productive in Python in a short amount of time. They say “Everything that I type just works” or “I code it as I say it”. But this approach often time leads to crapy code. Python has it’s own quirks.
On the other side are Data Scientists coming from Mathematical background that haven’t even heard about Object-Oriented Design pattern.
To both groups of Data Scientists above I would recommend doing a few exercises from Building Skills in Object-Oriented Design book. It offers a sequence of interesting and moderately complex exercises in Object-Oriented design.
Author on “why to read this book?”
Some software developers find themselves stalled when trying to do object-oriented (OO) design. As programmers, they’ve understood the syntax of a programming language, and pieced together small examples. However, it is often difficult to take the next step to become a designer. The transition from guided learning of language features to self-directed design work is often ignored. Programmers are left to struggle through their first design projects without appropriate skills or support.
Author: Hernan Rojas
Pandas became the defacto standard for Data Science in Python. Learn Pandas book is written in Jupyter Notebooks with accompanying text.
It starts with basic lessons on how to create a DataFrame and it ends with creating Excel reports. It is aimed at Junior Data Scientists that are still getting familiar with pandas.
To learn more advanced pandas tricks, I would recommend you to check my pandas series for Data Analysis:
Author: Alan Hohn
Many Junior Data Scientists don’t know about best coding practices, one of them being Git. I already wrote about this topic in my 5 skills Data Scientists should learn article.
Conversational Git is an amazing book that shows basic operations in Git in an accessible manner. I suggest you spend one-afternoon scrolling through this book. Spending some time to learn Git is a good investment as it leads to better development practices.
In case you just need a Git crash course, check Git Guide, which presents basic Git operations in a fun way.
Bash Notes for Professionals
Authors: People at Stack Overflow
Like with Git, learning Bash is also a good time investment if you plan to stay in the software development world for the long term. Git and Bash are here to stay!
Bash Notes for Professionals is a comprehensive book about Bash. It covers everything you will ever need to know about Bash.
Reading and learning about Bash can be tedious so use this book as a reference. You are going to get better at it as the years go by.
For Junior Software Developers not familiar with Bash I would recommend spending some time going through this book and learning Bash basics. One thing is for sure — you are going to meet Bash sooner or later.
Author: Robert Picard
Having a Machine Learning model making predictions in a Jupyter Notebook is cool! Do you know what is cooler? Having a Web Application with the model making predictions in the Cloud!
Explore Flask is a book about best practices and patterns for developing web applications with Flask. There are a lot of pieces to the average Flask application. This book tries to show the “right way” on how to do the things with Flask.
Would you like to learn how to deploy a Machine Learning model in Cloud with Flask? Then you should check my Course:
Before you go
I am building an online business focused on Data Science. I tweet about how I’m doing it. Follow me there to join me on my journey.