Skip to content
Home » Do You Need The Default Clause?

Do You Need The Default Clause?

Just out of university with a degree in EE and a masters in EE about software process engineering behind me, I didn’t know what I didn’t know. I didn’t presume to know anything, I was humble. I hope I still am.

My first proper software job was working as a “Software Designer” (I loved that title) for Nortel Networks/Bell Northern Research. A huge engineering organisation with incredible hardware and software resources. I worked on network management software for trunk multiplexers. Nortel had its own source control management system called PLS which was pretty advanced and it used inner source widely. This was the year 1995.

I needed to use a piece of someone else’s code for a change one day. And while testing noted with dismay that the code – a switch statement – had no default clause and this caused my code to fail in a way I wasn’t expecting.

I took to an internal mailing list to voice my disapproval for this – because I believed that best practice was (and still is) to include a default clause in a switch statement.

The (very senior) guy who has written the code replied with a massive flame email which left me quite badly burnt but also pretty hurt. I replied in probably quite a hurt and defensive manner. The point I made was, that while calling this out was the correct course of events, perhaps the manner I’d done it wasn’t the right way. The discourse was the important bit even if it didn’t end up with a code change.

A few weeks later he replied, saying yes, he was sorry, and he should’ve not reacted in that way and it had made him think deeply about his interactions in future. I think we both learned something. It doesn’t matter what end of the experience spectrum – the newb or the super-senior – be respectful.

Communication, people. It’s important. Let’s keep doing it, keep pushing back, keep it respectful. If something isn’t right then call it out and enquire.

I’m probably older now than that guy was back then. I will still call out things that don’t make sense but I will always admit when I’m wrong.

I’m not perfect but I’m learning every day.