Blog Archives

Difficult bugs

I’ve been working on an interesting chapter of my upcoming book about programmer interviews. The chapter is titled “The usual suspects” and in it I’m writing about some of the difficult bugs programmers will all face, sooner or later. I’ve

Posted in Programming, Software Development

If I code faster it is by copying the code of giants

I’ve never been expert at DIY, but I’ve always been willing to give things a go. I once replaced the floorboards in an Edwardian terraced house. This was memorable because while cutting a board with a circular saw I managed

Posted in Programming, Software Development

Programming expertise, it’s all about the turtles

When I’m asked at an interview to talk about my weaknesses, I usually say that apart from being a perfectionist¬†(said with irony) I can sometimes be too analytical. Being analytical as a programmer is a major advantage, but I’m told

Posted in Interviewing, Programming, Software Development

Reflections on leaving MegaCorp

To the person who next sits at this desk; I have worked at MegaCorp on and off since 2002. This time I’m leaving and I won’t be back. If I had a magic wand to fix I wish you If

Posted in Programming, Software Management

Writing unit tests for legacy code – an open letter to developers I work with

This is an email I sent today to developers who work with me, it is exactly as I wrote it except for project and developer names which I’ve redacted. Dear Developers, S asked me a difficult question today, and I

Posted in Programming, Software Development, Software Management

Cranking the code-o-matic

Microsoft recently announced their latest version of Visual Studio, a product pitched on the idea that anyone can produce useful software provided they have the right tools. They call it Visual Studio LightSwitch, and right from the outset they make it

Posted in Programming

At the interview: “a class is like a car, an object is like an animal”

We are information workers and the stuff we create is mostly intangible. The structures and models that underpin our code are abstract. Most of us need to concentrate while coding because it takes concentration to hold the models in mind

Posted in Interviewing, Programming

What’s wrong with this code, really?

Here are five lines of code I found during a review not too long ago. This code had been tested and was ready for release. for ( int i=0 ; i < this.MyControl.TabPages.Count ; i++ ) { this.MyControl.TabPages.Remove ( this.MyControl.TabPages[i]

Posted in Interviewing, Programming

Ed Guiness

I am the author of Ace the Programming Interview, published 2013 by John Wiley and Sons. In 2012 I founded SocialCoder.org, a volunteering organisation for programmers. I have been a professional programmer for more than 20 years, and a hiring manager since 2004.

Ask me anything.