Design Then Code

“…it is easier to make changes to a design document than it is to the code.”

This quote is from an interview with lavabit founder Ladar Levison (1). There is a very important dynamic in software engineering. Ambiguous, ever-changing scope and functionality make coding a lot harder and time-consuming.

Personally, in my most effective coding sessions I can remember, I had a clear design and objective and I was only writing code to comply my own rules & API, at least  between specific versions.

However there are also times which you can’t design in advance or effectiveness isn’t the first priority. :)

 

Sources:
(1) http://highscalability.com/blog/2013/8/13/in-memoriam-lavabit-architecture-creating-a-scalable-email-s.html