The Secret of Fast Programming: Stop Thinking

December 10, 2013
When I talk to developers about code complexity, they often say that they want to write simple code, but deadline pressure or underlying issues mean that they just don’t have the time or knowledge necessary to both complete the task and refine it to simplicity. Well, it’s certainly true that putting time pressure on developers tends to lead to them…

Make It Never Come Back

November 19, 2013
9
When solving a problem in a codebase, you’re not done when the symptoms stop. You’re done when the problem has disappeared and will never come back. It’s very easy to stop solving a problem when it no longer has any visible symptoms. You’ve fixed the bug, nobody is complaining, and there seem to be other pressing issues. So why continue…

The Philosophy of Testing

May 2, 2013
8
Much like we gain knowledge about the behavior of the physical universe via the scientific method, we gain knowledge about the behavior of our software via a system of assertion, observation, and experimentation called “testing.” There are many things one could desire to know about a software system. It seems that most often we want to know if it actually…

The Accuracy of Future Predictions

January 13, 2013
9
One thing we know about software design is that the future is important. However, we also know that the future is very hard to predict. I think that I have come up with a way to explain exactly how hard it is to predict the future of software. The most basic version of this theory is: The accuracy of future…

Code Simplicity, Second Revision

August 22, 2012
4
In June, I released a second revision of Code Simplicity. Some of you probably already know, but I thought that I should let everybody else know, too. The most important change is that book gets into the laws and rules of software design much more quickly now. It starts with a completely re-written Preface that tells the story of how…

Software as Knowledge

May 10, 2012
7
I don’t often dive deep into the philosophical underpinnings of Code Simplicity, but I’ve been realizing more and more that there are a few philosophical principles behind the writings that would be valuable to share. Also, some of these philosophies haven’t been fully formed until I sat with the work for a long time, applied it in a lot of…

Code Simplicity: The Science of Software Development

March 28, 2012
What if every software developer could gain the knowledge of long experience without having to go through the pain of repeated failure? What if, instead of being a continuous chaos of complexity and argument, the process of software development could be a sane, orderly progression that was well-understood by every single programmer involved? What if all programmers and their managers…

Developer Hubris

November 15, 2011
Your program is not important to me. I don’t care about its user interface. I don’t care what its name is. I don’t care that you made it, or what version it is. The only thing I care about is that your program helps me accomplish my purpose. That’s a truly remarkable feat, and if your program does it, you…
1 2 3 4 5 9
Go toTop