I'm Don Murray, and this is my personal website. I'm a software engineer in Calgary, AB and have been registered as a professional engineer with APEGA since 1997. My background includes server-side applications in Oil & Gas, pipeline SCADA, equity trading, as well as client-side development for the web and cable set tops. I've been a developer, architect, project lead, scrum master, and agile coach. I currently work at Shaw Communications as a Principal Software Engineer, mostly in a coaching role.
This site used to be self-hosted in my basement, but now it's hosted on AWS because clouding all the things is important.
I re-certified for my
Red Hat Certified Engineer (RHCE)
on August 31, 2007. My certificate number is
You may view my RHCE certificate here.
RHCE certificate was obtained in October 2004, and it is visible here.
"We reject: kings, presidents and voting.
We believe in: rough consensus and running code."
"A Cloudy Crystal Ball -- Visions of the Future"
presentation given at the 24th Internet Engineering Task Force (IETF)
"I've been doing software for a half century and Agile for fifteen years. Think of this as a message from your future. Scrum is not what you think it is. It is likely not even what I think it is. It is endlessly complex and endlessly simple. The closer you get to getting it, the more you know and the less you know."
Scrum Development list, 2011-May-18
"Replacing an on-site customer with some use cases is about as effective as replacing a hug from your Mom with a friendly note."
XP list, 2003-Sep-02
"But you don't become great by trying to be great. You become great by wanting to do something, and then doing it so hard that you become great in the process."
"To accept our own fallibility is to embrace ‘the permanent possibility of someone having a better idea.’"
"I promise not to exclude from consideration any idea based on its source, but to consider ideas across schools and heritages in order to find the ones that best suit the current situation."
"When you're doing it well it feels a little plodding, you're not racing ahead like you might do on your own. But what happens is that it never slows down."
Agile Methods interview, Sept 26, 2009
"Scrum is a wrapper, a ritual if you will, for planning, doing, and improving. That's all it sets out to be. What you plan, do, and improve is not Scrum's concern."
Scrum Development list, Mar 21, 2010
"Any program feature without an automated test simply doesn't exist.... Customers write functional tests so that their confidence in the operation of the program can become part of the program, too."
Extreme Programming Explained, p57
"Write what the Product Owner wants, what the developers need, and nothing else."
Scrum Development list, Jan 26, 2010
"There are only two hard things in Computer Science: cache invalidation and naming things."
"The greatest challenge to any thinker is stating the problem in a way that will allow a solution."
"Debugging is twice as hard as writing the code in the first place. Therefore, if you write the code as cleverly as possible, you are, by definition, not smart enough to debug it."
"There are two ways of constructing a software design. One is to make it so simple that there are obviously no deficiencies; the other is to make it so complicated that there are no obvious deficiencies. The first method is far more difficult."
The Emperor's Old Clothes
CACM February 1981
"Analysis and design have been summarized in the phrase do the right thing (analysis), and do the thing right (design)."
Applying UML and Patterns
"Programming is a Dark Art, and it will always be. The programmer is fighting against the two most destructive forces in the universe: entropy and human stupidity. They're not things you can always overcome with a 'methodology' or on a schedule."
"Anyone who cannot cope with mathematics is not fully human. At best he is a tolerable subhuman who has learned to wear shoes, bathe, and not make messes in the house."
Time Enough for Love