Where should I start studying Data?

A list of my favorite online tools to learn Data and general coding. That is my recommended pack to transform you into a self-taught data professional too.

Carolina Maia
CodeX
7 min readAug 8, 2021

--

Photo by Carl Jorgensen on Unsplash

Every time we decide to learn a new topic, things may become overwhelming. There is a variety of course formats available from books and pdfs to videos and even gaming apps like Duolingo. It’s hard to know where to start and seems like we will never have time for all of that. I know how anxious this can be (been here for years), and how relieving it could be to talk to a friend. After a lot of requests on this, I’ll be yours right now to share my study guide. :)

See the bright side: we can learn a lot using the internet! On my journey I looked for real examples and got their pieces of advices. I tried different routines and proved what would work for me. Learning habits change too. Sometimes we’re in the mood of deep focusing, sometimes we’re just tired and in a rush (that’s fine too!). You just need to test what you like and stay motivated. Remember we don’t master things overnight, so calm down and take baby steps. Each achievement will be a bit closer to your final goal!

I’ll split learning resources into two groups: theory and practice. First is composed by knowledge fundamentals. Most are tradicional methods which resemble classes: lectures and books, but fortunately there are alternative ways to scape of them! Lastly, cool platforms where you can rock your (programming skills) and apply all what you heard. Good luck!

NOTE: I’m not sponsored by any of them. I don’t receive a penny for indications. :(

Theory

Medium: the faster and friendlier content for busy people

Not to sell myself in here, but I’m a true lover! I found this cool blog at LinkedIn, and sticked to the website as discovering more and more content for everything related to Data. Towards Data Science is my favorite page, ranging from statistics to data analysis, software tools and book reviews. You can find awesome tutorials, code implementations and didactic explanation for complex topics like Kubernetes. And trusted information from the best in the community (like how the top companies such as the FAANGs are dealing with their data problems). It’s very pleasing to read like news (many images!). I mark them and try to read one at a time during meeting breaks.

Why reading it all if someone already had that work for you? Enjoy your time!

Real Python: master programming and software for any use

This website is indeed focusing on Python (and IMO the best in the field), but it teaches you concepts of software engineering that you’ll take for life. Especially for me who did not graduate in CS, I found out about pointers, memory, GC. I finally understood fundamentals of projects and (virtual) environments there (and why you need that blank init file in your folder anyway!). They serve free tutorials, but if you pay US$ 5/month, you get access to the video courses (I’ve completed 53 of them, really). Amazing tutors explaining with easy-to-follow examples in a simple terminal. You will get used to the freaking terms and understand the practical applications of Python. There are learning paths for: data science & ML, web development, dataviz and analysis, DevOps, core programming. Seriously, I love those guys. I lost many fears and became confident there, especially with OOP theory.

Isn’t Python awesome? You will fall in love with drawings and all its applications.

Udemy: great, complete courses for a nice price (or free)

Udemy has a huge catalog of technical courses for all levels, from full beginner to expert and even all at once. Most are displayed with discount for the price of R$ 30 (BRL), which is fair enough for a whole topic covered with many hours of video. Tips: check the duration to get the most (and avoid paying for one-hour courses) and the best rated. You can also find free courses there, including AWS tools training! Some I’ve taken: Spark (free), Airflow, Git (free), Object-Oriented Programming (OOP), Data Engineering, Statistics. I recommend this option for themes you want to dive in, and have the time. Don’t forget to do the exercises along instead of passive hearing!

Valuable classroom experience if you have the time, save it for what matters.

O’Reilly: books you trust by the name and keep for life

I heard of them from many Data people, also at Medium. These books are THE reference for the area, very detailed and well written. Their downside is the price, when you have to convert from US dollars… But there are other options (in their website there is a section of free licenses)! Other companies like Databricks publish their early editions for free with some chapters (I read Cloud, Spark and Delta Lake and were enough to grasp!). Also I bought a used copy of book of Learning Python for a bargain. It covers a lot of concepts in 500 pages. So I think it is worth checking samples before buying the thick books, but if you’re sure about that, you won’t regret your money. This dataviz book from Claus Wilke is a must that I got in my first DA position and always share with my mentees when they start learning the data world. :)

The full menu is a treat, but if you can’t afford it, go taste the bites of samples!

Youtube: spend your time both chilling and being productive

Wanted to know something but were too afraid or embarrassed to ask a person? For sure Youtube will have the answer! People build crazy things there and make home videos explaining things in a cool way! I like to search things like “how computers work?” (check this initiative from Bill and Melinda Gates foundation!). That’s a good place to watch how to configure and initialize applications. Also philosophical thoughts in science like classic computer problems and math paradoxes will be there. Let the nerd go! I spent many hours on Databricks channel watching Data&AI summit sessions. I got a perception of tech updates and demos on new products. For free and in 2X. Last chance to attend events in your couch (This Nubank talk made me fall in love with Data (Analytics) Engineering — a new position — and going for it!).

Stop Netflix for a bit and go get the answers for what you really want to know.

Practice

CodeCademy: cut the crap and get ready to code (in an IDE)!

No more bla-bla-bla. Forget long boring videos and energy consuming texts to read and interpret. This website offers you the closest to a real hands-on experience in programming at a job. You’ll get an interface like a common IDE with a thin sidebar. It will give you a brief explanations, short examples and multi-steps exercises. You practice trying, interpreting directions and writing code to run and giving feedback. However, you won’t get much of theory and fundamentals behind the logic (then refer to other sources). The catalog covers SQL, Python, front-end, back-end, shell… I wish I had the time to play around with all of these cool topics! But I did Python 3 (great syntax refresh). I really enjoyed Java for programmers (a few hours to get the basics to be able to learn famous books like the Clean Code bible of agile software development). There is a 7-day trial and if you like it, the monthly subscription is US$ 20. IMO it’s not the cheapest, but totally worth the investment (and makes you want to take the most of it!). Will definitely pay off for a small set of skills.

Practice real coding problems directly in a ready-to-use IDE. Very hands-on!

Hackerrank: simulate interviews at your pace and get feedback

Do you know those coding exams applied at recruiting processes? You get nervous just to think about it. The trick questions, confusing text, numbers which don’t match… How about trying before that day arrives, huh? There are a lot of languages to practice, and within each one, you will find topics like strings, sets, data types, math, loops. So you can choose to focus where you have difficulties as well. The user experience has a bit of gamification, as you collect points, badges and can share your results at social media. How about inviting friends to play together? Also to be honest… If you get really stuck in a challenge, you can unlock the solution with your ‘points’ and check answers from experienced developers. There’s a discussion forum too. Break the ice and will learn how to think and organize your problem solving skills. And algorithms like prime numbers and FizzBuzz will look easier in the tests.

Like theater or gym, changes are higher with warm-up and regular training.

Your environment (job, major, portfolio)!

These and other tools will help you take the first look at programming activities and collect experience at it. But I encourage you to try developing things on your own too. You can play with small challenges at your usual environment, like our job’s database, your college or other personal projects. Might seem silly, but this mindset will induce you to think about real problems and you could also end up with a cool solution to be spread in our portfolio (my dream for one day). In my case, I mastered SQL by making up questions at Metabase and exploring the data led me to powerful insights to my job then.

Enjoy your opportunities to challenge yourself and make it part of your routine!

Learning is better when you have fun (or even don’t realize you’re doing!) or at least enjoy it instead of feeling the pressure of an obligation. I hope these tips give you more clarity and you get motivated to study Data! Did they help us? What else should we consider? Please share your feedback! I’m dying for it! 💖

Happy learning!

--

--

Carolina Maia
CodeX
Writer for

Data Engineer @ Booking.com💖 Computing, technology, startups, self learning and networking. Besides work, Netflix, social, travel and outdoors.