Are Programming Books Worth the Time and Cost?
I have tried every form of learning when it comes to programming: I have tried books, online courses, and university courses. I have taken purely video-based classes like those offered by Udacity and I have taken interactive classes offered by Codecademy.
But are programming books worth it? Here is the simple answer:
Programming books are only worth it if they meet two qualifications. The first qualification is the book is well-organized, clear, and does not put you to sleep. Ideally the book has such high quality that the book delivers better than its competition at a better price. The second qualification is the book delivers the exact information you need to know in your present programming career. The book meets your needs exactly and does not overwhelm.
Let’s take a moment to unpack this statement and detail what it takes to find a good programming book that is actually worth the time and cost.
Identify Well-Written Books
Well-written books are hard to find. Because of this, we have grown accustomed to a low standard, thinking that we are dumb instead of the book. To this day, we see books as highly prestigious and question ourselves before we question the book.
A well-written programming book is…
Engaging. The writing style is conversational and intriguing. You find that you are naturally sucked in.
Skimmable. Avoid books with walls of text, which are meaty paragraphs chunked consistently at the same size. We naturally notice contrast and we feel bored by uniformity. Look for paragraphs of varying size, with diagrams and lists sprinkled in, and lots of headers and signposts to mark where you are.
Dense. Avoid fluffy, verbose books. Strong writing gets to the point.
Well-organized. The table of contents makes logical sense. By reading the table of contents, you get a sense for the whole ‘story’ of the technical book. The buckets are clear and logical.
Scoped specifically. Almost all programming books identify its ideal reader in the first chapter. A red flag is a book that says the book is for both total beginners, intermediate programmers, and advanced programmers alike. A book that shoots too broadly tends to work for nobody.
For more information about what makes quality books, I share more in my free email course, How to Make the Most from Technical Books.
Identify Your Needs
Before you read a technical book, you need to identify what you want from the book and whether the book can provide it.
But what are your needs exactly? This can be hard to identify if you have very little working experience. If you have no knowledge to begin with, you may not be able to properly assess a good programming book.
Which leads me to the key to figuring out what you need:
Have a real-world problem you want to solve.
Programmers program. That’s the way things are. The craft of programming is a lot like building a fence. When you build a fence, you start with the end goal of the fence: you have a vision for what you want to make, and then you work backwards.
When you program, you have a specific goal — something you are building. When you begin to build, you build an understanding for the problem you are trying to solve.
If you are a total beginner, the internet should be your first resource. FreeCodeCamp, Codecademy, and many other resources are free. I list over 70 free resources for beginners in this article.
The way our brain works, we are challenged to convince ourselves to learn something if it does not have an immediate, practical application.
You must code first — code, even if you hardly know anything — and learn to identify all that you do not know. When you try and fail, you have primed your mind to be thirsty for knowledge.
Once you have questions, you can find answers.
But if you are general — like “I want to learn CSS” — if your why is not strong enough, the book you buy may not be worth it. In fact, once it’s delivered, without a burning desire, you may never pick it up from your nightstand.
Once you have identified your needs, you can skim the table of contents of a book and a few paragraphs to see if the book is offering the exact solutions you are seeking.
Identify The Competition
Books can be great for when I’m away from my computer — when I want to slow down and think through problems and concepts in a deep way. But sometimes, interactive courses suit me better.
You may want to explore other popular platforms like freeCodeCamp, Codecademy, Udemy, or Coursera for similar courses in the area you want to learn. You can assess their syllabus, trailer, or whatever information they offer.
From there, you can look at the cost and ask yourself the following questions:
What will provide me more value? What is the cost of the course vs the cost of the book? Based on what you have researched, is one resource more quality than the other?
What do I need right now? Based on the needs you identified, which resources fit better? Consider your learning style as well. Do you spend a long day at the computer and want another format to take with you during the hours before bed?
What am I more realistically going to commit to? This is important. Be frank with yourself. Are you actually going to read the course or read the book? What do you need in order to ensure your commitment?
What is my time and cost budget? If your budget allows, perhaps you want to buy both the book and the course. Differences of format can help reenforce your learning. Also, if your budget is tight, perhaps you want to explore free options until you can fully justify the cost.
In the end, you are always taking a leap. Once you commit to your cost investment, you then need to invest your time.
Ultimately, books are about extracting the exact value you need for your present programming career. Books are not about aspirations. They are about the present — solving real programs that you are really working on as a programmer.
Books are not mythical. Books are capable of failing.
But a great book can be transformative. I decided I wanted to become a developer after reading a book — no joke. Books can be priceless if they are at the right place and the right time.
If you want to learn more about getting the most from programming books, I designed my free email course just for you.
And if you want to learn more about choosing the perfect programming book for you, this article gives you even more details. I look forward to seeing you in that article and I hope you have a wonderful day. 👋 😁