Once upon a time computers were slow. Really slow. Software developers had to make a really concerted effort to optimize their code, seeking to use as few CPU cycles and as little memory as possible, today’s developers are spoiled in comparison. I am genuinely grateful that the guys who took me on after University taught me the difference between writing code and developing software, that they took the time to show me why there was so much more to it then getting stuff to build and run. These days I am responsible for putting potential new recruits at $place_of_employment through their paces with a C++ test, and as much as I’m looking for working code, I am also looking at coding style and often find myself saying things that were once said to me (I guess it’s kind of like finding yourself complaining about your kids music like your Dad used to do). I never cease to be amazed at how people with apparently years of experience can produce answers to such simple questions that require me to sit and analyse each line for minutes at a time in an attempt to try and uncover their secrets.
My penchant for clean code is a gift and a curse though. I was genuinely startled to be told by a fellow developer that code efficiency was something that embedded software engineers needed to worry about, but not us!?!
Satisfaction is the death of desire.