There’s no doubt about it, when you’re beginning learning to code there’s nothing that can beat getting your fingers on the keyboard and just coding. That said, when I started coding, sometimes I just needed something that wasn’t on a screen but that was still going to teach me something, or things to read on a plane or a bus, so I started looking for books that would be relevant.
I love reading and I love finding and owning books, so I’ve ended up with a growing collection over the last few years. Here are 5 that I would recommend for the start of your coding journey.
This is a really well presented, comprehensive but also accessible introduction and reference to HTML and CSS. It goes from explaining how websites are created and how the web works, through to brilliant, well explained examples for the important HTML elements (including a full reference) and demonstrations of how CSS can be used to style your page. I particularly like how it doesn’t just explain how to do things, it explains why, with attention to accessibility of your site, responsive design and user needs and requirements.
Also, it’s made of fancy paper and smells really good.
This book is amazing! You can read this book even if you haven’t decided what programming language you want to learn, or taken any other steps. Petzold begins back at the dawn of time (or at least, the dawn of industry) when relays and telegrams were first invented, and traces through how the modern computer came to be developed from the simple principle of a binary signalling system.
I absolutely love how he approaches coding and computing from a perspective of historical continuity and genuinely makes it possible for you to comprehend the inner workings of the machines which we so often find completely magical and mysterious.
Another wonderful book that, like Petzold’s Code, takes something that seems overwhelmingly complex and breaks it down into a series of simple ideas that prove hugely enlightening. It starts from the premise that computers are actually not that clever: they can do a few very basic things (such as adding, subtracting, moving and remembering pieces of data) very very quickly. It assumes nothing, explaining terminology as it goes, giving lots of analogies to help you visualise what’s going on, and keeps concepts really short and straightforward, making it a great book to dive in and out of.
I’ve included this one because I thought it was a really fascinating discussion about how people come to master a skill. You might have heard of the 10,000 hour rule, and of fixed versus growth mindsets (if not, google them), but this book expands and adds to these ideas with lots of examples of historical figures who mastered their domains and lots of practical advice for success in your field. When you embark on a completely new and challenging area of learning, I think it’s important to do so in a metacognitive way, which means being reflective and conscious about the learning process, and this book (amongst others) really helped me do that.
Read more on the Northcoders blog