What to prepare for a front-end job

This post will not cover the interview itself in details, more like the preparation and the information you send when you apply for a position.

Good thing is that some of the tips here will work for other positions aside from Front-End ๐Ÿ‘

JS, HTML/CSS or Both?

First question that comes to mind when I review applicants – is it a JS person or HTML/CSS person, or both? What is the skill level for each one?

HTML/CSS means that you are proficient in styling, you can write clean markup and you can replicate a UI just by looking at a picture. Of course, to have such a working level, you need to know JS to the level of adding basic interactivity (events) and work with the DOM. Be it vanilla JS or jQuery its irrelevant.

JavaScript skills mean that you are actually a programmer. You can build functionality, work with APIs, CRUD operations, you are master of the DOM and you know about data structures, algorithms and so on, you get the point.

You must see the clear difference between the two now. If you have experience in both and you can tackle real world tasks for styling and for logic implementations, you must note that, its quite valuable!


So, to summarize — when you apply for a job, make sure to explain your skillset and the position. It’s possible that the “Front-End” job description of the company you apply to does not differentiate between functionality and styling.

You will save everyone’s time (including yours of course) if you make it obvious. Set the right expectations. If you don’t specify HTML vs JS (or both), you might end up hired and tasked with something you are not too comfortable with. It’s like trying out strawberry ice cream, that turns out to be strawberry liquor ice cream, but you miss-read it. Ain’t that disappointing?

Full stack is a joke

Do you apply as a full stack developer? How much experience do you have? If it’s less than 10-15, chances are you are most likely not full stack dev. Unless there is a thing like full stack junior developer, who can get around basic issues in backend and frontend. But then… aren’t we all like that?

Another thing, which stack? Do you know the company stack? The tools, languages and frameworks/libraries they use? Most likely that is not public information, so how can you apply as a full stack developer? If you still do it, at least write the stack in which you are proficient.

Since this is a front-end related article, I will put front-end to the stack. To me, you should be at least senior level at HTML/CSS and front-end + backend JavaScript. Senior level at PHP (quite possible) and databases. If there are other additions like WordPress (my thing, had to add it), then you need to have deep knowledge there as well.

Do you see now how you would need at least 10-15 years to acquire it all? I have doubts that someone who covers all of this will even bother reading this post.

Information

You need to provide good information about yourself. Here are a few things to add:

  • The environment in which you worked (1-2 sentences). Example: 5-6 people team focused on product for a few years.
  • Side projects. Best are URLs for live demos or github repositories. The more good ones, the better.
  • Experience: Do not write stuff like “50% HTML”. This is meaningless. Write types of projects you’ve used a certain technology, problems solved etc. Write it like a case study, but keep it short.
  • Add your best selling point first. If possible, don’t just send a basic CV. Add everything great about you in easy to see format.
  • Keep it tight — do not write long sentences and paragraphs.

Try to stand above the rest. Most people add the following:

  • Link to Github profile with 2-3 old projects (a few years back). Most projects are small too.
  • “Front-End developer” position. Nothing specific
  • “I want to work in your company because I saw how awesome it is”. yeah yeah
  • “I want to learn from you” — that is great, but people usually pay to learn, here you want to be paid to learn. Better use the text area to show how you are valuable to the company.

If you are senior and can’t fill much information as shown above, then sit back and consider your strengths. The problem is that you don’t have proof and everything you say has less weight.

If you say you have 8 years of experience in 2-3 companies and that you have lead a team, worked with 10 technologies, 6 languages etc, you must be senior. But your code could be messy, your problem solving skills are tested on 4+ month sprints and rarely go beyond fixing spaghetti code, then that senior experience might not translate well.

“Senior” level is quite hard to define and each company has a different understanding. No matter what “official” definitions might say, if your new boss considers you senior, you are. If he/she considers you junior, you are seen as junior. If you don’t like it, convince them or try a different place. See which of the two works better.

Internship/Junior

For those who just start, it’s harder. There are a ton of junior developers and way less senior ones. When a senior developer applies, it’s much more likely to start the job, unless unreasonably high payment expectations come into play or he/she is just a bad culture fit.

For junior/internship, this is what happens when you start work at a new place:

  • You get paid
  • You have to be trained
  • You usually don’t work for clients at start
  • You might cause a problem (break functionality), so senior developers have to review your work
  • You might decide to leave the work place once you’ve gained skill and search for higher payment.

As you can see, this is not a very tempting offer for the company you apply to. So you must really show something serious to be considered, even if junior developers are in demand.

The list above should serve as a motivation to prepare well. Have a realistic expectations and push daily to improve. If you are still preparing for a new work, push all your projects in a public repositories.

Then, when you are ready to apply, trim it, to remove the worst ones. 4-5 recent repositories will do wonders, but 4-5 good ones and 4-5 bad ones not so much.

Then, when you apply fro a job, have a reasonable salary expectation. Just because it’s in the IT sphere (“IT” sounds funny now), it doesn’t mean that you make dem moneh rain.

See the list above as again. If you were to hire someone who just started, would you pay thousands for that in return? Doubt that. How much time you spent learning? 2-3 months? 8-9 months? How much time do engineers spend in universities before they start their first job and at what pay? Years studying for average payment. After a few more years it gets better. So now, is it fair to expect high-end income after 2-6 months of studying?

Keep it realistic — push for improvement, request reviews and discuss increases every few (6 or so) months. It reasonable. And if that fails, it’s one skill obtained — learned when to push, when not to, when to change jobs, how to talk with supervisors and how the market works.

Good luck!

I hope this helped out a little. Don’t forget, it’s only my view and it’s is definitely wrong in certain cases, but I believe they are not that many.

Use common sense. Put yourself in the interviewer shoes and see if your proposal is good. Looking for a job is full time job on its own. Out of the 8 hours you have a day, you can easily spend 6 of them on your portfolio and to obtain more skills. Just don’t forget that coding skills is just a portion of what you need.

Best!