As for the second paragraph: in my experience the type/manner of work involved with HTML and CSS might be closer to programming than to design. I cannot back this up with research, but it's what I've noticed working with designers. I suspect it has something to do with the level of abstraction involved.
For example, I dislike the front-end CSS and HTML part of my work, because so much seems to be based on memorization of CSS tricks and writing dirty HTML that confuses semantic structure from layout. But I can wrap my head around it anyways, and it's more annoying than difficult. But I've worked with many designers who equally dislike CSS and HTML, but lack the fundamental ability/experience to figure it out properly, much as they tried.