Principles of Software Engineering

Software engineering is a constant battle against uncertainty – uncertainty about your specs, uncertainty about your implementation, uncertainty about your dependencies, and uncertainty about your inputs.

--Nathan Marz

​I'd add to this that software engineering is helping users to find success in the face of all this uncertainty. I think this his true whether you are writing a UI or a library meant for other programmers. 

Previous
Previous

Scaling Pinterest

Next
Next

Next Generation