One of the most common questions I get from students near the end of a data science course is "what next?". The subtext is often "what is the next algorithm I should study that we didn't cover in this course?". Even a short data science course will reveal the tremendous breadth of topics that fall under the data science umbrella. Students, understandably, think all those topics should be ticked off before they're ready to be data scientists. I've written about this feeling before; it's impostor syndrome in disguise. In "How to use your impostor syndrome to learn anything" I detail the most common piece of advice I give to students:
[you] don't need to learn everything up front, [you] just need to be confident enough that [you] can learn anything when [you] need to
My advice has always been that once you have a foundation, an understanding of how data science and machine learning work, you have enough context to go and learn anything else, and the best way to learn is by doing. This ticks two boxes that I think are important:
- Machine learning should be taught intuition first, i.e. process before equations
- Learning data science/machine learning should be realistic, i.e. mimic the real world as closely as possible (real data rather than toy data)
Build, build, build
Vicki Boykis talks about how she keeps up to date with her field in "How I learn machine learning" and she shares one of my conclusions:
I cannot emphasize how important it has been for me to build things when I'm learning.
I've never really understood why I struggled to follow a textbook from start to finish. What I now realise is I lacked a goal. Learning algorithm X or method Y for its own sake isn't an interesting enough goal. Solving a problem, answering a question (however trivial) - those are.
Ergest Xheblati in his Data Patterns newsletter explicitly recommends this approach to maximise your value as a data professional, via what he calls "unstructured learning". In "How to build a lucrative career in data" he says:
Experience is a more direct way to demonstrate that you can create value. One way you can get that experience is through unstructured learning by solving real world problems.
Breadth-first
Another key piece of advice Vicki gives is "make sure to learn broadly". You often hear about data science being T-shaped, the idea being that you have a breadth of understanding about lots of topics, and only go deep in one or two.
As these disparate pieces came together in my mind, I realised all this advice is tailored to my generalist mindset. This is not just how I learn, or how I think students can learn effectively; this is how generalists should learn.
As a generalist, going deep in a topic for the sake of it has less value than solving a bunch of problems and learning the required skills on the fly. Doing the latter actually strengthens the skill that is your greatest asset. One of the unique selling points of a generalist is that they know a little bit about everything, and can use that knowledge to go deeper as required. I've heard this be called "just in time" learning, rather than "just in case" and it's the generalist's secret weapon.
Assuming Twitter still exists when you read this, and the thread is still up, read what Ergest has to say about building a "career moat"; a collection of good-enough skills that, when combined, provide you with a unique skill set: the Twitter thread. In case that link stops working, here's what I mean:
My mission and purpose is to help data professionals advance their careers by building a career moat and the best way to do that is by stacking skills. A career moat (as defined by @ejames_c) is a set of rare & valuable skills that allow you to remain competitive in any field.
Specialist roles ("we need a forecasting expert") require deep specialist knowledge, but if you apply for a job that requires a problem solver, breadth beats depth every time.
In his article "Staying Sharp in Data Science" Randy Au advocates for even more radically broad learning:
I am saying with a straight face, to go out and learn anything that strikes your interest that you can even tangentially relate to your work and interests and then try to apply it to your day job
Within reason, to a generalist all knowledge is useful knowledge.
The generalist's formula
What I want you to take away from this is that if, like me, you're a generalist it's helpful to realise that you probably learn differently from other people, and if you want to lean into your generalism, you should ditch the textbooks and:
- Read lots of stuff, even it only seems vaguely relevant. Knowing what there is to know is valuable enough without going too deep too soon.
- Build stuff, hone your building skills, and learn by doing. This "stuff" could be something with actual business value, or just a pet project. Personally, the former motivates me less than the latter. I even occasionally livecode some silly idea for an analysis on my Twitch channel
If you free yourself from a more structured form of learning, you will strengthen your generalist skills, and hopefully have a lot more fun along the way.
About David
I'm a freelance data scientist consultant and educator with an MSc. in Data Science and a background in software and web development. My previous roles have been a range of data science, software development, team management and software architecting jobs.