So maybe you have found yourself or seen someone else in a situation like this.

You are working on a project, without the time to get to know all the pieces. You are almost finished, there are just a few lines of code standing between you and getting lunch. There is just this one error you are stuck with. You try changing the problem line and get a wildly different error. Quickly, you change it again, to get another new error. You modify a few lines above with haste, hoping to stop the issue below, but that instead breaks in yet another new and interesting way.

This cycle continues, ever so slowly bringing you closer to your goal. Finally, after repeatedly and hastily running back in forth reactively pushing lines of code “back in place”. You have completed the goal. You pause for a moment and look back over your code, not quite sure why half of it is there. You just remember it fixed some error that cropped up from this other error over there… Actually you only have a vague idea how you accomplished this task. All you know is that it works now, some how.

This is panic fire

Next time you see yourself or someone you know in this situation here are some suggestions to help them break the cycle.

  • Ask what they are trying to accomplish.

If they can’t say what they are trying to do in 20 words or less, they need to take smaller steps.

  • Ask how they are going to accomplish the goal.

If they don’t have a game plan in English, then it is really hard to express that plan in code. Even in a language as poetic as Ruby.

  • Ask why making a change will bring them closer to their goal

If they don’t know why they are doing something, it is time to get a reality check

To summarize, ask:

What are they doing

How they are going to do it

Why it will work

blog comments powered by Disqus


27 February 2012