Over the years I’ve collected a pretty extensive library of books. With the majority of them being about software development or a closely related topic. But once every while I find myself reading something totally different. The following is an updated list of non-programming books that made me a better programmer.
Why We Sleep
For as long as I’ve been in software development there have always been developers around me who seem to have their brightest moments during the night. There is always that guy making commits at 2 AM. Granted, working at night does have its advantages. There are a lot less distractions and the bright screen seems to keep you awake pretty well, besides the caffeine I mean. Whether it is beneficial to your code or not, not needing a lot of sleep somehow seemed to be a cool thing as well.
But oh boy, bad things happen to your body when you’re getting less than 7 hours of sleep a night. Neuroscientist Matthew Walker describes in a very approachable manner the effects that sleep has on our creativity, memory, decision making, eating habits and more. Even scarier is the increased chance for Alzheimer’s disease.
In the long term good work doesn’t come from working till late at night, for me it comes from a well rested mind. After sticking to a more regular sleeping schedule I noticed that good sleep was the one thing that influences about everything. I had more energy, it was easier to focus, my mood became better and I got way more done while being less stressed.
- There is nothing lazy about getting enough sleep and not getting up early. Genetically there is actually such a thing as morning and evening people.
- Not getting enough sleep is terrible for your immune system. It also more than doubled your chances of getting cancer.
Eat That Frog
Whatever your definition is of time management, you’ll likely need to do some of it. There is quite some dry material out there with regard to time management. But in my opinion this book does a great job in cutting out the unnecessary stuff and delivers practical advice on just a couple pages per subject.
Procrastination was kind of my thing and I took some pride in it too. But doing things last minute mostly leads to stress. While that stress can give you a great rush, at some point it just gets exhausting. In the book are 21 tools to help you become more productive. You’ll likely don’t need all of them but some will certainly help you on a daily basis.
- Do the most important task early in the day. You will feel great for the rest of the day, instead of anxiously looking forward to something big.
- Don’t try to do too much important task on a day. Stick to a maximum of two important tasks.
The 4-Hour Workweek
Despite the title, if you like your job and aren’t necessary looking to work 4 hours a week this book is still a good read. Out of all the books this is the one that might have influenced me the most and I revisit it for a re-read every now and then. This book covers a wide range of topics, you can use the tips and tricks to retire early and travel around the world. But for me the most important takeaway was the notion of effectiveness. Instead of increasing the input hours focus on your per-hour output.
Efficiency is important, but what you’re doing is always more important than how you do it. Most of the people who get more done than you don’t work harder or more, they work on the right things.
Another key concept of the book is automation. As a developer this was hard not to get excited about. From scripts that write boring statistics to spreadsheets to this blog article being automatically deployed by webhook to Netlify. There is just a feeling of satisfaction you get when you can just blindly ignore something knowing it gets done.
- Put your energy and efforts in the things that actually matter.
Power of Habit
Since starting my first full-time job as a developer I picked up a couple bad habits along the way, and I am talking about everything from debugging with console.logs/print statements to having a terrible diet. Phasing-out the bad habits overtime can be challenging. You can start off great, but before you know it you fall back in your old patterns.
Turns out there is a science to this. And often it is easier to trick your mind into taking on a better habit than trying to fight it off.
- Meaningful goals are achieved by discipline and consistency. Turning things into a habit makes the hard work maintainable.
How to Win Friends and Influence People
The title was a bit off putting for me before buying the book. But since it seemed to be somewhat of a classic I gave it a try anyway and wasn’t disappointed. I did have the feeling it was written more with a management type of person in mind as its reader. However, since you will work together with others at some point, getting advice on relations with others can’t hurt. Although all principles in the book are not ones you couldn’t have come up with yourself, it is nice to get them in a comprehensive list form.
A lot of issues and frustrations that come from code are personal opinions. While the actual code has been someone else his or her hard work. So the general advice here is; don’t let pull requests drag you into a hostile place.
- Don’t criticize or complain as a first response.
- Give sincere appreciation.
It Doesn’t Have to Be Crazy at Work
For way too long I thought that if you’re not doing stand-ups and two week sprints you’re doing software development wrong. It so happens that the people at Basecamp have a totally different view on software development and seem to get an incredible amount of work done. Lucky for us they wrote a book about how they do it.
They have a clear stance on what they think work should be. Instead of the two week rushes they opt for sanity and calmness in the office. Emphasizing that you should be protective of your time. Working 8-hours of work a day is plenty to get a whole lot done. That is, if you’re not spending half of it in irrelevant meetings and answering Slack messages.
Whether it is or isn’t crazy at your work. It is good to know there are multiple ways to approach software development and be successfully doing so.
- You will likely get the most done when you have long stretches of uninterrupted time to work.