14

The book 'Peopleware: Productive Projects and Teams' by Timothy Lister and Tom DeMarco makes an unreferenced claim that:

"The average software developer, for example, doesn't own a single book on the subject of his or her work, and hasn't ever read one."

The claim is notable because Peopleware is an important book in the Software Engineering field, regularly featuring in lists of important or influential programming books and has been repeated in other highly regarded books such as 'Code Complete' by Steve McConnell.

The claim has also been referenced elsewhere by leading industry figures - such as on StackOverflow founder Jeff Atwood's Coding Horror blog (citing Peopleware as a source. In this same post he also claims two books which make this claim - Peopleware and Code Complete - are in the top five books every programmer should read).

There are several possible inteperetations of this claim based around what "average software developer" and "the subject of his or her work" means but for the purpose of this question I have interpreted this claim to make 2 distinct claims:

  1. More than 50% of practicing professional software developers don't own a book on software development.
  2. More than 50% of practicing professional software developers have never read a book on Software Development.

Are either of these claims supported by evidence?

Edit: As @ChrisW mentions below - this book was first published in 1987 and so is dated. But the book (and claim) are still referenced widely. I'm interested in either the historical accuracy of the claim (and would accept research conducted around the same time as the book showing this to be true/false) or whether these claims are true for the modern state of software development.

combinatorics
  • 494
  • 1
  • 4
  • 11
  • 8
    *Peopleware* was written in 1987. Is there anyone who believes that it's a claim about software developers today? I don't. – ChrisW Jun 11 '15 at 13:40
  • 1
    When I started work as a trainee programmer, my employer lent me a copy of Kernighan and Plauger's [The elements of programming style](http://en.wikipedia.org/wiki/The_Elements_of_Programming_Style). I was also given access to other books. You could say I didn't *own* a book on software development. Now I own many books but never read them because - Internet. (Except maybe Effective Java by Bloch - which undermines the point of my anecdote a little). – RedGrittyBrick Jun 11 '15 at 13:51
  • 1
    @ChrisW Good point. I have updated the question to reflect that I'm interested in both the historical and current state of software engineering. I am in agreement with you that this probably isn't true today but I would be very interested if someone could provide evidence to the contrary. – combinatorics Jun 11 '15 at 13:53
  • 1
    I didn't for example read Yourdon's Structured Analysis book: I learned the subject by my employer's sending me to a week-long seminar run by a training company who taught it. I learned programming languages by reading the manufacturer's manuals. I didn't begin to read many books (even now-famous ones like _The Mythical Man Month_ for example) until the '90s when I began to hear about them from people posting on the internet or wherever. – ChrisW Jun 11 '15 at 13:59
  • I'm afraid this is an unfalsifiable claim. – George Chalhoub Jun 11 '15 at 15:51
  • 1
    @GeorgeChalhoub I would consider an academic publication of survey results from members of a software development professional body showing that > 50% of respondents reported owning a book on software development to be sufficient evidence to prove that the claim is false. – combinatorics Jun 11 '15 at 16:05
  • In 1987 I was a professional software developer and had probably never read a book on software development. Almost all of us had Math/Science degrees, and picked up the programming as we went along. – DJClayworth Jun 11 '15 at 16:24
  • yeah, this was before it was easy to get a degree in programming through practically any college in the states, And as the self taught programmers are finding out, the degree is getting the job over the skilled with no degree applicant, and getting the degree generally means you have look at a book at least once. – Himarm Jun 11 '15 at 19:08
  • 1
    I think they may be referring to "Software Development" as the ongoing series of fads for somehow structuring/regimenting the development process, rather than books on languages or tools. In which case it might well be true: I own perhaps hundreds of programming books, starting with my venerable copy of K&R, but none on 'development', since the few I've skimmed/borrowed seemed to offer nothing of value. – jamesqf Jun 11 '15 at 19:09
  • 1
    "subject of their work" is ambiguous. I don't think it should be considered "software development" in general. I'd interpret that as "their area of expertise", which makes the claim much more likely. Because if you're up to date and expert with certain technology, any book that might come out is most likely be a) quickly obsolete b) just repeating stuff that you already know. – vartec Jun 11 '15 at 22:34
  • @vartec: Or in some cases, repeating stuff you've long since found not to be true :-( – jamesqf Jun 12 '15 at 04:50
  • 3
    I'm counting on TAOCP existing in the afterlife. That way Knuth can finish it, and I can start it (and no, I don't own it. Yet)... – Benjol Jun 12 '15 at 13:49
  • not rigorous enough for an answer, but judging from my personal experience I believe it's true that of *new* developers, anyone under say 30, far fewer then 50% of us currently own a book on software development. Resources online have gotten so good that 'dead-tree' version are seen as slow and less convenient then online resources. Even when I want to read a book on design I get it online from someplace like safari, covered by my company. This is not an issue with programing skill or commitment, simply an adoption to new media forms over older book format. – dsollen Jun 17 '15 at 13:28
  • 1
    There seems to be two camps on interpreting this--whether any programming book qualifies or whether it specifically refers to books on the process of writing software as opposed to specific languages or even algorithms. In 1987 I have no problem with the claim--I got through school back then without anything about software development coming up. I was out in the workplace before I found the first such book. – Loren Pechtel Jul 12 '15 at 06:04

1 Answers1

-1

This is refuted by Stack Overflow's own survey:

41.8 percent of respondents described themselves as "self-taught," while 37.7 percent had a Bachelor of Science degree in CS or a related field (e.g. EE or Mathematics). Another 18.4 percent had Master's degree, and 2.2 per cent had PhD's, for a total of 58.3%.

So that in itself makes the claim false, since buying a textbook for a course means they owned a book (and presumably read it). And that doesn't include the self-taught programmers, some of whom must own and read programming books (or else how would they be self-taught? -- can't all be on-line).

BTW the number of self-taught programmers at large companies like Google is much lower, in the 5 to 10% range according to this post.

tcrosley
  • 1,561
  • 14
  • 11
  • 10
    While that's a good answer for the question of whether over 50% of programmers are self-taught, how does that apply to the question of owning a book on Software Engineering? – Sean Duggan Jun 11 '15 at 15:48
  • 1
    The clain has noithing to do specfically with software engineering. It says, "The average software developer, for example, doesn't own a single book on the subject of his or her work, and hasn't ever read one." That means any book on software development -- programming, or software engineering, etc. – tcrosley Jun 11 '15 at 15:51
  • 1
    Hmm... based on the title of the question, I had assumed that there was some degree of context in the line before the quote indicating that we were specifically talking about Software Engineering. I believe that one of my books in my undergraduate career mentioned development methodologies, but it was merely informative that these methods existed, not exploring them. Otherwise, we never studied Software Engineering. – Sean Duggan Jun 11 '15 at 16:18
  • 1
    @SeanDuggan I think that the context (a chapter titled "Make a cheeseburger, sell a cheeseburger") is of a company defining a software development process and then expecting its droids to just follow that process: always Doing Something and not even paying lip-service to thinking about it (or reading about other companies' experience), not even brainstorming, nor having a project dinner (to help created a jelled team). – ChrisW Jun 11 '15 at 17:11
  • 1
    This answer seems to be saying that every developer is either taught, or self-taught: and has, therefore, read a programming book? I agree that seems likely (which is why I believe the claim is probably no longer true) but FWIW I don't remember reading any programming "books" in the 1980s. – ChrisW Jun 11 '15 at 22:35
  • 2
    @ChrisW: I think they must be making a distinction between programming books, and books on "software development". It's certainly possible (since I've done it) to get advanced degrees in computer-related fields, and develop software for everything from startups to research labs to household-name computer companies, without ever studying "software development" specifically. Which, in my admittedly biased opinion, says something about the subject's worth. – jamesqf Jun 11 '15 at 23:11
  • @ChrisW There were thousands of programming books in the 1980's. Most famous was "The C Programming Language" by Kernighan and Ritchie (1978). Books on BASIC, Pascal and assembly language programming for the Apple ][, IBM PC and others. Books on MS-DOS, CP/M, UNIX, Macintosh OS, etc. Books on minis such as the PDP-11. And books on programming mainframes. I was working with all three of these at the time: Apple ][, IBM PC, Mac; PDP-11/45; and IBM-370 so I had dozens of specific programming books. Plus "The Mythical Man-Month" (1975), the first software engineering book I probably read. – tcrosley Jun 12 '15 at 00:28
  • I might have read one actual book about Pascal in the early 80s? And two books borrowed from the civic library (about Fortran and Cobol) in the 70s. I didn't read a book about C until the end of the 80s. I learned to program a PC (assembly and BIOS/DOS interrupts) by reading the IBM (manufacturer's) manuals which I'm excluding as "a book"; ditto IBM mainframe stuff; and ditto other manufacturer-specific computer systems/software/languages. – ChrisW Jun 12 '15 at 00:37
  • 1
    @jamesqf Software development includes the task of programming but also includes documenting, testing, and fixing bugs. A lot of programming books cover the other aspects of development, but many don't. Actually topics like testing and bug-fixing are often best covered in a separate book since many techniques are independent of language. – tcrosley Jun 12 '15 at 00:41
  • @ChrisW: And why would IBM manuals not count as books? Some of them were pretty hefty volumes. As for testing & bug fixing, I've yet to see a book that really covers anything useful on that subject, unless you count the hardcopy gdb book. – jamesqf Jun 12 '15 at 04:54
  • It must be an arbitrary distinction. The claim is that software developers had "never read a book": to make sense of that I thought, "Well, '*book*' ... of course they will have read the '*manual*', the 'online help', the 'compiler/technical documentation', etc." A book has an *author*, a manual has a *technical writer*. When I was a technical writer of such manuals I never thought of myself as the author of a book; I thought I was more like a programmer, translating/editing technical specs and verbal explanations of the use cases from one format to another (i.e. to formatted text). – ChrisW Jun 12 '15 at 07:46
  • @ChrisW When I was answering this question, I certainly wasn't thinking of technical manuals as being a "book". This would have been only for minis and mainframes anyway -- its not like you get a technical manual on how to program your PC when you buy one at Best Buy, or get a technical manual on how to build an iOS app when you buy an iPhone at the Apple Store. – tcrosley Jun 12 '15 at 10:39
  • 1
    I have studied Computer Science and even if I haven't thought about it before, I am pretty sure that I neither owned nor used a book about software development during that time. Software development is actually only a small part of a CS degree. Before internet became ubiquitous I did indeed have a few books on software development, but nowadays both tutorials, knowledge databases and reference guides for software development are available online and not in any form I would call a "book". – Tor-Einar Jarnbjo Jun 12 '15 at 15:22
  • @Tor-EinarJarnbjo I have a Master's degree in CS, but did get it some time ago -- before the Internet, nevertheless I am well aware of the curriculum. I realize you can get a lot of material on-line, still a lot of people (including myself) like "real" books. Amazon currently lists over 88,000 books under the category of software development, and over 69,000 under software engineering. Someone is buying them. – tcrosley Jun 14 '15 at 00:02
  • “can't all be online”. Of course it can. I have never read a single programming book in my life, yet here I am, a software developer. – Arturo Torres Sánchez Jun 14 '15 at 00:04
  • @ArturoTorresSánchez by that I didn't mean one couldn't learn everything on-line as you did, but I meant I didn't think all self-taught programmers were getting all of their education on-line -- some were certainly purchasing books. – tcrosley Jun 14 '15 at 00:09
  • @romkyns I find it very hard to believe you completed an entire MS program w/o owning a single textbook, but that's what you say so I'll accept it. I did get my MS some years ago so maybe textbooks aren't required as much as they once were. – tcrosley Jun 16 '15 at 00:12
  • @tcrosley OK the way I said it was misleading. It would be more fair to call it a BSc program, which awards an MA automatically. It's accepted as Masters for immigration purposes. – RomanSt Jun 16 '15 at 01:29
  • 1
    Stackoverflow's survey has a biased sample, as the respondents are all stackoverflow's participating users. Anecdotically, I know a lot of SW guys who do not use stackoverflow consciously i.e. use the Google search results where ever they might point to. What %age of sw developers in the world are active on stackoverflow? – Vaibhav Garg Jun 18 '15 at 03:35
  • @VaibhavGarg Biased how? The part of the survey I referred had to do with the education level of the respondents. I see no reason why the percentage of programmers that are self-taught would be lower on Stack Overflow. If anything I would think it would be higher since they would be more likely to research a solution on SO rather than consult a textbook. The survey examined 26,086 people from 157 countries. There are probably more self-taught programmers in less-developed countries. If you disagree with the SO survey, show me one with different percentages of programmers with CS degrees. – tcrosley Jun 18 '15 at 06:51
  • 3
    @tcrosley The only thing that I stated was the the SOs survey has a convenience sample as the people most likely to respond are the ones that are active users of a site aiming at self improvement. The average programmer may be under represented here. I don't have any other cites for my claim, and hence the comment and not an answer. What I am hinting at is a large underbelly of the programming population that just does cargo cult programming and hacks together solutions that work(barely), but nothing more. Again, an opinion. – Vaibhav Garg Jun 18 '15 at 07:39