Process, creativity, and quality. Burn these three words into your mind while you read this book. Process. Creativity. Quality. This book may be full of exercises that teach important topics every programmer should know, but the real knowledge you’ll gain from the book is these three words. My goal in writing this book on programming is to teach you what I’ve known to be the three most important constants in software. Without process you’ll flounder around wondering how to get started and have problems maintaining progress on long projects. Without creativity you’ll be unable to solve the problems you’ll encounter every day as a programmer. Without quality you’ll have no idea if anything you’re doing is any good.
Teaching you these three concepts is easy. I could simply write three blog posts and say, “There ya go, now you know what those three words mean.” That isn’t going to make you a better programmer and definitely not a person who can work on their own as a developer for the next 10 or 20 years. Simply knowing about process doesn’t mean you can actually apply it in real practice. Reading a blog post about creativity doesn’t help you find out how you are creative with code. To really understand these complex topics you’ll want to internalize them, and the best way to do that is to apply them to simple projects.