Hi everyone,
This week I’m sharing why I think learning to code is best done through self-directed projects.
I really enjoyed the digital office hour last week and have decided to run it once per month in 2021 - I’ll share details in next week’s email.
Hope you’re all looking forward to Christmas :)
Chris
“WE ONLY KNOW WHAT WE MAKE.” — GIAMBATTISTA VICO (PHILOSOPHER)
🖥 Why learn to code?
Learning to code is a really valuable skill. You can use it to build things that impact the world. And it’s a desirable skill in the current job market.
But it’s not easy. It takes a long time to learn.
There are different approaches you can take, with stacks of different courses and bootcamps available.
However, I think your focus should be on self-designed projects. Here are 6 reasons why:
🥅 (1) Projects most accurately replicating the end goal
At the end of the day, what is the purpose of learning to code?
The exact end goal will vary, but in a broad sense for many it will be:
Your aim should be to build the ability to do that, as soon as possible.
Courses are great for getting a foundation of understanding. They can help you know what’s possible. But they will only take you so far.
In a course environment, things have been deliberately simplified. Your code gives the same end result as the instructor — success!
However, you will only start to learn the additional complexities when you do your own thing. What languages and libraries should I use? How best to clean my data? How can I integrate data from one source with another?
You can only build these skills outside of the ‘classroom’ environment.
🥳 (2) Projects can get you through ‘The Dip’
The quickest way to learn something is to enjoy it. The moment it switches from “I should probably do this” to “I would like to do this” is when the real progress starts.
Learning to code can be exciting, particularly at the start when everything’s new.
But it can also quickly get frustrating. There are times when you just can’t figure out why your code isn’t working. Or you spend ages just trying to configure your coding environment or install a new library.
If you’re learning to code in your free-time, and don’t have any true “skin in the game”, it can be easy to give up. Seth Godin calls this The Dip.
What’s the best source of momentum to get through The Dip? Fun.
And that fun comes from play. Making projects are the way that you play with code.
A project enables you to try something new. To venture into the unknown.
It’s an experience you can’t get from an online course. Thousands have written that code before and thousands will after. The code will probably end up somewhere in a folder on your computer, and never be used in the real world (unless you adapt it for your own projects).
And solving your own problem is always going to be more engaging than solving someone else’s.
Check out the rest of the article here.
🌟 My favourite things
A Podcast: On the subject of learning to code, this conversation between Dr Josh Case and Mustafa Sultan on the Big Picture Medicine podcast is great. Josh has lots of ideas about how medics can get involved with coding.
A newsletter: Air Street Capital is venture capital firm funding AI startups. They have a great monthly newsletter, and share a yearly ‘state of AI’ report each October
A blog: I enjoyed this breakdown on why Substack newsletters tend towards ‘milquetoast’ (ie. they become homogeneous and largely uninteresting). I think this extends to any place where content creation is directed at building and maintaining an audience (which is almost always true when the content is created as a business, such as a paid newsletter)
💌 Enjoy this email?
Please click the heart below, and forward the email to a friend!
About Me
Hi! I’m Chris Lovejoy, a Junior Doctor and Data Scientist based in London.
I’m on a mission to improve healthcare through technology (particularly AI / machine learning), and share what I learn along the way.
In this weekly newsletter, I share my top thoughts and learnings from each week, as well as links to the best things on the internet that I come across.
I agree with this. Projects are really good for learning.
I've mentioned you on my blog as well.
https://shivansivakumaran.com/data-science/my-programming-learning-pathway-in-progress/
Sometimes, however, your skill level will be too low to even link ideas together. That's where books and tutorials can help.