There have been many times in my life when I wish somebody would have said this to me.
The best way to manage complication is to avoid creating it in the first place. If you find yourself in a mindless change → pray → run loop, you don’t understand your code well enough to be editing it. Stop what you’re doing, actually get up and walk away from the keyboard, think about what you’re trying to do, and don’t come back to the keyboard until you understand exactly what you’re doing and how to do it. Obviously there’s some slack here for debugging, but it’s not controversial to say that you shouldn’t change code you don’t understand, even — especially? — when it’s your own.
I love the culture at Valve, but it seems to me that you cannot simple move an existing organization into that style of management. You need to start your company with that in mind and hire people who you know will work well in that environment from day one.
(via Instapaper)
Having recently moved house, and noticed that five months later there are over a dozen unopened boxes in the store room that I obviously don’t need, this article struck home for me in a big way.
(via Instapaper)
More than anything else I have read, this sums up my feelings about the last several years of my working life.
http://www.randsinrepose.com/archives/2012/02/29/a_precious_hour.html
I am a decent programmer. I know a decent amount of computer science theory, I can type correct code fairly easy. I don’t let my classes expand too much. But I still struggle some with math, and I have a tendency to have too many cross-dependencies in my code.
I used to think I was an awesome…

