Project Sherlock

Engineering

Software Engineering (Applied)

Engineering discipline applied to code, as distinct from computer science.

12 topics · 21 curated works

Topics

Reading in Software Engineering (Applied)

21

A way in

  1. Start here

    No prior grounding assumed.

    10+ Deploys Per Day: Dev and Ops Cooperation at Flickr

    John Allspaw & Paul Hammond · 2009

    Argues that deploying code many times a day is safer than deploying rarely, because it forces developers and operations to share tools and incentives…

    +4 more at this level

  2. Then

    Assumes you know the vocabulary.

    Managing the Development of Large Software Systems

    Winston W. Royce · 1970

    Lays out a sequential design-then-build process for large software projects and, in the same paper, argues it fails without iteration and feedback…

    +6 more at this level

  3. Go deeper

    Primary sources and full treatments.

    The Protection of Information in Computer Systems

    Jerome H. Saltzer & Michael D. Schroeder · 1975

    Sets out design principles for building secure systems — least privilege, fail-safe defaults, economy of mechanism — arguing security has to be built…

    +8 more at this level

12 of 21 works

Essay2011

The Twelve-Factor App

Adam Wiggins

Distils a dozen concrete rules — config in the environment, logs as event streams, one codebase per app — for building software-as-a-service applications that scale and deploy cleanly, from patterns observed across hundreds of Heroku apps.

link checked 17 Sept 2026
Essay2016

InfrastructureAsCode

Martin Fowler

Argues that once server configuration is expressed as version-controlled code rather than manual steps, the whole discipline of testing, review and reproducibility that software already has can be applied to infrastructure.

link checked 17 Sept 2026
Essay1998

How Complex Systems Fail

Richard I. Cook

Argues catastrophic failure in a complex system always requires the simultaneous occurrence of several small, individually harmless faults, so that any single root cause found after the fact is a retrospective simplification.

link checked 17 Sept 2026

In order written

1970 – 2016
  1. 1975The Protection of Information in Computer SystemsJerome H. Saltzer & Michael D. Schroeder
  2. 1998How Complex Systems FailRichard I. Cook
  3. 2003Web Search for a Planet: The Google Cluster ArchitectureLuiz André Barroso, Jeffrey Dean & Urs Hölzle
  4. 2009The Case for VM-Based Cloudlets in Mobile ComputingMahadev Satyanarayanan, Paramvir Bahl, Ramón Cáceres & Nigel Davies
  5. 2011The Twelve-Factor AppAdam Wiggins
  6. 2011Eloquent JavaScriptMarijn Haverbeke
  7. 2013Scaling Memcache at FacebookRajesh Nishtala et al.
  8. 2013Omega: Flexible, Scalable Schedulers for Large Compute ClustersMalte Schwarzkopf, Andy Konwinski, Michael Abd-El-Malek & John Wilkes
  9. 2016InfrastructureAsCodeMartin Fowler

Elsewhere in Engineering