A post by Mark Boulton, a web designer who I have a lot of respect for, on the topic of the craft of web design;
For starters, it’s a designer-centric way of working. It’s a selfish exploit to pour love into your work. If you’re working commercially, who pays for that time? You? Well, that’s bad. The client? Well, that’s ok if they see the value. But many don’t.
This is why I'm happy to call myself an "amateur web designer/developer" — because I get to treat my projects the way I want to.
I think the difference between an amateur and a professional (not just in web design) has little if anything to do with "quality" of work — it's the ability to understand how much work is needed for a project, to set a deadline, set a value, and then manage the project to meet those two constraints. Because when someone else is paying for your time, you are responsible for setting their expectations and then meeting them.
As an amateur, I'm paying for my time. I find it slightly strange that more people don't think that way about web design or coding — it seems that its perfectly acceptable to be an amateur painter, musician, writer, poet, etc. etc. But I don't seem to hear much about amateur developers or designers.
Maybe there aren't many people who think its fun to spend time in BBEdit, Photoshop etc. (Believe me, when you don't need to worry about things like hacks to make your code work around a bug in Internet Explorer, it's a lot more fun…)
Or maybe there are more people who want to deal with deadlines and project management as a part of the design/development process.
I doubt it though.