I am a web developer (I don't think that this title really explains what it is that I do very well.. but the powers above have given me this title because.. well.. because I do develop things, I suppose, and they are for the web.. Sounds kind of silly that I'm disagreeing with the title given what I just said, but design constitutes less than 5% of what I do. A big chunk of it is database design and programming. Having said that, I interact with CSS all the damn time when I'm playing with either html or javascript.)
Ok, let me try this again:
I am a web developer. Something that is always in the back of my mind when I'm working (and sometimes even when I'm not at work.. like right now!&!$& goddamn you people!) are the various differences between 1. the standards 2. internet explorer 7 3. internet explorer 6 4. firefox 5. etc..
I build websites and online tools for an entire school that is a wing (I guess you could say) of a large University. I am only one guy... but there is a lot of stuff going on and a lot of ways that a database-driven web application might help speed up a process here or there.. Which is pretty much my job - the envisioning of these online processes, their creation, maintenance (sort of), testing, upgrade, training, etc, etc.
There is a point here!
Since I am only one guy and there is a lot of stuff to do, I have to always compromise between the number of people who can view the website I've built in the way I've envisioned it and how fast I want to roll out whatever I'm working on.
Now.. this is a unviersity and everything has to obviously be professional, so great care is taken that everything that is seen by any of our clients (students, faculty, people who give us money, etc.) is awesome and works amazing in at least the top 3 browsers.
Anything internal though, and there are far more compromises there.. (and yes, I am finally getting to my point..) I mean, often I am forced to design for the latest internet explorer, and then fix any bugs that come up in firefox.
I mean.. in an ideal programmer's world you design for one platform, and that's all you have to worry about! Since my roots are in programming (I was coding in c, c++, java, pascal, assembler, lisp (ugh), cobol (i was young) before I made the move to the web) I am used to this. Now, when you program for the web, you have to keep in mind this one extra layer of abstraction.. which makes everything a hell of a lot more annoying.
It's like having 5 different compilers, each based on a different yet similar language.. It's annoying because it doesn't have to be like this, and most of the problems do lie with internet explorer. (this particular point doesn't seem to be under debate, so I'm not going to list any examples)