Refactoring to maintainability

Discussions about programming

The Setup

This past week I had the pleasure of having a chat with my ex-colleague Scott Edwards. I met him when he joined Codurance, where I taught him for a week at the academy program. Sadly we never got to work on the same team.

As we were talking a couple of topics came about that I have mentioned before. And serendipitously, a couple of other conversations happened around the same time that fed into these ideas.

The Curse of Knowledge

The first topic revolved about something that I have been parroting for a while, and Scott has a similar idea: Tech is the easy part, people/soft skills/human skills is the difficult part.

But!!! Big But: programming is actually difficult. And we agreed, again. If you see a person starting programming from the beginning you will see how difficult is to grasp some of the concepts, and learning the syntax, and then deal with the stunning breadth of the current development world.

A colleague at Armakuni (Billie Thompson) linked this Wikipedia article: Curse of Knowledge, which is a good encapsulation of the issue that we sometimes have (and by we, at the very least I mean me) when thinking that things that we do are easy. We have forgotten the long time that took us to reach a certain level of expertise.

The Curse of Attrition

I have mentioned before the attrition rate in companies in London. I consider that a blight for most companies. There are two consequences to it:

What I discussed with Scott was that staying for only a short time (anything below 2 years), you don’t really see the consequences of your choices. It was educative when I was able to see some of my decisions taken 4 or 5 years earlier, affect me due to incoming changes. But most people seem to miss that. They see the consequences of other people actions, but not of their own. Which is a common complaint I have heard about consultancies (they leave before seeing the effects of what they have done). Though the ones I have worked for (very limited number), they do care.

Related to the idea of quick turnaround, I happened to discuss with another colleague (Dan Weinberg) during last week that people don’t care as much about the conditions in which they are working if they know they are going to leave in one year or two. By conditions I mean the processes and tools that they need to use. By the time is starting to really grinding their gears, instead of helping to fix it, people leave. The result from their point of view is similar, the issue is gone, but for the company that is a loss.