Software Engineer's Library Part 0

Picking up software articles to read in the second decade of the 21st century is hard. Not because the process of reading has suddenly become more effort consuming or that we suffer from lack of interesting materials out there. Quite the contrary. Everyday we are flooded with an abundance of content that we may find interesting according to ourselves or the algorithms constantly grinding the data we sew across the web. Machine learning, blockchain, 50 new JavaScript frameworks since last week, new alternative to MVC approach - all of those screaming for our attention.

It truly becomes a daunting task to pick one topic and stick to it in the seemingly endless ocean of great content. Even if one finally decides on one of the articles and delves into it, he soon becomes distracted by a new article that has just popped up in his feedbox and with a grain of guilt, does not delve into the shenanigans of the topic he has just started to dig into, and carelessly floats off towards the next ‘cool’ thing.

I have been guilty of this approach for far too long and in order to broaden my knowledge of my professional area of interest i. e. software engineering and not fall into the hopeless cycle of link-hopping have decided to switch to paper sources for the forseeable future.

The paper sources of IT knowledge of course have their drawbacks. They are not as up to date as their digital counterparts on Medium or other sites, they often are abundant in content that is bound to become obsolete and are often very lengthy, which my smartphone-fried synapses in brain find obnoxious.

That does not mean that books do not have some advantages over their digital peers. It takes an enormous effort to compile a consistent text of length and (ideally) get paid for it. The larger technology also rarely rely on anecdotal or single problem oriented approaches that are omnipresent in the small scale IT publishing. They create a concise interlinked map of topics and issues that has been compiled by a breathing author instead of on-site algorithm. This makes them a better building block for young professional’s expertise foundation than a myriad of online articles (not dismissing their quality and freshness).

In this cycle of articles I will write a group of reviews for books on software development in general or other related topics. I hope the reviews will provide you with an easy-to-read overview of the content of each book and help you decide whether to acquiantance yourself with the title. Please excuse any injustices or errors I may commit while reviewing those (and feel free to correct me in the comments).

The first batch of reviews should appear on the blog in a fortnight. In it I will cover the classics of software management and engineering, which have slipped through my fingers back when I was a college undergrad.

Cheers,

Jan Taras