I have come to the realisation that senior front-end developer is a 'hard to hire' role.
At GLiNTECH, everyone we interview has to do a basic test: Turn an image into a sliding widget without using a plug-in. Sounds easy right? Wrong, I've had over 30 applicants and only 5 were able to complete it, and from those 5, only 2 of them completed it to a senior level and were hired.
What skills does a good hire-able senior front-end developer have? Why were only 2 out of 30 able to complete the task? A quick web search brings up forums saying that you should know Angular, Backbone, SASS, LESS etc. I disagree, to be a proficient front-end developer you need to know the basics. I have narrowed it down to four skills you need to perfect to stand out from the wannabes and be hired.
4 skills you need to have:
You need to knowHTML. This is not a programming language, it's your mark-up. Getting familiar with how to construct semantic mark-up that's simple and elegant is an art. The better you are at this, the easier your CSS becomes.
Learn how to replicate a picture in CSS and HTML. Every front-end developer will have to do this at some point, a necessary basic skill. A good training exercise is to take screenshots of a website and replicate it in your own HTML and CSS, you can then test your source code and performance against the site you copied to see if you did it better than the professionals.
The fourth skill set is to always expand your toolkit. The first 3 basics are necessary but only get you to a Junior Developer level. Good Senior Developers know which framework/plugins work best in each situation. They are not skilled in one or two of them, they understand that they are tools that make the job easier but need to be chosen to 'fit for purpose'. Look at the frameworks/plugins and compare them. In my opinion there's nothing worse than a closed minded developer. A senior developer once said "When you have a hammer, everything looks like a nail." So don't pick up Ember and do everything in it because that is the one you worked within the last 2 projects. Look at all the possible solutions. Which one suits the needs of this project? Who's going to maintain it? Is it going to be in use for a long or short time? Identify the positives and negatives of each framework or new plug-in, then you can start to architect a solution. If a new framework comes out, you can ask questions like "What is this trying to solve that I couldn't do before?" you can weight up the pros and cons and add it to you toolbox.
If you go through this process I believe you'll be a more proficient developer, able to adapt to various situations.
If you would like to hear more from one of GLiNTECH's experts then subscribe to our insiders list to get more insights to development.