Every coding project I ever did (and what I learnt)

From doctor to data scientist in 25 months

How’s it going?

This week I’m sharing details on every project I did from knowing no code at all to getting my first data science job. I did these in free moments alongside working as a doctor, so I’ve also shared time spent on each project and overall timelines.

Yesterday, I shared a video explaining the YouTube algorithm I created (my most recent project). I’ve written a blog post about this previously, but I’m keen to use video format to make more engaging project descriptions in the future.

I’m hoping that by sharing my projects I can help people on their coding journey to (i) come up with new project ideas and (ii) better plan their journey of building technical skills.

Hope you’re having a great week,

Chris


🛠 Every Project and Course I Ever Did

(1) The Javascript Road Trips 1, 2 and 3 — CodeAcademy [COURSE]

  • Date Completed: Jan — Feb 2018

  • Time Committed: ~30 hours (roughly 2 evenings per week for 4-6 weeks)

  • Link: Here (now on Pluralsight).

When starting off, I had no idea where to begin. I wasn’t even sure what coding language to learn.

So I googled something along the lines of “Best coding language to learn 2018” and Javascript and Python seemed the most consistent top answers.

I decided to start with Javascript, looked for a course online and found this one.

Main takeaway(s):
  • It’s more import to start learning than to start learning the “right” language. In retrospect, I should have started with Python (I have used it way more since). But this course taught me so much about object-oriented programming, which is relevant for many languages, so absolutely wasn’t a waste of time.

🐍 (2) Python for Data Science — DataCamp [COURSE]

  • Date Completed: March 2018

  • Time Committed: ~30 hours (roughly 2 evenings per week for 4–6 weeks)

  • Link: Courses 1, 2 and 4 from this learning track.

This was a great course for introducing the basics of coding for data science; numpy, pandas and matplotlib, which I still use heavily to this day.

Main takeaway(s):
  • When learning a new coding language or library, it’s important to build a reference of the functions you learn. I’ve lost count of the number of times I forgot and re-remembered (via Google) how to index into pandas DataFrames. The moment you have somewhere to refer each time (whether that’s your own notes or a ‘CheatSheet’ like this), life gets a whole lot easier.

💬 (3) Text Analysis Tools [PROJECT]

  • Date Completed: April 2018

  • Time Committed: ~20 hours (roughly 2 evenings per week for 4 weeks)

  • Link: I shared what I can on GitHub here.

While working part-time at a health-tech start-up in south London, I had the idea to make tools for analysing text. The company provides home care and they had a lot of unstructured text reports from visits. 

I wrote code to perform various basic functions such as (i) split long reports into individual sentences, (ii) to count frequency of words to understand common topics and (iii) to create a .txt file that could be used for a language model (a later project).

Main takeaway(s):
  • Get started with projects as soon as possible (no matter how small or unimportant). Looking back, this was a really simple project that I could probably do now in less than 10 minutes. At the time, it took me much, much longer. But in the struggle of figuring out how to properly import a .csv file, define functions and execute loops, I learnt so much that I couldn’t have learnt in a course environment.

I don’t want to share them all in this email (there are 17 projects in total), so if interested check out the rest here.


This week’s video: Coding my own YouTube algorithm

In this video, I walk through creating my alternative YouTube algorithm.

I’m keen to make cool documentation-type videos of projects I work on, to help share learnings.

This video was just me talking through things, I’m thinking about how to make them more engaging for the future. I’m thinking (i) realtime snippets of me writing the code, (ii) more demonstration of results, (iii) more of a narrative as I go through the project, etc. (let me know if you have any suggestions)


🌟 My favourite things

  • Paul Graham shares some interesting ideas in this article about how to think for yourself, such as the three components to fostering independent-mindedness and how the most important thing is probably genuine curiosity.

  • I’m a fan of Cal Newport’s recent articles about rethinking the internet; how we could take back control from social media and re-create an internet we love on our own terms

  • I re-read this great article from Mr. Money Moustache. My favourite part: “So to go from “broke” to “rich enough to retire early” in just ten years, each person has to make 40 successful ten dollar decisions each week.”


💌 Enjoy this email?

Please click the heart below, and forward the email to a friend!

Share

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.