All of the resources below are ones I’ve used myself and found helpful in my coding journey. Given when I was initially learning to code I was balancing this alongside being a doctor full time, I really only stuck to resources that were completely free of charge and worth my time. I’ve continued with this mentality since. I’ll try to update this page regularly.
Contents
Intro to coding 🚀
- CS50 - I tried various online courses when I first picked up coding. I’d been warned about getting stuck in tutorial hell, so I was wary about committing to finishing a full course. But this course is definitely worth completing - it focusses on the fundamentals of programming rather than a particular language, and is project-based. It set up a strong foundation for me to go on to learn other languages and concepts, and it’s the only course I’ve found so far that I’d recommend someone does in full. And it’s completely free. There is now an in-person version of CS50 held at Oxford University.
- FreeCodeCamp - They have loads of free articles, youtube videos and a podcast. The free course they offer is more focussed on front-end, and I felt it didn’t go into enough depth in the explanations so I didn’t stick with it, but I did use it to get the basics of HTML, CSS and Javascript.
- GitHub/Git - I wrote this short article on the basics of Git/Github, but there are loads of resources online, including a lot of youtube videos which walk you through things step by step.
- CodeFirstGirls - This is an organisation that offers a range of courses. I got my first software engineering role through their nanodegree course. They also do a few MOOC courses on various topics which are good as an introduction to new concepts.
- The Absolute Minimum Every Software Developer Must Know About Unicode in 2023 (Still No Excuses!) - Nice article on the basics of Unicode, based on a famous older article written in 2003.
Computer systems fundamentals 💻
- Nand2Tetris - This course is really great, as you actually go through the process of building a computer from first principles using their online simulator.
- How Do Computers Remember? - Really nice video explaining how computers store information on a low level.
- Exploring how Computers Work - Comprehensive short video explaining how computers work.
- System Design Concepts Course and Interview Prep - FCC - A nice concise video covering the basics of system design.
- Teach yourself CS - A comprehensive guide to self-studying computer science. I started reading a few of these books including Computer Systems: A Programmer’s Perspective. It’s quite heavy and assumes a basic understanding of C, including a lot of mathematical concepts. However, I have drawn on knowledge gained from it to understand why certain things work the way they do in code, especially in Rust. Over the course of my future career I aim to cover most of these books.
Rust 🦀
- Rust Book - The official Rust programming language book. Have seen mixed reviews, but I found it really useful to get a good grounding in the core concepts (but I’ve always loved learning from books.) I started doing it alongside Rustlings exericses to consolidate my learning.
- Rustrover Learn Rust course - This course is part of the RustRover IDE. It’s basically a more condensed version of the Rust book, with the Rustlings exercises built in. I found it was useful to go over the core concepts again after reading the book, and I completed this course in full.
- Effective Rust - A free book to follow on from the main Rust book, which is designed to be the second book you read after the Rust book, and focusses on specific concepts which people often struggle with.
- Programming Rust - I’ve only just started this book, and have used it more as a reference book. It’s supposed to be a more in depth version of the Rust book with deeper explanations. It’s good so far.
- Rust for Rustaceans - Another book to follow on from the Rust book. Again I’ve only just started this book, but it has good reviews.
- Half hour to learn rust - A short article to learn the basics of Rust, or to go back over the basics.
- Traits and You: A Deep Dive — Nell Shamrell-Harrington - A nice video explaining the basics of traits using D&D as an analogy (but note the syntax is slightly outdated as it uses a previous rust version).
- Women in Rust - A supportive community for women interested in Rust. Check it out!
- Starting Rust in 2025 - A recent article on how to get started with Rust with signposting to up to date resources.
Youtube channels 📺
- Crust of Rust playlist
- Lets get rusty
- No boilerplate
- Women in Rust
- Ben Eater - a channel with a lot of great videos on low level stuff.
- Fireship
Podcasts 🎧
General
- The FreeCodeCamp Podcast
- The Changelog
- Two’s Complement
- Kopec Explains Software
- Coding Chats
- Code Newbie
- The Scrimba Podcast
- Self-Taught Devs