I'm a HTML/CSS guru, with an intermediate understanding of javascript. I work for a massive tech company and I'm the only ones with these skills in my office. I've been doing it for about a year and most of the developers I work with haven't worked with someone like me before but they really enjoy it. The way I have differentiated my skill set is by having a background in visual design and ux. In any decent app or website, there will always be a need for someone to translate the actual visual design into front end code. Backend developers either don't know how to do this or aren't interested in doing it. Therefore, I think there will always be a place for people with my skill set. However, I am working on my javascript skills to make myself more valuable. I do have a good understanding of programming concepts though (eg: loops, mvc, some database stuff, etc...). This allows me to talk to the backend guys, and even though I don't know exactly how something works, I understand enough to get my point across. That is where the real value for the other devs comes from. Someone that understands the principals but specializes in something they can't do or care about.