Chapter 12. Learning

In a time of drastic change, it is the learners who inherit the future. The learned usually find themselves equipped to live in a world that no longer exists.

[Hoffer 2006, Sect. 32], Eric Hoffer, Reflections on the Human Condition

The software industry may be one of the fastest-changing industries in history. Since the year 2000, we’ve seen dozens of major new programming languages (e.g., C#, D, F#, Scala, Go, Clojure, Groovy, Rust); huge updates to older programming languages (e.g., C++ 03, 07, 11, and 14, Python 2.0 and 3.0, Java 1.3, 1.4, 5.0, 6.0, 7.0, and 8.0); the development of hundreds of frameworks, libraries, and tools that accompany these languages (e.g., Ruby on Rails, .NET, Spring, IntelliJ IDE, Jenkins); dozens of new databases (e.g., MongoDB, Couchbase, Riak, Redis, CouchDB, Cassandra, HBase); the rise of new hardware platforms (e.g., commodity hardware, multicore CPUs, smartphones, tablets, wearables, drones); the rise of new software platforms (e.g., Windows XP, 7, 8, 10, OS X 10.0–10.10, Firefox, Chrome, iOS, Android); the rise of Agile methodologies (e.g., XP, Scrum, Lean, TDD, pair programming, continuous integration); the explosion of open source software (e.g., GitHub, Linux, MySQL, Hadoop, Node.js); the ubiquity of cloud computing (e.g., Amazon EC2, Heroku, Rackspace, Microsoft Azure); and much more. If you work in the software industry, a huge percentage of your knowledge becomes obsolete every year.

This is why all the best software ...

Get Hello, Startup now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.