Being self taught, and now being in my second full-time position which has only been a progression upwards (in terms of skills gained/used and salary), I guess I could tell you what worked for me as a front-end developer.

I was fortunate in that my first job came to me, but that was only because I had a portfolio online and I had put it out there on linkedin, Twitter, various job sites, etc. My second job was posted on Google Groups, and I reached out to them to apply for the position. I got the job, and I'm happy where I am ever since.

Have evidence of your skills -- be it an online portfolio, some code examples that you can explain/demonstrate, or evidence of contributions to projects and a working knowledge of the technologies you need.

Have evidence that you're able to deliver -- it's okay to be working on your own website on and off for six months, but in the 'real world' there are deadlines. Have some evidence that you're able to work to deadlines.

Be passionate about the kind of work you're wanting to get in to. -- If you're not working on your own projects outside of work, you're not passionate. This isn't just a job to pay the bills.

Specialise - There's no benefit to being 'okay' across the board, nobody will take that seriously. Any good company/startup with an idea for the position they're trying to fill will want a specific set of skills. I went from being a 'web designer' in my previous job (which was a broad term that encompassed anything from creating HTML emails, resizing images, writing jQuery, fixing cross-browser bugs, writing batch scripts to parse xml/xslt with saxon, writing bespoke PHP/MySQL applications, etc.) to being a 'front-end developer' in my current job (which means I'm focussing more on css/html/javascript, championing these areas in the application/website the company is building, being the 'go to' guy for queries regarding these areas, working with designs designed by a designer, and working with a back-end/processes put together by our back-end developers).

Be able to demonstrate or put across that you're able to work well, and work well within a team.

Besides that, I'd say some basic skills for a front-end developer are:

- able to craft valid HTML

- know your way around CSS quirks and how to fix them, especially cross-browser quirks.

- write well-formatted code

- be familiar with CMS/templating engines. If you're familiar with variables, condition statements and for-loops in one language, you should be able to pick up most templating engines.

- know your software and be able to justify your reasons for using it over other software

- know the major browsers.

A lot of teams these days are using Agile/Scrum methodology for development, so having some understanding or working experience of using Agile might be useful depending on the job you're going in to.

Don't worry if you don't have all of the skills necessary for a job, in many cases not understanding a specific library/language isn't an issue providing you have some equivalent understanding of another language and are able to learn. Some personal examples:

- in previous job I hadn't used XSLT at all before starting there, but I had an extensive knowledge of PHP/Wordpress templating, so getting used to the syntax of XSLT wasn't very hard, and I picked it up in a week.

- in current job, I had no prior experience with Django but again using similar templating languages in the past helped and I've had no problems. (Also for some side projects such as my personal blog, I use Jekyll which uses liquid-tags similar to Django templates, so that skill has improved/carried over)