The Beast
The first day on the job was a success. I'm very happy with the environment and I really get the impression that the company has an interest in taking care of its employees. That's a nice change. Well worth the (much) longer commute.
I expected to spend my first day setting up my environment, reading docs, and generally familiarizing myself with the application that I was hired to help develop/support. Instead, I'm barely finished installing the bulk of my apps when my boss comes in and tells me that I can learn about the product tomorrow. Today he needs me to review some html and HttpUnitTest classes and make a recommendation for the way this particular strategy thing is to be done going forward.
So much for lazing through my first day.
I review the code and make a recommendation and my boss forwards it to everybody, telling them this is how things will be done now. Yikes! If I knew I was making policy, I would have used a different writing style. But aw well. I get back to the business of learning about the product and he comes in with another task. I guess there's work to be done here. Another nice change.
All things considered, I held up pretty well for running on 2 hours of sleep.
About midday, I confirmed my suspicion that the product interface was designed using tables. It's been quite some time since I put anything but tabular data in a table. This is going to take some getting used to. In the interview, I recall the various people who grilled me universally praising my predecessor's apparent god given talent for design. Well, I guess some of them didn't like the color scheme. I wasn't so impressed, but I was looking beyond the flashy round glowing image buttons*Can you say "chimp attract" boys and girls? at the crippled usability.
I didn't get a chance to look at the source during my interview. At this point I'm glad, because it may have impacted my decision to work there. The code is truly awful, but there are plenty of perks to compensate for it.
Here's an "interesting" code snippet:*Please note that this element was found inside a
form
<img src="..."
onmouseover="this.className='imgBtnHover';"
onmouseout="this.className='imgBtnNormal';"
onclick="document.forms[0].action='{resetting the form action to something else}'; document.forms[0].submit();"
class="imgBtnNormal"/>
Now I'm not sure what camp you're from but in my book that qualifies as BAD. In many categories.
So what's the punchline? This wasn't the worst of it. Not by a long shot.
To tell you the truth, I think the guy had issues with all form controls except text inputs and selects. I can't seem to find any input elements of type button, image, or submit anywhere. There are plenty of tds and spans spammed with any number of event handlers to make them function as such, but no actual, honest to goodness button type inputs.
Weird.
I think it's ironic that I'm presented with this the day after my article on separating functionality from content.
If you'll pardon me, I have some icky code to attend to.