(If you just landed here, be sure to check ) Part I Couple of months on the job. Rocking Python, Linux and Git. The sky is the limit, right? RIGHT?! Maybe. But not now. Learning something new is awesome. Some circuits, a bit of hot glue and here's a brand new cyborg with laser eyes...?! Nope. Until about a year ago I had never heard about the Raspberry Pi. So I started reading about it. I've read all the documentation. The page said it has and ARM processor. I never heard about it, what did I do? Googled it. The page on ARM Architecture explained about RISC and CISC. I never heard about RISC and CISC. What did I do? Googled it. See where I'm going? After spending the whole Saturday reading, was I able to develop my own? Build my own kernel? My own distro? Niet. Be it martial arts, powerlifting or AI, you gotta . Keep it tight! It was time for: Foundations. strengthen your core A couple of hundred lines of are not foundations. Reading from a database, parsing and writing somewhere else are not foundations. functional programming Everyone feels embarassed whenever they look at their old code. Improving takes . Research, experience, , knowledge and itself. No one without experience and training wakes up, goes to the gym and bench presses 120 Kg. Why would studying be different? time mistakes maturity I come from the future, and I bear gifts: The answer is . Try to write comments - or complete descriptions! - on what you are doing right now. . Some lines of will go a long way, trust me. Do you want 3-months-from-now you to avoid some brain hemorrhage when looking at your old code? Documentation Start right now, I MEAN IT docstring Do try to contribute to open source projects. You'll probably get lost on the scope and won't understand what is going on. It'll mostly lead to failure and sadness, which will slow down your learning curve at a crucial moment. Do you want 1-week-from-now you to feel sad with low morale? not Keep your chin up! You'll only see your real progress further down the road. With some luck and personal effort, it'll be a process of learning and noticing your - endorphin - progress. Do you want tomorrow you to feel tired and give up? perpetual I only had three tools. I needed them to be as sharp as possible. It is better to have a single reliable sharp knife to a bunch small knockoffs pocket blades. You need to bench 80 Kg properly to bench 85, 90 and 100kg. Know, your, stuff. As much as you can. My approach? Delving into books (or documentation). Youtube videos, blog posts (e.g: medium, towards data science, hacker noon, kd nuggets, kaggle) can be great sources of information, but there's only so much it can do for you. In college we had a saying that translates to " ". When knowledge is , chances of forgetting it are close to none. So, the entire book (or documentation)? Well, go as far as you can, follow your heart, but move forward only when you really manage to learn. Feel free to skim - but try not to skip - chapters or sections of the content. Focus on what you can improve now. Chances are that you won't be needing that network/TCP chapter in the forseeable future... It's already in my blood in our blood I said to because you might learn some new vocabulary and relevant information (e.g.: You might not remember the layers of the OSI model, but you'll learn that there's a model. And googling for "newtork model layers" is as good as "OSI model".) skim instead of skip Go back to your code, file by file, class by class, function by function, line by line. See that ? You can improve it's performance by using Have you ever tried to use ? for loop used when creating a list list comprehension . map Ask someone to evaluate your code. Write tests! Don't know about tests? Good! Now is as good time as any. I managed to refactor/rewrite everything that I had done. It felt great. Just like leveling up in real life. The title of this series is " " and you haven't seen any machine learning, or even statiscts until now. It happens that in my case, I need to code and do the math. Many data cientists don't. Fear not! AI - From ZERO to H...aving lots of questions! More projects were coming my team's way. I felt good, confident. Eager for new opportunities ...and had no idea what was coming my way. But that's a story for another time. The title will probably be something close to: " ". How did I become the team's self-entitled RegEx god in one day, and who's the one that uses .cab files?! Part III - Coming soon COVID-19 IS SERIOUS. STAY AT HOME! References: Raspberry Pi: https://www.raspberrypi.org/documentation/ Functional programming: https://en.wikipedia.org/wiki/Functional_programming Powerlifting: https://stronglifts.com/5x5/ List comprehensions: ps://docs.python.org/3/tutorial/datastructures.html#list-comprehensions Python tests: https://realpython.com/python-testing/ Programming paradigms: http://www.eecs.ucf.edu/~leavens/ComS541Fall97/hw-pages/paradigms/major.html Documenting Python Code: A Complete Guide: https://realpython.com/documenting-python-code/ Programming in Python 3: A Complete Introduction to the Python Language: https://www.amazon.com/Programming-Python-Complete-Introduction-Language-ebook/dp/B001OFK2DK Linux Bible: https://www.amazon.com/Linux-Bible-Christopher-Negus-ebook/dp/B00XC9L0HS/ref=sr_1_1?dchild=1&keywords=linux+bible&qid=1586209469&s=digital-text&sr=1-1 Regular expressions (regex): https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Regular_Expressions : Introduction to Statistical Learning https://faculty.marshall.usc.edu/gareth-james/ISL/ISLR%20Seventh%20Printing.pdf