The Importance of Preserving Context in Web Development
This morning, when I got down to the particular work task at hand for Imbee, I switched to Eclipse and found it stopped at a breakpoint I had set when debugging a certain crucial issue in my local copy of imbee.com. This was exactly my context from last night. Seeing where the debugger was suspended and being able to study the values of variables set at that point in my testing instantly brought me right back into the task of fixing the problem at hand and making decisions about whether to "step over" or "step into" for my next move to find the cause of the particular problem and other things that would lead me to an understanding and fix of the particular issue.
This made me remember back to my first job as a software engineer, where working from home (on occasion) meant I had to log into a server at our offices over a very slow VPN connection, and take a tremendous amount of effort and time to get back to where I was the night before. So it might have taken an hour to get back to the same point I was at the night before in debugging, if I had even recorded the information I needed to return to the same spot correctly(more overhead!).
Since each day I worked from home saved 2 hours of commuting by car, this overhead is not as ridiculous as it might seem at first. But my point is simply this: it is crucially important to consider the overhead involved in getting back to the same context you were in when you stopped debugging the night before. Whatever your commuting situation, software stack used, etc... is not important, but the actual result of how much overhead you have *is* important.
The low overhead I have in working from home for Imbee is a large part of what makes me productive, and feel successful, and love the job. And that matters.