Consulting Hilarity
Due to a communications SNAFU, a client I'd been doing some consulting for didn't "get the memo" that my availability would change as soon as school started. Due to the snafu, he approved a quite a few hours of "familiarization"-type work that he (presumably) wouldn't have approved had he known that I would no longer be available. At the time, I was under the distinct impression that he'd been informed about my new schedule... whereas he thought that I'd be around for a lot longer. It's really my fault- I assumed that our go-between (who handles all of the business stuff, and set the whole thing up, etc.) would have made the whole situation perfectly clear to the client. Now, of course, I see that I should have taken it on myself to make sure that we were all on the same page instead of leaving that to somebody else.
At any rate, because of all of this, I now feel like I owe the client somehow, and don't really feel like I can turn him away when he has work that needs doing. I figure after a month or two, I will have done enough work on his site that his initial investment in letting me familiarize myself with his site will have paid for itself (or at least been worth it to him). Until then, though, I'm stuck dealing with problems that should be trivial to solve but aren't due to the previous guy's craptacular design.
I've decided that VBScript is the consultant's dream language- it's designed in such a way as to make even the most trivial tasks take far longer than they would in just about any other language, and it also makes it very, very difficult to have a clean and efficient design. Its lack of useful error handling virtually guarantees spaghetti code all over the place. Its function invocation syntax is different for functions that return an object or user-defined class (not the same thing!) different from the syntax to call a function that returns a primitive. Also, most (certainly not all, but most) people who decide to build websites with it don't really know what they're doing (sad but true, from what I've seen) and end up leaving disastrous messes that somebody else gets to clean up later on down the line. And, of course, that "somebody else" almost certainly charges by the hour. All of this adds up to one very simple equation:
So, annoying as this guy's previous programmer's site's design is, I just breath deeply and tell myself that his lack of modular design, heavy use of code copying and pasting, and overly-complex file layout just means more billable hours for myself. Every hour I spend tracing spaghetti puts me just a little bit closer to getting a new clutch for my car. And, really, the client himself is actually a nice guy, it's just the previous programmer who's the problem here. When I look at things in the combined light of these things, everything's much better. :-)
At any rate, because of all of this, I now feel like I owe the client somehow, and don't really feel like I can turn him away when he has work that needs doing. I figure after a month or two, I will have done enough work on his site that his initial investment in letting me familiarize myself with his site will have paid for itself (or at least been worth it to him). Until then, though, I'm stuck dealing with problems that should be trivial to solve but aren't due to the previous guy's craptacular design.
I've decided that VBScript is the consultant's dream language- it's designed in such a way as to make even the most trivial tasks take far longer than they would in just about any other language, and it also makes it very, very difficult to have a clean and efficient design. Its lack of useful error handling virtually guarantees spaghetti code all over the place. Its function invocation syntax is different for functions that return an object or user-defined class (not the same thing!) different from the syntax to call a function that returns a primitive. Also, most (certainly not all, but most) people who decide to build websites with it don't really know what they're doing (sad but true, from what I've seen) and end up leaving disastrous messes that somebody else gets to clean up later on down the line. And, of course, that "somebody else" almost certainly charges by the hour. All of this adds up to one very simple equation:
(use of vbscript for your website) == (tons of billable hours for some consultant somewhere)
So, annoying as this guy's previous programmer's site's design is, I just breath deeply and tell myself that his lack of modular design, heavy use of code copying and pasting, and overly-complex file layout just means more billable hours for myself. Every hour I spend tracing spaghetti puts me just a little bit closer to getting a new clutch for my car. And, really, the client himself is actually a nice guy, it's just the previous programmer who's the problem here. When I look at things in the combined light of these things, everything's much better. :-)