Essential skills for Front-end Development 



Assalamualikum, my name is Maynul Haque Jim. In this blog, we're going to talk about the five essential skills you need to land your first front-end development job. I'm going to give you a detailed explanation of various languages and tools you need to know as well as the proper learning path and suggestions on how long it will take you to learn these.



There are so many languages and tools out there, HTML, CSS, JavaScript, TypeScript, Java, C, sharp, C++, PHP, Python, react, Jesus, if you have been confused and feel overwhelmed, you're not alone, trust me. So today, I'm going to give you a clear and solid learning path. So you spend your time on the things that matter the most. One of the mistakes that a lot of beginners make is that they waste so much time jumping from one thing to another, and they don't learn anything properly. So this blog post is for those people, I'm going to give you a summary of these languages and their purpose.

To become a front-end developer, you need to start with HTML, CSS, and JavaScript. These are the fundamental languages of front-end development. We use HTML to structure our web pages, we use CSS to make them beautiful, and JavaScript to program that, let me give you an analogy. Think of building a building in the real world is like a webpage on the internet. It has a skeleton or structure. It can have pretty walls, windows on tiles, and it can have certain functionality. For example, when we press the elevator button, it comes to pick us up. Every web page on the internet you have seen is built with these three languages.


So the better you learn to understand these languages and their features, the better you will be at front-end development. Okay, so that's all for the fundamentals. What's next? Well, building websites often include a bunch of repetitive tasks. This is where front-end frameworks and libraries come. A framework or a library comes with a lot of code that we can reuse in our websites. So they help us get the job done faster. That's why a lot of companies these days, use one of these popular frameworks like React, Angular, or view.


Now more accurately, React is not a framework, it's a library. The difference between a framework and a library is that a framework forces our application into a structure. So all applications built with a framework like Angular end up having a similar structure. So as you move from one project to another, you will see a lot of things are familiar. Libraries don't force our applications into a structure. They just provide some code for us to reuse. But subtle distinction aside, all these tools serve the same purpose. They help us build applications faster. Now, you don't need to learn all of these to get started. As you move jobs, you may need to learn about the other tools out of these React is the most popular tool is built by Facebook and is used to build Facebook and Instagram. So I would say go for React. 


Alright, what's next? version control systems, we use version control systems to track our project history and work collaboratively with others. That's why you will find it in almost every job description. Get is the most popular version control system in the world and is used in 70% of software development teams. So just focus on getting and don't worry about other version control systems.

Well, CSS is kind of an old language and it has limitations. So if you use it on a medium-sized or large website, sooner or later your code starts to get pretty convoluted and becomes hard to maintain. So every time you want to change something The break something else. Now you might wonder why CSS hasn't evolved? Well, it has and is currently at version three. But every time there is a new feature in CSS, all existing browsers need to support that feature. Unfortunately, this is a slow process. So this is where CSS preprocessors come in. A CSS preprocessor is a program or a tool that lets you generate CSS code from a different language that is better and more capable than CSS. So instead of using plain old CSS, we use another language that looks very similar to CSS. In fact, it's almost identical, but it has some extra features, then we give our code to a CSS preprocessor. So it gets converted to the plain old CSS code that all browsers can understand. That's the purpose of CSS preprocessors. There are many preprocessors out there like Sass, less, and stylus to name a few. But again, you don't have to learn all of them to get a front-end developer job. Because these are all similar tools that serve the same purpose. They're all like screwdrivers manufactured by different companies. So as long as you understand the purpose of a CSS preprocessor, and know how to use it, you're good to go. So my suggestion to you is to learn Sass because it's the most popular CSS preprocessor. Now, we have the same problem with JavaScript, because JavaScript is a fairly old language and has some limitations. So a lot of developers these days use a more modern language like TypeScript or CoffeeScript to write code, then they give their code to a program or a tool called transpiler, which could translate and compile the modern code to the old JavaScript code that all browsers can understand. Once again, you don't need to learn all of these languages, you just need to know one of them to get started, I would say go for TypeScript because it's most widely used. As you move jobs, you may work on a project that uses a different language, you can then quickly learn that other language in a short period of time because all these languages are more or less very similar. So to get your first front-end development job, first, you need to learn HTML, CSS, and JavaScript. I would say if you spend three to five hours a day studying and coding, you should be able to have a reasonable understanding of the fundamentals in three months, you're not going to be an expert, but you will understand them well enough to make things.

Next, you need to learn a front-end framework or library like React, you will probably need one or two months to learn to react. After that you should learn a version control system like yet, you should be able to get the hang of it in about two weeks. These are the absolute essentials that you will find on almost every job description, that if you have extra time, I would recommend you to learn SAS on TypeScript to stand out from the rest of the crowd and increase your job opportunities. SAS is pretty easy, and you will need a week or two to learn it. TypeScript requires a bit more time and would probably take two to four weeks. So if you dedicate a few hours a day studying and coding, after six months, you should be able to apply for a junior front-end developer job. Of course, everyone is different, you might get there faster, or it might take you longer to get there. Don't let that discourage you. I believe you can achieve anything if you're determined and passionate about it.