Squirrels Should Not Code

Today, I saw many fat squirrels in High Park eating and hoarding nuts for the winter. This behaviour runs deep for this furry animal and I believe it runs deep in us as well. It’s built into our genes and it made sense for our caveman ancestors to have this mentality. It helped them to hedge against long periods where they couldn’t find food. They over ate and hoarded just in case they couldn’t find other food sources.

Fast forward to now. I think we carry this trait into our coding practices. In this context, the behaviour causes more problems than good. The code we write every day is stuffed with “just in case” scenarios. This means we write extra features into the application that may or may not be needed. They obscure the meat of the solution, they introduce more bugs, they make maintenance a nightmare and so forth.  How do we stop it?

Pair programming. When I add the  “just in case” code, my pair will snap me out of my caveman thoughts and get me back to thinking about coding what it’s needed. With enough practise, we can change and we can be less influenced by our caveman thoughts. Just in case, we need to do more pair programming.


Help Me, Asia

In a couple of days, Shawn will launch a travel memoir of her trip through Asia.

“At 31, after her boyfriend dumps her and she gets a weird autoimmune disorder, Shawn Phelps quits her job as a business magazine editor and sets out on a seven-month journey from Thailand to Nepal to learn the secrets of happiness from Asia’s sages–not knowing who they are or how to find them.”


Was It Okay? Did You Like What I Did? Huh?

Remember in school, there was a guy who always looked for feedback for everything he did? He checked in to make sure it was cool with the group. If the group liked his action, he did it more and, if not, he tried something else. I found him annoying. I always thought the rebels were cool.

But I’m wondering if this feedback-seeking personality is actually good in the context of Agile? From pair programming, TDD, continuous integration, stand ups, sprints, retrospectives and so forth, Agile philosophy is built on communication and feedback. That guy would be a natural in this environment. He would be a role model. As for the rebel dude, he would be working at KFC making double downs.

What do you think?