97 Things Every Programmer Should Know
97 Things Every Programmer Should Know is a collection of advices from programming or software gurus.
Each topic is only two pages long and easy to read.
If you are a programmer, then you are very likely to find at least a handful of pages that are useful to you.
I always have a few principles about programming practices and a couple of them in this book reinforces my opinion.
Let me just highlight some of the content in this collection of experienced programmers.
Before You Refactor
Rajith Attapattu highlighted factors to consider before taking the plunge to refactor code, be it for using new technology or even personal ego.
I always follow the rules : If it ain’t broke, do not fix it.
Beware the Share
Udi Dahan advises : Beware the share. Check your context. Only then, proceed.
Not all the time code reuse can be applied. Libraries need to be independent and not increasing dependencies of code.
Code in the Language of the Domain
Dan North preaches for programmers to understand how to write good code and understandable for other programmers.
The programmer who comes along a few months later to work on the code will thank you. The programmer who comes along a few months later might be you.
Client Shank talked about the importance of continuous learning.
Some employers are generous enough to provide training to broaden your skill set. Others may not be able to spare the time or money for any training at all. To play it safe, you need to take responsibility for your own education.
Fulfill Your Ambitions with Open Source
Richard Monson-Haefel suggests programmers to participate in Open Source as there are enormous oppurtunities for the motivated programmer.
Chances are pretty good that you are not developing software at work that fulfills your most ambitious software development daydreams. Perhaps you are developing software for a huge insurance company when you would rather be working at Google, Apple, Microsoft, or your own startup developing the next big thing. You’ll never get where you want to go developing software for systems you don’t care about.
Fortunately, there is an answer to your problem: open source.
Hard Work Does Not Pay Off
How interesting but true! Olve Maudal hits right at the target that programmers find that working hard often does not pay off. He advises programmers to find smart solutions, improve skills and reflect on one’s work instead of behaving like a hamster spinning the wheel in a cage.
As a professional programmer, you must keep yourself updated in your field of expertise—just as brain surgeons and pilots are expected to keep themselves up to date in their own fields of expertise. You need to spend evenings, weekends, and holidays educating yourself; therefore, you cannot spend your evenings, weekends, and holidays working overtime on your current project. Do you really expect brain surgeons to perform surgery 60 hours a week, or pilots to fly 60 hours a week? Of course not: preparation and education are an essential part of their profession.
This book also has a Table of Contents page by Category for ease of reading. The short two-page concept also made it good for read during short breaks or while you’re on-the-go.
Among the categories highlighted, the expert programmers also advises on Testing and automation, Programming Languages and Paradigms, Teamwork and Collaboration.
Besides the valuable 97 topics from experienced practitioners in the industry, the topics are not any programming language specific and thus can be applied for any programmers.
If you are a programmer by profession, and would like to be better programmer, this book is definitely for you.