Today we are going to talk about what makes a good front-end developer or engineer or the skills that are required at least bare minimum to make you a front-end engineer.
If you are already working as a front-end engineer then you can see if you know all of these skills and if you are learning to become a front-end engineer this should definitely help you plan for the future.
So we are going to put everything into 2 categories – A must learn to be a front-end engineer and some optional things that would enhance the overall portfolio.
But if you don’t have it, that’s fine. We will also discuss some of the things that you should not learn right now at least because they are either old or they are useless. So you don’t want to waste your time learning.
So let’s start!
Let’s focus on the second a must learn thing version control especially Git and GitHub. Even if your company is not using it, you need to keep building your portfolio on GitHub right! So when you look for a job you can say, look I am not only working, I am also contributing to these GitHub. You can showcase your skills. OK! You need to have a side project that you try out anything like that right? Because nowadays most of the people who are looking for a good developer they also ask for your GitHub URL.
The third important thing to learn or must learn is NPM/YARN. You can’t get around this either. Either you can learn NPM or YARN doesn’t matter. Both are pretty similar. You need to know what is a dependency. What is web dependency? How packages like JSON really work?
You need to know semantic versioning, semantic versioning is nothing but when you have a version number in your package JSON with 3 numbers x.y.z what NPM decides which version to use. It uses those carrots or tilde to make that decision and if you don’t know which version is being used, you also need to know the NPM scripts right! So you can automatically know things in package JSON.
All right! Next important thing is Linux. A lot of people would disagree with it, if you are working in a bank or in a windows environment you know Microsoft environment, they may not be using Linux but I think it’s good to learn Linux. Because if you are looking at any CLI you know you need to do command line Interface and you don’t get around this anymore right? So Linux is pretty important skills to learn.
You also need to know web Pack. There are frameworks that don’t use web pack but most of the people are moving towards that or that seems to be a new fashion, so you need to know either of it.
So now look at CSS. Without CSS you cannot become a complete front-end developer and I feel like a lot of people don’t know CSS and they are confused. What should I know in CSS that right? That’s why it is so important that makes anyone a good front-end developer.
And one thing which people say, if you can build a layout from scratch if I told you that you need a container which is this much and you have a left container which has two sections all that stuff.
Can you build this? What exact stats that need should be responsible and all that stuff and if you can do that then I would consider you a good CSS developer because if I have to do border or padding, margins etc. I cannot always look at the syntax and all that stuff. But when it comes to creating something from scratch its very hard and CSS can be very confusing.
So there are 4 things that I would say that you need to know in CSS. If I want to build a layout by myself, I need to know display property.
I need to know position property, Z-index and nowadays if you have Flex, if you know Flex if you know these four things then you have pretty good control over your CSS.
The next topic is what things there are optional and good to know –
The first thing that comes to my mind is SVG or CANVAS. You need to know at least one of the GULP/GRUNT whatever. If you know service workers then you would know how to build a progressive web hub which is very important skills nowadays.
Next thing is you need to test at least one good test framework. It can be like Jazz, Mocha Framework, Protractor, Zest whichever.
Also mobile development. I think everything is moving towards mobile development, so I think encourage everybody to at least start learning at least mobile development using React, native skills whichever you have learned because sooner or later you will go there.
JQuery, there was a time that jQuery was the king but now more and more people don’t want to go with that at least don’t want to spend time learning jQuery.
I hope you learned something from this article!