https://medium.com/@manuel.schmid_37091/5-essential-tips-for-learning-programming-as-a-beginner-c3d90ffe5f7f