Values in software development

During my job as a software developer I have stumbled upon some values that makes a lot of sense to me:

We value code that is easy to maintain over code that is easy to write I am not sure if this is the origin of this value, but I first heard of this value in the book Growing Object Oriented Software, Guided by tests.
This should be the overarching value of 99% of all software developers.
You will have to go over your code again and again, and so will your co-workers or someone coming after you.
So the few minutes or hours you save now is just like wetting your pants, you will feel the warm now, but it gets a lot colder in time ;-)

We value code that is clear over code that is consise This value is amongst other places found on the elixir-lang website
The simple reasoning behind this value is the principle that you read code a lot more than you write it, just as stated above.
One of the places where concise code has been valued too high is in perl one-liners.
Perl one-liners kind of made sense when using them on the cli. But they sometimes spilled into real code that had to be maintained.
For a period there was almost some kind of heroic thing in the software community, where the ones with the most concise unreadable code, that did the expected was supposedly the most heroic software developer.
I am glad to say that this is a dying culture.

Everyone knows that debugging is twice as hard as writing a program in the first place. So if you're as clever as you can be when you write it, how will you ever debug it? This quote is from Brian Kernighan, and it probably one of the most clever things said in software development. I don't have much to add to it.

So as you can see these values are about almost the same thing: Namely writing code that is as easy to maintain as possible.
By writing easily maintainable code, you save the business many money in the long run.
The hard part about this is making the business understand that by not cowboy coding through this in a hurry now, you save them money in the long run.

comments powered by Disqus