So you’ve signed up to a Data Analytics or Data Science course. Perhaps even several. You’ve put in the time to go through the content but you’re still struggling to apply the new skills to your work.

The problem is

1. The content doesn’t cover exactly what you’re trying to do or the flip side…

2. There’s so much content that you can’t find the solution you need

3. You’re not quite sure how to tie in the content with everything else you’re learning

4. There are so many methods you don’t know which to pick

5. You can’t see your own blind spots so you spend hours trying to figure out why your code isn’t working

The solution?

Know When to Use Generalised vs Specialised Learning Strategies

Having both general and specialised knowledge is important but it's impossible to specialise in everything and the learning strategies are different. Knowing when to use different learning strategies can save you hours of frustration.

Depending on what you want to achieve there are different learning strategies that will help you to accomplish your goal more efficiently.

Sometimes I’m learning a new technology or I’m reviewing a new tool to see what it’s good for. Note at this stage I don’t actually care about mastery. I may not even use the new tool.

If I’m not in the position to apply these new skills tomorrow I don’t want to spend the time to master it.

At this stage I’ll read the outline and perhaps watch a few courses at 3x speed. The goal is not to master the skill. The goal is to get a general understanding of the terminology, what a tool is good for, key concepts, how a tool is different from what you are already using. I've done hundreds of courses this way.

The goal is to get through as much content as quickly as possible. This means no stopping for practice exercises. If a lecture gets too deep, make a note and skip it.

You can always go back to this information later when you need it.

General knowledge can help whether you’re going for a job interview, talking to peers or stakeholders so you can have a more informed conversation.

General knowledge of the field you’re in can increase your lateral problem solving skills and prevent you from becoming to religious about your favourite tools. It shows that you are teachable and adaptable.

General knowledge is great but in order to be in a position to apply that knowledge and demonstrate experience you need to develop specilist knowledge by finding ways to work on real life projects.

Work towards a real-life project

Hopefully a good general knowledge should help to identify a vertical you want to specialise in or do a project on.

It’s important to always specialise in at least one area as developing specialised knowledge is a skill in itself.

The mistake that people often make is that they try to specialise in everything and as a result end up specialising in nothing.

Doing every single practice exercise for an online course is not the same as doing one real life project.

Working through course examples can have some benefit but pre-built exercises can often be a bit too guided and only give you the illusion of hands on practice. These often don’t give you the experience you need and may not completely fit your problem.

To get real world experience you need to take on real world problems.

If you already have a project that you’ve done using a different set of tools such as Excel, VBA, Access, Python, etc it can make a good starting point as you already know how everything is supposed to work.

The job now is simplified to translation rather than learning completely new concepts from scratch.

All your existing knowledge becomes an anchor point which will make it easier to remember the new information.

It’s important to keep in mind that different tools can tackle the same problem in a completely different way. This gives each tool its own unique strength. There is no one best tool, only design trade offs. Ease of use is usually a trade off for flexibility and scalability.

Keep an open mind and remember to ask questions so that you understand the benefit of each approach for yourself.

Here are some examples of some projects you could take on.

If you’ve built reports in Excel attempt to rebuild those reports in R. Note that when you start out this will be more difficult as you’ll need to translate your Excel processes into R code. The benefit of having this in code though is that you’ll get access to new functionality such as larger datasets, more types of graphics, web dashboards and automation options. It’s worth to factor one of these new features into your project so that you are actually able to see the benefit of learning R in the first place.

This is probably a much easier and relatable place to start than jumping straight into something like machine learning which requires to learn both a new programming language and completely new concepts. Once you get familiar with the language something like this can be your next project.

If you’re coming from a background such as Python programmer or researcher choose a project that shows you how you can turn markdown into web based interactive models using Shiny + Flexdashboards. You can just as easily publish your work as books, slides, blogs, etc.

This is a nice place to start to see just how fast and easy it is to publish your work without requiring to also spend time with Flask + HTML + javascript + Asynchronous programming.

Any of these projects will also give you a lot of experience in getting real life data into shape for your project. It’s often quoted how 80% of the time on a data science project is spent on this type of work.

Quite often machine learning courses will skip over this stage and go straight to the 5 lines of code that are required to split, train and test your models. The data is already prepared for you or you’re given too many clues on what you need to do.

This is why you need to do your own real life projects.

Get an Experienced Guide

One of the challenges of taking on your own project is that when you get stuck there is no model answer to turn to. It can be very easy to loose, hours, days or even weeks trying to figure out how to get your code to work.


Even if you do have a model answer you may still not see what you've done wrong or understand why the solution works.

Having a guide to help get you unstuck quickly will save you hours of frustration or worse practicing bad habits that you will need to unlearn.

Although I take pride in being able to teach myself a lot of skills I know that I would have only made a fraction of the progress without coaching.

The problem with self learning is that you can’t see your blind spots and can easily spend hours of time to figure out what a coach can point out to you in 5 minutes.

Coaching can help you to shortcut the initial learning curve so that you get past the frustrating and time wasting syntax errors and inefficient code.

Once you cross this hurdle every minute you spend learning and practicing new skills on your own will be far more productive.

From there you can use a coach occasionally to flag your blind spots, move you past road blocks and unlock your potential. This could be an experienced friend or co-worker.

When I first learnt R programming I could have easily spent hours hunting around for, learning and debugging inconsistent fragments of code that don’t work together.

Instead a good friend of mine showed me how to build a mini model that covered all of the most important aspects of my project.

The next day I was able to expand this code to deliver my project.

Even though I was a brand new R user I had everything I needed to start writing useful code.

I checked in with my friend a few times when I was still learning and still check in with him every few months to discuss the latest techniques we’ve both learnt.

I ended up saving weeks by learning how much more efficient R was for certain things I used to do in Excel, VBA, databases or web development.

I really enjoy working one on one with students to help shortcut their learning journeys.

Here is a testimonial from one of my students Paul Loudon who I’ve done some personal coaching with.

"Within just 5 minutes of sitting down with Jonathan he showed me how I could convert around 50 lines of code I had written into just 5.

Every few minutes he shows me a new tip that I may never have discovered and will save me hours every week.

You just don't realise how powerful these tools are sometimes until someone sits down next to you and shows you how nearly every little step can be faster, more flexible and more powerful."

— Paul Loudon

Right now, I’m putting together a training and personal coaching package. This is the best value way to get access to all of my courses. There's even a discount if you're already one of my students. If you’re interested in finding out more about how this could help you please leave your name and email in the box below and I’ll get some information over to you right away.

Tell Me More About Personal Coaching + Best Value Way to Access All of My Courses

var ml_webform_1105418 = ml_account('webforms', '1105418', 'w0j0m3', 'load'); ml_webform_1105418('animation', 'slideboxRight');