What skills should a 'mid-level' frontend developer have?

Frontend as in HTML/CSS/JS.

Just wondering if I was going for a mid level web developer job coming from a freelance/hobby background. What should I know and at what levels?

I’m still studying towards my degree so my comments are based purely on what I’ve observed reading job descriptions for front end developers.

It seems that front end developers spend a lot of time chasing trends (nothing wrong with that - always learning something new is good as far as I’m concerned) so be prepared to retrain regularly. Most frontend jobs I have seen advertised require you to know the bread and butter stuff like XHTML/CSS3/JavaScript inside and out, with a lot of them asking for HTML5 too. I don’t think I’ve seen any front end dev jobs posted that don’t ask for experience with jQuery (or another JS library), and some asking for experience with Modernizer. I’ve also seen front end dev jobs that ask for experience with things like Blueprint or Grid960. Having experience with something like FireBug would also go a long way too, I would imagine.

Beside that, you’ll probably need to have a working knowledge (not an expert, but an overview of how it works) with whatever server-side technology is powering the site (PHP/Ruby/Python/.NET + respective languages). Beside that, being able to use Photoshop + perhaps a templating system if your prospective employer uses one.

I don’t think the core stuff changes too drastically with front end development, just a lot of swotting up on the libs/frameworks that come out (and HTML5)

Front ends need to know HTML/CSS/JS like you said. Look at a lot of the job ads and you’ll get a sense of what they need. Many front ends are adding extra related skills too. Eg, strong SEO skills may be a plus for certain companies. Another example is front end devs that also know photoshop and UI design. If you’re just focused on HTML, CSS, JS and nothing else, you need to be damn good at it. It’s pretty competitive these days so do anything you can to stand out and have a good portfolio to demonstrate the skills.

To what level is hard to say - I’d say you need to be able to confidently write them from scratch. Someone gives you a task and you can immediately do it, without having to Google and spend hours cutting and pasting code. :slight_smile:

http://rmurphey.com/blog/2012/04/12/a-baseline-for-front-end-developers/ says it better than I could.

If by mid you mean junior than your not a junior, at best entry level. Junior status requires EXPERIENCE other than playing around on your own time as hobby. The skills would be HTML, CSS, JavaScript (NOT jquery copy and paste) alongside beginner – intermediate understanding of a server-side language which the company hiring is using. Most shops hiring front-end roles are using server-side technologies and it is the responsibility of the front-end developer to make changes to templates intertwined with server-side code to achieve design goals. If you don’t know that or are not willing to learn your just about useless within a real world setting. Not all jobs will require that but most will.

I wouldn’t take many things in that article to seriously. I mean all good information but much of it is bias based on the environment which is being used. Most people don’t expect front-end developers to be a shell guru. Hell I’m a developer and I’m certainly not. I know enough to get around really. Going with that is using all those different dependencies like homebrew, ruby, etc. Those are very specific to type of workflow. It is VERY likely that different companies have different workflows from version control to programming languages to their own custom software. It all depends. Even the version control stuff is good but I think *most people know that is something that can easily be learned with a little guidance on the job specific to the tasks at hand. I’m not necessarily saying these things *aren’t important but not the meat and bones, more like nice to haves. Everything in that article describes an ideal candidate who it really more a general purpose developer than a front-end engineer. Just add on familiarity with rails and ruby there you go.

That’s a fair point, but the shell was only one point in the article.
I’d say knowing git is becoming an essential skill for all developers - not all companies use it but because of the community in github it’s important for front-end developers.

It’s certainly a high bar she sets, but that was kind of what the OP was asking for - A higher bar to reach for.

Reading though the comment I think this one should be a precursor to reading the article, hardly a baseline but more wish list for a junior or senior level position. Putting aside some the environment specific stuff.

To be fair though all those added up dependencies can also come back and bite you in the ass if your not a shell guru. I agree though with version control. Necessity down the line when dealing with teams of people, most definitely. Knowing the good parts of JavaScript is great but even that is subjective. First learn javaScript than possibly deal with the less important stylistic issues.

Thank you very much for the useful advice, it certainly gives me some perspective.

I’m looking for a permanent role as a web developer but unfortunately I don’t have any commercial experience so was not really sure what their expectations are out there. Looks like I’m not quite ready yet, but will stick with it!