Pete On Software

RSS Feed

Archive for 'Book Reviews'

Actionable Books

Actionable Books LogoI know from just about everywhere that people just aren’t that in to reading anymore. Even when people are consuming books, audio books are a growing segment. From recent data that I looked up, the median number of books consumed per year is just 5. Half the people in America consumed less than five books last year. I typically average around a book a week. Are they all code-related? No. They aren’t even all non-fiction. I read quite a bit of fiction as an outlet for my imagination, as I watch less and less TV every year. I know that I’m not typical, so I want to try to be a little pragmatic here.

I came across a site called Actionable Books. This site has a section called “Summaries” where you can read people’s “Actionable Summaries” of books. At the time that I’m writing this, there are summaries for “1005 Top Business Books”. The way that the site works is that people read the books and they summarize the gist of the book, called “The Golden Egg”. Then, they also find two “Gems” from the book (accompanied by quotes). Here is a link to the summary of Good to Great by Jim Collins, so you can check out what I mean.

For the vast majority of business books, this site is amazing. I’ve long been a critic of these “single shot” business books. Typically, the author will have an idea that is good for 2-3 chapters, tops. After that, he’s beating a dead horse to try to hit some word count. For those kinds of books, Actionable Books is perfect. They’ll distill it down for you and you can get the idea without reading 200 pages of fluff.

For books that actually are full of value, you can read the summary and then – seeing the value – buy the whole thing. It is like a Book Review++++. So, if you are like me and like to read business books to build up your soft skills and business acumen, but don’t want to risk wasting your time with “low fat” books, check out Actionable Books.

Soft Skills: The Software Developer’s Life Manual

Soft Skills CoverSoft Skills are extremely important for developers. Ever since Brian Prince created a Soft Skills series and gave similar talks at conferences, I’ve been made aware of the term “Soft Skills” and why they are important for developers. Too many technologists focus only on coding skills and not on the other things that you need to know in order to advance your career in companies that are staffed by (believe it or not) human beings.

I even cover a few soft skills that you need in order to be considered a “professional” in my last podcast, because I think they are that important. So, when I heard John Sonmez talk on the Entreprogrammers podcast about this book, I knew I had to check it out.

The book is called Soft Skills: The software developer’s life manual, and it is a great addition to every technical person’s library. Even those who are non-technical could get a lot out of the book, but it does have a target audience of technical individuals.

Soft Skills is written so that it can be read either in one sitting or as a guide to be consulted in times of need. Even if you feel like you “know” a topic, I would still recommend reading the section, because John has such an interesting perspective on each area.

The sections cover Career, Marketing Yourself, Learning, Productivity, Financial, Fitness, and Spirit. No, I didn’t change topics; John does cover money and well-being (mental, physical, and spiritual) in this book. Developers and technical people often live very sedentary lifestyles and build up their minds at the expense of their bodies. John sees no such dichotomy.

I first became familiar with the author from his Simple Programmer blog, his Pluralsight courses, and then from his podcasts and guest podcast appearances. I am a customer of his “How to Market Yourself as a Software Developer” course and this book continues the quality material that he is known for producing. For those who are also customers of that course, there is a little bit of overlap between the course and this book, but nothing that should keep you from buying and reading this book.

Lastly, this book is a great investment. With so many technical books threatening to be out of date before they are finished printing, John Sonmez has authored an instant classic that will be valuable for years to come. Just like Clean Code, The Pragmatic Programmer, and Code Complete, this book is one that you can read and reread in order to continually improve as a person in the workforce.

I highly recommend this book.

Contented Cows

Contented Cows Give Better Milk
I got the paperback version of Contented Cows Give Better Milk 8 or 9 years ago when I was working for a large financial institution. It was popular at the time to buy these by the crate and give them to anyone who was responsible for people. So, I did like any responsible employee… and finally got around to reading it this week. Better late than never, right? I want to warn you that this post is going to run a little long because I’m going to include several quotes from the book after I share some general thoughts and before I conclude.

I’m not much of a “business book” guy. In my experience, too often these books are “educationally low fat” and more about stuff that just about everyone already knows. Even this book draws some conclusions that I had already reached, however I know that I’ve worked for many employers that still don’t “get it”. In my opinion, this books deserves the reputation it gained and I think if more employers followed its guidelines, the average worker would be considerably better off. It covers topics like employee hiring and retention, productivity, corporate reputation, and enabling employees to do something great. Let me let the authors speak for themselves. (My thoughts or interjections are in bold italic)

On Hiring

“Contrary to popular belief, there really is an ample supply of conscientious, hardworking, capable, honest people.”  “You can (and must) find others like them.  You’ve got to expend a little effort doing it because ‘eagles don’t flock,’ but they are out there.” – p.37
(I love this quote, especially the notion that “eagles don’t flock”)

On Training

“We have an earnings problem, so we’re going to work out way out of it by ‘dumbing down’ the organization with less skilled, less competent people! Now the only problem will be to find dumb customers to purchase our goods and services and even dumber investors to buy our stock!” – p.154

In talking about an organization’s fading training program for air traffic controllers…
“At some point this practice was amended in favor of a train-to-proficiency approach, and the end result is now that nobody ever gets sent home or, as our friend Alex Nicholas calls it, de-selected.  Instead, you wind up with a situation where people who would have washed out under the old system are still in training and on the job years later, and every day must have their work carefully overseen by an experienced controller.  A competent employee ends up babysitting an inept one, making them both, at best, marginally productive; and both are making the same money!” – pp. 160-161
How many of you have l i v e d this?

“Why is it that no one ever ‘flunks’ a corporate training program?” – p.165

On Corporate Policies

“If you believe that most people who come to work for you are lazy, stupid, untrustworthy, inept, and just downright contrary, that assumption can’t help but show up in the way you run your business.  You’ll have all kinds of rules and regulations designed for numbskulls who couldn’t pour milk out of a boot with the directions printed on the heel.  You’ll no doubt have a supervisor for every six or seven folks, and will inevitably attract just the kind of people who will live down to your assumptions.” – p.35

Talking about how companies make mistakes and how policies can ruin a company:
“We do it through policies that are just plain dumb; systems that treat intelligent people like they’re complete morons; and cultures which ensue that no mistake goes unpunished.” – p.168

“In their private lives outside of work, your employees are heads of families, civic leaders, army reserve officers, mortgage holders, and a host of other things. Day in and day out they somehow manage to feed themselves and their families, pay their bills on time, stay out of jail, and behave normally by most reasonable standards.  In short, they tend to be rather competent individuals with a clear picture of the difference between right and wrong.  Why then, when at work, must they face a continual barrage of not-so-subtle signs of our mistrust in them as individuals?” – p.183

“If you’re unwilling to give credence to the employer/employee covenant by taking this important step, then by all means save your time, money, and breath.  Go out and hire dummies whenever your company has a job vacancy, pay them as little as possible, and don’t even think about training them–just hire a supervisor to stand guard over every two to three people.” – p.192
Wow… I know some places where this is basically the policy!

“There was no correlation between the reviews and terminations.”  Only three out of 986 people let go for poor performance received poor ratings on their prior review. “Incredibly, roughly two-thirds of these same people had also received merit increases in the six months preceding their termination!” – p.101

On Reputation

“Organizations which don’t measure up tend to be viewed as an employer of last resort; nobody with any brains, ability, or motivation wants to work there!  When this occurs, only two things can happen.  Either the organization is forced to pay market-premium wages and salaries in an attempt to secure better applicants, or it must accept the lower quality applicants, or do both” – p. 25

“We submit that inordinately high wages, salaries, and unwarranted benefits not only aren’t the answer, they are often a large part of the problem.  Moreover, they are often used as a counter-balance or way of compensating for serious deficiencies elsewhere in the organization.” – p.93

My Conclusion

Certainly not every developer is going to have an opportunity during their career to define many of these policies at their organization. However, with that said, we should not also have our heads in the sand when it comes to business. We should also remember that a strong majority of us are not paid to make software for software’s sake. We are paid to solve a business problem. These principles can help us find good solid companies to work for as well as making sure that we do our part to make the company great while we are there via the software that we write.

Pro CSS Techniques

Pro CSS TechniquesAPress is far and away my favorite tech book publisher. You’ll probably hear (read) my say that over and over again. When I need to learn a new technology or just get better at an old one, I always look to see what APress has in their stable before venturing out anywhere else.

I’ve used CSS like the next guy. I started off just adding an in-line style or two. Then, I learned about external .css files. Then, I discovered the CSS Zen Garden and realized that I didn’t know anything. However, I still just muddled along, piecing together what I could, trying my best to separate structure from layout.

There are several good resources online to learn about CSS syntax and a few “best practices”, but nothing as comprehensive as this book. Pro CSS Techniques takes you from the base syntax of CSS to tons of nuances included in the latest version (CSS 3 as of the writing of the book, I believe). Also included are tons of “gotchas” for dealing with browser compatibility in a very pragmatic way. I would venture to say that many developers do not inherently follow the advice in this book and struggle mightily for it.

Pro CSS Techniques also includes tons of “real world”-type examples so that you can see how to put this in action. The code examples are also built in such a way so that you do work one way, find out why that doesn’t work, then correct it. I find that more helpful than just showing only 100% correct code and giving a passing explanation as to why other ways aren’t correct.

If you want to become a better web developer, want to learn more about CSS, and you aren’t Eric Meyer or one of the authors of this book, I recommend you pick it up.

High Performance Web Sites

High Performance Web SitesI’m starting to get involved in this book, High Performance Web Sites by Steve Souders. My boss picked it up and read it and had really good things to say. Then the CEO read it and was really geeked about it. So, I decided that I’d better give it more than the cursory glance that I’d previously allotted it. I know that there is a lot of push to write one’s server code to run as quickly as possible, but I feel that the subjects that this book is covering are being largely overlooked.

Mr. Souders wrote the book while he was a Yahoo employee (he works at Google as of January 7th). He is also the creator of YSlow and an expert in web performance. However, you can actually get a lot of the tips if you check out this page and install YSlow onto your machine. YSlow is an addon for Firebug, itself a plugin for Firefox. If you are doing web development, you should already know about Firebug. If you don’t, run – don’t walk – to download it and you can thank me later.

When you run YSlow, it analyzes the current page for each of the 13 points that the Yahoo Developer Network has identified as major causes of web site slowness. It assigns you a grade to each item and gives the site an overall score. For instance, this blog scores a D (65). According to YSlow, I need to add an expires header, use GZip compression, and configure ETags in order to get this site up to par. As an experiment, I may very well dig into trying to get my score up to at *least* a B! If you aren’t sure what these points mean or what I’m talking about, you should check out the links above or get the book.

The book is very well written and is grouped in such a way so that it can be digested separately by different members of a team or by one person. The appendices of the book contain case studies of several major sites using the tools I discussed above and explains what each could do to improve user experience. At $20.00 on Amazon (and used from $11 and change), every web developer really should read this book, implement it, and keep it as a reference for future development.