For codding, I would go with:
Beginners might be able to do 50%-75% of them without assistance, should never be the one to design a system (not if you want to deal with it in the future). (1 to 3 years experience)
Intermediates might be able to do 75%-100% of them without assistance. They should not be designing systems, just small plug-ins, while they gain experience. (2 to 7 years experience)
Advanced should be able to do 99%-100% of them without assistance, 10 times faster than 'Intermediates' and with 10 times less code AND (really important), the code must be maintainable and extensible (so an entire team can work on it). (4+ years experience)
If you ever worked with an "advanced" programmer, and the guy was not an *** to everyone, you would really go "wow" from time to time from all the stuff they come up with.
For the skills you would need, it all depends on the job your looking to get.
An integrator (HTML, CSS, etc) does not make as much $ as a programmer (PHP/MySQL/code stuff), but the job can be learned WAY faster.
An integrator does not HAVE to know any codding, just the concept.
A programmer does not need to know HTML (they know XML, so can code HTML... but worst than frontpage).
All depends on your context/what you want to do. (but always easier to start on the front end, and then get some codding classes, if you copy paste code off the net, you will never become anything more than a "script kiddie".