Hello!
I used to work for a small web design company as one of the two programmers of clever dynamic stuff. When I started, I didn't really have much proper programming experience. I was pretty useless and I knew it, so I set about constantly finding new ways of coding and learning the hard way about the advantages of using functions and comments and all that stuff that you learn in Chapter 1 and then decide you don't need until you're half-way through your final year project. Anyway....
The other programmer, lets call her X, in case she decides to Google herself, had been there a year longer than me and gave the impression of knowing what she was doing. Whenever one of the designers wanted something cool, like a user-updatable news page, or editable pages, they asked her to do it for them. As more and more people wanted new and dynamic Web 2.0 goodies they decided to get someone new in - me.
X decided instantly that I was stepping onto her hallowed turf and made it very hard to get any information from her. Unless I asked her a direct question to do with work, she would completely blank me. A question regarding which of the 50-or-so randomly named files included the spaghetti code for a particular function would get an irritable "I've already told you" type response.
Anyway, the fact that she was horrid wasn't really the WTF. That would be too easy to deal with - a swift chat with the boss would sort that out. No, the problem was worse than that.
She'd inherited a lot of pretty scruffy code from some bloke who used to freelance. And when I say scruffy, I mean horrible. It's a posting in itself. I assumed for a while that a lot of her code was pretty poor because it was essentially a lot of hacks into this already mad code; that's understandable when your boss doesn't understand programming and just wants stuff to work.But there were two points when looking at code that she had written that I realised she was absolutely useless
The super-amazing e-commerce system that had evolved had a big behemoth of ASP pages that only she understood. At it's root was a big config file. Part of it had something like this:
WebsiteTitle = "Super Shop"
Question1 = "How did you hear about us?"
Question1Option1 = "Friend"
Question1Option2 = "Search Engine"
Question1Option3 = "Other"
Question1Option4 = ""
etc... up to Question 10
The code to display these questions was a huge mass of if/then statements, which would not display if the string was set to empty string. I asked what happened if you needed more options, or more question. She told me that would never happen.
The other thing was when I looked in her "utils.asp" which featured "really useful code" the centrepiece of which was something which took 5 parameters and returned them as one concatenated string.