No matter what type of IT job you hold, it seems like sooner or later you need to know HTML. For web designers, of course, it is a core skill, but even in non-web-related jobs, it is occasionally necessary. You may need to produce a report in HTML format, for example. Unless you work in an environment that strictly uses the model-view-controller design pattern, where production of content is separated from display, and have no older code that doesn't meet these standards, web programming also requires producing HTML. And these days, with more and more applications using a browser as a display method, almost all programming has an element of web programming sooner or later. Support roles often involve supporting people using the web in various ways and a knowledge of HTML can be useful there as well. And of course, you probably have a personal website or blog either out of personal interest or to support your career.
As both a systems administrator and a programmer, I've found that I tend to use HTML heavily or a while and then not at all, so when I come back to it after a break, it is essential to have a good reference. I also think it is important, if not essential, to write accessible, standards based HTML. This makes your content visible and understandable to people regardless of which browser they are using (including screen readers) today and in the future. It's amazing how while a public web site often gets changed regularly, things like simple, quick, HTML-formatted reporting programs seem to hang around, be reused, copied and otherwise persist forever.
My absolute go-to book for HTML is HTML Dog: The Best-Practice Guide to XHTML & CSS by Patrick Griffiths. HTML Dog works well as both a teaching text and a reference for writing standards compliant, accessible HTML. I find it particularly valuable because it teaches the separation of content (HTML) from presentation (CSS) from the beginning, rather than teaching deprecated HTML presentation tags like <font> and <b>. For programmers, this is the model-view-controller design pattern applied to web-content. If you are producing code that makes HTML-formatted reports, you certainly don't want to have to rewrite your code if the company colors change from blue and green to red and gold. CSS allows you to avoid worrying about this. Better yet, it allows programmers to add just content information, like marking section headings and paragraphs while a user interface expert and/or web designer manages the presentation using CSS. HTML Dog starts with a narrative section that devotes a chapter to each important HTML and CSS area, like text, forms and alternative media (printers, screen readers and mobile devices.) The text also includes links to the HTML Dog website (http://www.htmldog.com), where you can actually see the code in action and use your browsers show page source function to see how they work. While the website and the book work well together, they are each useful resources in their own right. The narrative section is followed by two detailed alphabetical references of HTML and CSS. While each reference entry is detailed enough to stand on its own if you understand HTML and CSS, a link to the appropriate narrative section is included if you want more detail or context.
There are many books on learning HTML and CSS, and many references, but I have yet to find anything as good as HTML Dog at either one. It is one of the few books that have earned a reserved spot on my desktop and I recommend it unconditionally to anyone who uses or wants to learn HTML and CSS.
Patrick Griffiths. HTML Dog: The Best-Practice Guide to XHTML and CSS. (Berkeley, CA: New Riders, 2007.)
HTML Dog website
Buy HTML Dog: The Best-Practice Guide to XHTML and CSS at Amazon.com