Mike Hendrickson posted a chart showing what looks like a downward trend in sales of books to systems folks. I was not shocked by the chart. I was not shocked to see admin books falling off a bit. I *was* shocked to see that there are people within O’Reilly, people “in the know” where technical publishing trends are concerned, who seem surprised to see such a trend.
I think there are several pretty obvious reasons why books targeted at systems administrators are, and will likely continue to trend downward:
We’re writing more code
The first reason that comes to mind is that a great many of us are tired of waiting for developers to solve our problems for us, and there are lots of technologies available that are making it easy to roll our own solutions without having to dig into the guts of the systems to get things to integrate properly. In other words, we’re all becoming more developer-like than ever, and are buying more books related to that aspect of our jobs.
A great many admins know Perl, and that used to be the primary language for writing web-based applications. The emergence of Ruby, Python, and PHP as mature web development languages that are also very easy to work with have made admins take a look at turning to web-based tools to solve some of their problems. This has forced them to work not only with the scripting languages themselves, but also the databases and other interfacing technologies like SNMP, LDAP, NIS, DNS, and whatever else holds data of interest to sysadmins. For evidence, simply look around at how certain classes of admin tools are evolving: even where they aren’t browser-based, they are web based. Red Hat’s entire Red Hat Network is an XMLRPC-based web service written in Python. Splunk, Nagios, Ganglia, - all architected around web services and/or web based interfaces.
Furthermore, I think projects like Puppet (written in Ruby, by the way - by a sysadmin) show that administrators are tired of developers coming up with unnecessarily complex, convoluted solutions to our problems. We’re taking the bull by the horns and doing it ourselves, to the extent that we can. Those that aren’t writing full-blown tools from the ground up are probably busy writing all the glue code to make existing tools integrate properly or make them do something else properly (developers rarely write thorough, complete code for sysadmin tasks - I’ve contributed code to various projects to help them get LDAP right, for example).
In short, admins like base technologies like DNS servers, database servers, LDAP servers, log servers, and the like. But we *need* tools to help us make decisions faster. We have more data than we can reasonably boil down and use to make decisions before that data becomes irrelevant. We need tools that not only monitor and alert, but we need further aggregation, integration, automation, to help us make decisions about what’s going wrong today, what we’ll grow out of tomorrow, and how users are using our services. There’s still tons of development work to be done.
Another reason for the development shift is outsourcing. Lots of administrative tasks have been, and to some extent are being, outsourced. Of course, coding jobs have also been outsourced. What’s an admin to do? Well, I’ll tell you what lots of admins are doing: first - they’re hanging on to the jobs they have, which means they may be dealing with technology in a more evolutionary way rather than being forced to get up to speed on a particular technology for a new job, as may have been the case in the days of the bubble when turnover almost certainly was greater in our field. Second, they’re broadening their resumes to become more well rounded. Some may even chase after technologies to put on their resumes, or they may go after technologies in use by companies they’d like to work for. Many of these may be code-centric.
We’re not all moving toward development.
The plain fact of the matter is that, as data centers across the globe have matured, gotten bigger, more difficult to manage, etc., companies are forcing administrators into smaller and smaller pigeon holes. These days, generalist administrators seem to be working almost exclusively in shops where there are fewer than 10 administrators. Shops much bigger than that now employ for very highly specialized positions like “mail administrator”, “backup administrator”, “storage administrator”, “network administrator”, and the like. In other words, if there were ever large numbers of administrators who all needed a broad, deep knowledge (read: lots of books!), that’s no longer the case.
Alas, the chart lacks quite a bit of data that might also be helpful in understanding what it’s trying to say. What has happened to the job market? Is there still such a flow of admins into the job market that the market for these books could reasonably be supported? Have the books kept up with new technologies in administration? Have they at least kept up with newer versions of older technologies? Finally, what are the publishers doing to foster growth in book sales in these areas? Heck, I was at O’Reilly’s “OSCON ‘06″, and there was just about *nothing* there to attract administrators, unless O’Reilly also believes that we’re slowly starting to focus more on writing code and data storage, in which case, this chart should contain *zero* surprises! :-)
Publishers are part of the problem, too!
Not to harp on the publishers, but admin documentation, as currently published in books, is really only useful to a point. Generalist administrators who have been working in the field for less than 3 years can find more books than they could ever read, and receive tons of knowledge. There’s a decreasing rate of return, however, for admins who pass the 5-7 year mark (depending on environment). There are few books for admins beyond the 7 year mark, because a whole lot of what we deal with starts to become more about site-specific special cases that aren’t covered in most books. Even classics like the BIND book, and the bat book, have occasionally failed me due to some special case or another.
All of this doesn’t account for areas where the publishers have just flat-out failed administrators. The only *really good book on LDAP is over 1000 pages in size, and not put out by O’Reilly. The O’Reilly LDAP book is good, but it’s not an LDAP book - it’s an OpenLDAP book. SNMP is another extremely useful technology that has received disgustingly poor coverage. Many of the books on the topic are either too specific (SNMP over Wi-Fi, for example), outdated (some books were never updated for SNMPv3), or too focused on using specific tools instead of understanding and using the technology - which is where I felt the O’Reilly SNMP book fell down. There are, meanwhile, very few books that cover things like cfengine, LTSP, PXE/syslinux, and the like, in the detail they really deserve and warrant… and need - if these technologies are going to be made useful to a wider audience.
And what about the new technologies? There are new DNS servers, new automounters, new automation frameworks, new linux server distributions, more new tools, more databases, more systems programming interfaces, and more languages to use with them. Where are the books? Did we *really* need another SQL Book? There’s a whole shelf of them! Where’s my “Python for Systems Administrators”? Where’s my “CFEngine: the definitive guide”? Where’s the follow-up to probably the best-selling sysadmin book in 5 years “Time Management for System Administrators”? Do you *REALLY* think time management is the only soft skill lacking in the sysadmin community? Scour the self help and business aisles, grab a few books on negotiation, business logic, sun tzu, and self improvement, throw “for Systems Administrators” or “For geeks” on the end of it. Some of them will do well.
I could go on like this for hours, but I should probably let everyone else chime in before their lunch hours are over :-) I just want to say that I think we should’ve all seen this drought coming, and I, for one, am pretty surprised that it’s not more pronounced.