2015 in Books: Programming
I love reading! You get to travel to faraway places, live adventures in wondrous worlds of magic, save the day, make amazing friends and watch them grow, learn, there’s few things that ignite slow, deep, reflective thinking as books do, borrow from the greates minds of all times, or from people that have invested years of experience and research to bring you that knowledge condensed in a few pages.Yeah… all that…and it’s fun :)
These are the programming related books that I read this year. Perhaps something that’ll be of interest to you?
RESTFul Web APIs: Services for a Changing World
RESTful Web APIs was one of my favorite programming books during 2014-2015 (I remembered I finished it some time early on January 2015 because I was planning to write a series of blog posts about REST which never saw the light of day XD).
The book explains REST thoroughly, heavy on the theory, in a platform agnostic way and with a strong focus on hypermedia and HATEOAS. It talks about the challenges of creating self-describing and self-documenting APIs and takes you through the different options you have available from domain specific media types to more generic hypermedia types. It details great guidelines on how to design RESTful APIs and pitfalls that you want to avoid, and also guides you through the HTTP specification particuarly in relation to web APIs. Excellent book! I’ll probably read it again soon :)
I particularly enjoyed Appendix An API Designer’s Guide to the Fielding Dissertation in which the authors briefly summarize and explain Roy Fielding’s Dissertation. Paper where the architetural style of REST was first described. More or less a summary of all the things that make the web awesome and how to take advantage of that to create other distributed systems as successful as the web.
Test Driven Development By Example
I have been doing TDD for a long time but I hadn’t read Kent Beck’s seminal work on TDD until last year. Great book. It gave me a completely different angle on TDD that what I had known up until that point. I wrote an article about the book earlier in 2015.
Microsoft Certification Books
During the first part of 2015 I took the different certifications required to become a MCSD in Web Development. I used these three books to prepare for the exam and they proved very useful in getting an overview of the different topics that were included in each of the exams:
- Exam Ref 70-480: Programming in HTML5 with JavaScript and CSS3 - Rick Delorme
- Exam Ref 70-486: Developing ASP.NET MVC4 Applications - Willian Penberthy
- Exam Ref 70-487: Developing Windows Azure and Web Services - Ryan de Kort Milton
Soft Skills: The Software Developer’s Life Manual
John Sonmez is a machine of making stuff and creating content. He is doing a great job increasing awareness about the importance of marketing and branding and he wrote Soft Skills to help developers become even more awesome. The book is a compendium of a lot of different topics with things that you can do to make your life a little bit better: career, finances, exercise, productivity, etc, etc.
I think we read a lot of the same books, so for me it was a summary of a lot of things I have already read about. But it is a great book nonetheless. It’s also a very light read so check it out!
OOCSS And SMACSS: Scalable and Modular Architecture for CSS
This year has been big on CSS, LESS and SASS for me. I have been doing a ton of front-end work and I wanted to learn more about OOCSS and how to write awesome and maintainable CSS. SMACSS: Scalable and Modular Architecture for CSS provides a great guide to writing better CSS. Combine it with a couple of articles on OOCSS, BEM and the new Lea Verou’s book and you are good to go :).
Programming JavaScript Applications
Eric Elliott writes awesome articles on different facets of JavaScript and has made great contributions to the JavaScript community. He also wrote Programming JavaScript Applications: Robust Web Architecture with Node, HTML5 and Modern JS Libraries and so I had to read it (I am reading like all JavaScript books there are).
I have mixed feelings about this book, it has a ton of interesting ideas, concepts, recommendations but in some parts it feels a little bit superficial, like it is too broad and not too deep. It is a short book though so definitely read it, you’re going to learn a lot of stuff and get a lot of pointers to where you can continue learning more. The code examples include node, browserify, grunt, backbone and express.
Bonus: History of Scrum
So I was browsing Audible earlier in 2015, a little bit tired, thinking about selecting something easy-going as my next audio-book and I saw The Art of Doing Twice the Work in Half the Time. I bought it and started listening to it on my way to the gym. The narrator started introducing the book and said, all of the sudden, Scrum: The Art of Doing Twice the Work in Half the Time. And I was… what?! Did I just buy a book about Scrum??? hahaha.
Even though I have worked with Scrum for a number of years both as a developer and as occassional ScrumMaister it turned out to be a pretty interesting book. It was great at relating the history of Scrum and its tenets from a different point of view to what I am accustomed to:
In this book you’ll journey to Scrum’s front lines where Jeff’s system of deep accountability, team interaction, and constant iterative improvement is, among other feats, bringing the FBI into the 21st century, perfecting the design of an affordable 140 mile per hour/100 mile per gallon car, helping NPR report fast-moving action in the Middle East, changing the way pharmacists interact with patients, reducing poverty in the Third World, and even helping people plan their weddings and accomplish weekend chores.
And to wrap it up, these are a couple of books that I was unable to finish before the year’s end. Both of them super interesting so far and very recommended:
- Functional JavaScript - Michael Fogus
- Reactive Programming with Rx.js - Sergi Mansilla
Written by Jaime González García , dad, husband, software engineer, ux designer, amateur pixel artist, tinkerer and master of the arcane arts. You can also find him on Twitter jabbering about random stuff.