Software has become essential to how we live, work, learn, and relate to each other. Yet software is still difficult and expensive to build; our reliance upon it is reaching a tipping point.