I've got a rule, which is to never write a blog post angry. It's a good rule, but it's a bit ambiguous. What, exactly, does angry mean? How long after being angry counts as not being angry anymore? What if I'm only mildly annoyed, or just a bit frustrated? What if I'm angry, but can write in a way that makes me sound not angry? These are the kind of questions I wrestle with.
Anyway. I've been reading a lot of CVs recently, from people applying for a frontend developer job. I've been building websites for twenty years, and while I won't belittle someone for having less experience than me, you need to know certain things to be a frontend developer. Here's why.
The barrier to frontend development is extremely low. Most people can be taught the basics of HTML and CSS within an hour, and classes and online tutorials that do this are widely available. This apparent simplicity belies an enormously complex world of detail beyond the basics that can only be reached through not only years of study but also a continued effort to improve and build upon that initial knowledge. Frontend development is a constantly moving target and sometimes you have to run to keep up.
There's something about this low barrier to entry that I find maddening. Maybe it's the suggestion that someone can do what I've spent a lifetime doing after only a weekend worth of training. Does this happen in other professions? Do doctors constantly run into people who've done a first aid course, who think that they could now be a doctor? I really don't know.
Here are some common types of CV that I come across.
You're a backend developer
You potentially could be, if you're prepared to make the switch, but frontend and backend are very different disciplines and they attract different kinds of people.
You know Bootstrap but nothing else
Bootstrap is a CSS framework. It's basically a load of pre-built CSS and JS designed to help people quickly build websites that look like and work like Bootstrap. If you tell me you're a developer and you use Bootstrap my first question is: how good would you be without it?
One of the reasons to use Bootstrap (or another framework) is of course code reuse. There are certain things you need for every website build and writing them all over again each time is wasteful. But I'm not impressed by someone who can use Bootstrap to create beautiful sites but couldn't write their own framework if they needed to.
You've done a course that lasted less than a year
Maybe you did a course online with some video tutorials or maybe frontend was one of your modules at university? Or you've been on one of those weekend conferences, with workshops, and the guy running it said you were really good. Whatever, it was pretty straightforward stuff, so of course you could do it professionally, right? Right?
Not really. These are great places to start, but only that. You need skills and you need experience. If you haven't got any experience, find a way to get some.
You did some frontend a few years ago
If you're not keeping up, well, you're not keeping up.
You don't know what these words actually mean
Let's see how many you know. I mean really know, as in can explain properly to another frontend developer.
- Pseudo class
- Grid system
- JS library
- JS framework
- Responsive layout
- Fluid layout
You don't know what a block level element is
This doesn't come up on CVs, but I see it in people's code more often than I should. If you don't know what a block level element is you've fallen at the first hurdle, but here's a quick list of elements to test you. Which ones are block and which ones are not?
You're guilty of any of these crimes
I made a list a while back of crimes against frontend. See if you feature anywhere on it.
You haven't got any examples of your work
The first thing I want to see on a frontend developer's CV (after a list of their specific frontend skills) is their own site, and the first thing I look at on that site is how they've built the frontend. If you don't have your own site, I begin to lose interest in your CV. Would you trust an overweight personal trainer? Or a dentist with bad teeth?
The next thing I look for is a portfolio of your previous work, for the same reason. If you haven't got a one yet, here are my thoughts on building a portfolio.
The light at the end of the tunnel
I've been quite negative in this article, but there's hope. If you think you fall into one of the categories above and are now feeling disheartened about your career in frontend development, don't worry. But let's be realistic. Getting into frontend is easy, but being excellent at it requires more. You don't need loads of qualifications and you can learn a lot by yourself, but it does require commitment, time and experience before you can be really good at it.
Fortunately, the availability of tools and information online means that if you study hard, experiment and work to improve your skills, it is possible to gain enough knowledge and experience to get a frontend developer job. Once you've got a foot in the ladder, you can learn directly from others around you and build on what you know.
There's some basic stuff about writing a CV that a lot of people seem to not know about, so here's a few quick pointers.
- Link to examples of your work. I see this time and again - people describing work they've done on a site but not linking to that site or providing an explanation why they can't link to it (e.g. it's behind a login). Links are the next thing I care about, because I can examine first hand the quality of your work.
- Have your own website. Your passion for web development should be easily demonstrable through your own website, which should also reflect the current peak of your development ability - I should be able to look at that site and be impressed by your skills.