If a previous employer called to ask you about a bug in the code you’d written for them, how much time and energy would you be comfortable investing in helping out?
Let’s say you left your previous employer a few months ago, on reasonably good terms. You might hold a minor grudge against the company because you didn’t get the raise you deserved or because they wouldn’t give you the QA resources you’d asked for, but it was generally an amicable parting. Certainly, you still care about your old teammates; you’d be happy to share a beer with them. Especially if they’re buying.
A few months later, one of those teammates calls you with a problem. They’re trying to debug a problem in a code module you used to own, and which you knew really well. Can you help?
Well, can you? Will you? Should you? Just how far will you go out of your way for the old team… and the old boss?
And certainly—at the other boundry condition—few developers would spend a whole weekend fixing the old application for free.
But somewhere in there, you draw a line. Two hours? Four? I don’t know where it is for most programmers, or where it ought to be… and I wonder what the “right answer” is.
I expect that company lawyers would freak out if they thought existing employees were asking for your help. After all, your previous code was written as a “work for hire” so the company owns the copyright. If you change a semicolon in their code now, though, that wouldn’t be so. (The fact that lawyers would object, of course, makes this effort even more attractive.)
Professional pride is a factor. If the bug is visible in some way (such as on a public website you developed), I think a lot of programmers would itch to fix it. For portfolio reasons, if not a sense of perfectionism.
Also, there’s such a thing as good karma. Refusing to help a previous teammate (never mind the company affliation) might be seen as burning bridges socially, if not professionally. Which makes it all the more important to figure out where the line ought to be crossed; at what point do you cease to be a kind person, and become a gullible chump who’s covering up for your successor’s inadequacies?
Plus, some segments of the development community are connected more by shared technology than they are by the name on their paychecks. Many years ago, I knew several developers who worked on the software to run hotel reservations systems. A developer at Quality Inns had no qualms about calling an ex-colleague at Ramada Inns or Best Western for help (which incidentally, is the same software that United is finally replacing).
In modern terms, developers who work on open source applications (particularly when their employers paid their salary while they wrote the open source code) will be bound by the project’s goals, even if their attention has moved on to, say, another part of the project.
So: just how much effort would you put into helping a previous employer? Where do you draw your line? For fun, post your reply before you read anybody else’s response. It’ll make it more interesting to explore the range of what we all feel is acceptable.