Package Based Development
Thanks a pervasive culture of sharing, almost everything that we write can be thought of as refinements, gluing existing components together and adding only the parts of the code that are truly unique to whatever we're trying to build. It's a great time to be a software developer.
Build, Release, Run
> Strictly separate build and run stages What problem are we solving? Builds should be repeatable, trivial, and boring. If you can build your application twice in a row on different servers and get different results than you have a problem. Additionally, the build should be hands-off. If your build or