The job market today for data jobs is more competitive than in the past. It seems like there’s less demand for junior /early career roles and more demand for senior roles. But there’s fewer people to fill these senior positions. Getting your first data role is a challenge, but once you get your first job the learning doesn’t stop. Especially with the rise in AI and other tools, staying up to date is vital in this field. The data field is broad, so it’s important to know what skills to focus on.
In this article I’ll be diving into:
If you want another perspective on this talk Luke Barousse and I discussed this during our Maven Analytics show: How To Build The Most In-Demand Data Skills.
How I Know Which Skills to Learn
I start my research by checking out the skills Luke has collected from his project datanerd.tech, which you can explore to look at the in-demand skills. Since this scrapes data from the web, it’s up-to-date. It also lets you filter by job title and country.
This helps me understand the current trends in job postings. It gives me an idea of which skills are in demand. For the main data roles (data analyst, data scientist, data engineer) in the United States the top 3 skills:
Data Analyst: SQL, Excel, Python
Data Scientist: Python, SQL, R
Data Engineer: SQL, Python, AWS
So improving my Python skills and understanding libraries like scikit-learn and pandas is valuable for my interests in data analytics and data science.
I also stay up-to-date with the latest data news by listening to podcasts, watching Yotuube videos, staying active on LinkedIn and reading articles. I don’t look at every single resource all the time, I mix it up. If you want to check out the resources I use to learn data analytics check out my blog post here.
How I Learn
While this is a broader approach for keeping up with the tools, the next steps is learning specific skills within those tools. For example, in Python it's important to focus on specific libraries like matplotlib or NumPy.
Work Backwards
I always start by understanding my goal, I work backwards from there. For example, when I was building a predictive model, my goal was to create a predictive model to determine likelihood of customer churn. For that I looked into what fundamental knowledge was needed for building a model: linear/logistic regression, statistical methods, and machine learning model evaluation techniques like precision, recall, and AUC-ROC. Then I narrowed down what specific skills, in this case library, I needed to learn (scikit-learn).
Learn Fundamentals
Once I had a list of what I needed to learn, I spent time getting the foundational knowledge. The goal is to understand the core concepts for my specific goal, I don’t need to become an expert in all machine learning models. I spent time watching Youtube videos, reading books, researching using Google and ChatGPT, and taking an online course (usually only 1).
Project Based Learning
Instead of taking more courses, I take a project based approach to apply my knowledge. Working on a project simultaneously while learning helped me avoid getting stuck in the trap of endlessly consuming content.
I frequently used the “imitate, assimilate, innovate” method:
imitate - I would usually ask ChatGPT for pseudo code of what I wanted to do.
assimilate - I implemented this pseudo code into my project.
innovate - Then I would change it to match the specifics of my project
I would do this for each step in my project.
When I ran into a block that required me to learn something else, I would spend time understanding the underlying concept (at this point it was usually done with shorter form content like Youtube videos or online articles).
Then I applied what I learned using the "imitate, assimilate, innovate" method.
And repeat it until I finished my project. For more specific techniques on how to learn check out my article here.
Teach Others
After my project I like to reinforce my learning by teaching others. This is the basis of the Feynman technique (read more about how I use that in my blog post). Why? Because teaching a skill requires deep understanding of the concepts. If you can't explain it simply, you don't really understand it.
Here’s how I do it:
LinkedIn posts: I usually do this while working on my project. It helps me stay accountable and think about next steps.
Blog post: After completing a project, I write longer-form content to dive deeper into the details (like my Deep Work Dashboard 2023).
Building courses: This doesn’t happen as often but building courses has been a great way to reinforce my learning and dive deeper into a tool. Since these take considerable time, they’re great for mastering skills.
How Can You Learn
While the above section was about my personal journey, I understand not everyone will be building courses or writing detailed articles. Here’s a short plan you can use for learning and staying up to date.:
Stay up-to-date with in demand skills. Use websites like datanerd.tech and keep an eye on industry trends by listening to podcasts, watching videos, or reading articles.
Work backwards from your goal. Define your goal, then figure out what you need to learn to achieve it. For example, if your goal is to build a machine learning model, focus on learning Python and libraries like Scikit-learn. Make sure your project is challenging but attainable. If you don’t even know Python your first project shouldn’t be building a model from scratch.
Learn the foundational skills. Focus on the bare minimum needed for your goal (later you can focus on mastery). For example, you won’t need to use PyTorch if you’re looking to visualize data.
Start your project. Apply the “imitate, assimilate, innovate” method to build your project. Feel free to use any other method you prefer but the key is to actually work on the project. Don’t get stuck waiting for the perfect time or perfect knowledge.
Reinforce your learning by teaching. Whether it’s writing a LinkedIn post, recording a YouTube video, or explaining it to a friend, teaching is one of the best ways to solidify your understanding.
Conclusion
Learning new skills in data requires a balanced approach. Stay aware of in-demand skills, work backward from your goals, build projects, and reinforce your knowledge by teaching others. By focusing on the fundamentals and actively applying what you learn, you can avoid getting stuck in endless courses and become a more proficient data professional.