Perhaps I misunderstand the point of the essay, but I find it difficult to juxtapose:

"A developer from 1975 could look at modern Javascript and feel pretty comfortable. Garbage collection, runtime typing, closures, and object inheritance all existed in some form 40 years ago."

with

"I argue that almost all of the improvements have come from four areas: test driven development, version control, continuous builds, and library ecosystems.

I don't think that many developers in 1975 would have been comfortable with garbage collection, etc.. Certainly there are some developers would would have had no problem with them, but think of the many COBOL and Fortran developers would would have had no idea of what those terms meant.

On the flip side, there are also people in 1975 who would have been familiar with version control "in some form". SCCS dates from 1972 and the 1975 paper shows it was used for several projects at AT&T.

There was also an IBM user's group, SHARE, which started in 1955. Quoting Wikipedia, "A major resource of SHARE from the beginning was the SHARE library". DECUS was a similar user group for DEC, founded in 1961. The same developer from 1975 who knew about GC, closures, etc. would certainly have known about library ecosystems. So would many of the COBOL and Fortran coders.

(Kent Beck famously says that he "rediscovered" TDD, http://www.quora.com/Why-does-Kent-Beck-refer-to-the-redisco... , but that is not an aspect of 1970s programming practices that I know about.)

My feeling is that the author's understanding is heavily biased by personal experiences. That's clear from phrases like "I think I first used CVS in the late 90s and never worked on an un-versioned project again.", which is 20 years after SCCS was shipped as part of AT&T Unix. Already by 1990 you see projects like Python begin under version control, as https://hg.python.org/cpython/rev/3cd033e6b530 , and Perl 1.0 at http://history.perl.org/src/perl-1.0.tar.gz was developed using RCS, based on

perly.c:char rcsid[] = "$Header: perly.c,v 1.0 87/12/18 15:53:31 root Exp $";

and contains an imported package that used SCCS:

malloc.c:static char sccsid[] = "@(#)malloc.c	4.3 (Berkeley) 9/16/83";

Gibson wrote "The future is already here — it's just not very evenly distributed"; it took about 20-30 years for the usefulness of version control systems to make it's way to the majority of programmers. I suspect the issue is that it's much easier to understand isolated technical details about programming languages from 30 years previous that it is to understand the more nebulous topic of what was considered best practices.

I also find this statement hard to understand: "I feel like Java really kicked off the trend of wide scale reusability with it’s built in standard library". C has a standard library. Python has a standard library and is older than Java. (The expression was, "Python comes with batteries included".) What makes Java's standard library more special than, say, the standard library from Borland's Object Pascal/Delphi with all of its support for rapid application development? Or of the vast library ecosystem built around VB and COM?

Lastly, there's "The magic part is simply that open source licenses like Apache and MIT lower the friction to trying out a new library." Historically there were no copyrights to source code prior to 1980. Someone from 1975 would not have had to worry about these licenses because they weren't relevant.