The author seems to concentrate on the link between computer science and software/development, but I do think that CS helps in a couple non-tech areas as well. The ones I can think off the top of my head are being able to break large problems down to their component processes, being able to foresee the effects manipulating those processes can have, and being able to effectively communicate with others (both technical and non-technical) about your work. Those characteristics and thought models aren't unique to CS, but play a key role in the science and engineering fields in general. A field that requires the application of mathematics and logic will tend to produce or attract people that value rational and procedural thought.
> The ones I can think off the top of my head are being able to break large problems down to their component processes, being able to foresee the effects manipulating those processes can have, and being able to effectively communicate with others (both technical and non-technical) about your work.
I have an education in CS, but I haven't actively developed software myself for quite a while. However, I've found that this particular point is very true. I find myself working with people, quite smart people, from very different educational backgrounds quite often. The ability to break a problem down the way that C.S. teaches is something that seems like magic to them. In at least two cases, I've been able to make some nice consulting fees simply walking people through this process which seems completely obvious to me.
On a higher level, I wonder how many regular old life problems, like deciding which car to purchase, or allocating employee resources, ones that seen absurdly obvious to people with a similar education/training background, completely stymie folks who haven't had this education. Experience with some of my friends who seem to habitually make absolutely terrible life decisions and one my few advisory consulting gigs tells me it's actually a bigger problem than most people thing.
Reducing a new problem to a special case of another, already solved problem is a wonderful skill. Not to mention that the analysis of algorithms can help you discern, at least conceptually, between best-case, average-case and worst-case outcomes to problems that aren't necessarily algorithmic, and react or plan appropriately.