Watch and Cringe
Sometimes you see people going down a path that you know, as a developer who has been down that path, you should stop them and say “Don’t waste your time, that won’t work”. Unfortunately that doesn’t always work because no matter where you work there are always going to be people that say “Ok, I just want to try it for my own curiosity”. For their own curiosity? For their waste of time and company money, is what I think they mean.
Four hours later that same day…”Huh, I wonder why that didn’t work then?” they will say.
I’m a developer, but I am also an architect. If I cannot get something to work on paper, or if I cannot explain fully my reasoning on something, then I sure as hell do not have the right to waste a company’s money trying to figure it out by diving head-first into the unknown.
Five hours later that same day…”Oh look, it almost works. Well, kind of.”
The question at this point is: “Ok, so you are trying to get from A to Z, and you’ve made it to G so far. Can you explain steps D to F?” This usually results in lots of uncertain looks and mumbled statements. I like atomic processes. I like to be able to build a part that will eventually be a part of a whole…not a part of a hole in time. That way, if I need to change something I can change the part, not the entire machine.
Six hours later that same day…”Hey, can you help me understanding this part?” In short, “No!”
If you don’t understand the workings of something before you start working on it, how are you going to troubleshoot it when it breaks…and believe me, with that kind of approach it will break. We currently have an application which I have inherited, which faces the same dilemma…it was really badly designed, so do we write it over from scratch, or fix the broken parts? When broached on the subject of bad architecture, the developer said “Well, it works!” Although true, this is not a good thing to hear from a senior-level developer.
Eight hours later that same day…”Hmm, it’s still not working properly but it’s time to go home now so I will pick it up again on Monday” Um, no you won’t. This weekend I will rewrite that damn horrible process. After eight hours of work, we do not simply walk away from our projects…we find better solutions, we do research, we test and in doing so we make ourselves more valuable to the company. And we let those that won’t do the same, fall into a job they complain about but have to do because they didn’t push themselves other than out of the door.
The thing I found out today? The reason you cannot teach an old dog a new trick is because it wasn’t a new trick, and the dog already knew it…he just likes you to think it’s new, you’re smart and he’s old.