Ask HN: How do you deal with very old projects?

1 points by Tharkun ↗ HN
I've been doing this programming thing for ~16 years now. Every once in a while an old client will contact me asking for support for their decade old project.

In some cases, I don't even have the source code anymore. In most cases I'm happy if I've got some documentation about the build environment somewhere.

How does everyone else deal with this? Do you folks just have really good memories?

Thanks!

1 comment

[ 2.0 ms ] story [ 4.7 ms ] thread
From your client's perspective, 1) they know you do good work, and want to work with you again, 2) they think you know something about what they do and why they need the software, and 3) they think you know how the software works.

Take the first one as a compliment. It lowers their risk because it's hard to judge the skills of an otherwise unknown consultant.

You probably remember something about their business, even if it is hazy. They therefore aren't going to spend as much time having to get you up to speed on their specific needs. But do let them know that you'll still need some refresher.

And for the last case, you might go ahead and tell them that it's been so long that it's almost like working on someone else's code. (I've reviewed some of my own code a year later, in confusion about what I did, so this is common.) But it's not completely the case. People have idiomatic styles, and it's easier to get up to speed when you share similar idioms to others - which includes yourself.

So on their side, even if you don't remember the code, it's still a plus for them vs. getting someone new to come in completely cold. If you want, price it out as if you were coming in cold to an existing project. Just make sure to let them know that you are happy they like your work, and manage their expectations by reminding them that it's been a while, so it will still take a while to come up to speed.

And in the project, spend a couple of hours writing documentation, or even notes to yourself after the project it done, to make it easier for your future self to get more return work.