How to start a career as a frontend developer??🚀Look no further.💁
Tags: codenewbie, career, beginners, firstyearincode
Published: 2020-12-12 00:20:10

<p>Salut(its hello in French😇)👋</p>

To start a career you need to learn the skills of that career.
There are many ways and resources that can help you in picking up these skills but the path isn't always clear with so many options available for learning and for someone just starting out it can be really overwhelming.😑😭 Trust me i have been there.

My aim of writing this is to literally hold your hands🤝 and walk you through the process/path that would give you an edge over other newbies. Are you ready? OK Allons-y🕺(let's go).... 

<h2>Who is a front-end developer</h2>

Have you ever looked at a website and wonder how/what made it worked? How the website layout looks different on different screen sizes or how a button acted when clicked? All these and more are done by a Frontend Developer. 

<h2>Skills required</h2>
<ul>
   <li>The internet</li>
    <li>HTML</li>
    <li>CSS3</li>
    <li>CSS Framework</li>
    <li>Javascript</li>
   <li>Javascript Framework</li>
   <li>Version Control System</li>
</ul>

<h2>The Internet</h2>
![An HTTP error message😫](https://dev-to-uploads.s3.amazonaws.com/i/cys192bouqi6vjpwygih.jpeg)

Learning about how the internet works can be boring🙊(please don't tell anyone I said that😂). I just narrowed it down for you to 3 important/neccessary aspect🤗. 
1. Learn about HTTP.
2. Learn about DNS.
3. Learn about domain names(how to get a domain name,etc) and web hosting(both free & paid).⁣

<h2>HTML(Hypertext Markup Language)</h2>
I see HTML as the foundation of web development. I want you to see it as that too.😇

To build websites, you should know about HTML — the fundamental technology used to define the structure of a webpage. HTML is used to specify whether your web content should be recognized as a paragraph, list, heading, link, image, multimedia player, form,etc cool right?😎

![what html looks like](https://dev-to-uploads.s3.amazonaws.com/i/kxrqgg9to100y6tdlr4s.png)


<p>Here is my learning path for you🤗</p>
1. Learn the fundamentals(very important)
2. Conventions and best practices
3. Semantic HTML
<ul>
    <li>Semantic HTML elements are those that clearly describe their meaning in a human- and machine-readable way.
<p>Elements such as <code> header</code> , <code>footer</code> and <code>article</code> are all considered semantic because they accurately describe the purpose of the element and the type of content that is inside them.</p></li>
</ul>
4. Forms and validation
5. SEO basics as well as accessibility.⁣

<h2>CSS</h2>

</p>CSS(Cascading Style Sheets), is a style sheet language. How HTML is responsible for the content and structure of the web page,CSS determines how this content should be presented visually.</p>

<p>You can use css to add colours, change fonts, insert background color and to some elements, as well as to style forms.</p>

Once you know a good amount of HTML you should start learning these:
1. Learn the fundamentals
2. Css Grid 
3. Positioning
4. Display
5. Box Model
6. Flexbox
7. Responsive design and Media Queries

<p>CSS is also used to <b>make web pages responsive</b>(ie making the structure of the page fit perfectly into various screen sizes like smartphones, tablets,etc).</p>

![Responsive design](https://dev-to-uploads.s3.amazonaws.com/i/jig1pp5c9xmikuwrx0q6.png)

<h2>CSS Frameworks</h2>

![css frameworks image](https://dev-to-uploads.s3.amazonaws.com/i/tux503q28cy1hclav2qt.jpeg)

<p>CSS frameworks are tools used by developers to make their job easier.A framework contains ready-made components and tools that enable the developer to write code faster.</p>

<p>Frameworks give developers the tools to quickly spin-up user interfaces that can be tweaked and iterated on throughout a project instead of trying to reinvent the wheels everytime.</p>
<h4>Some css frameworks🤗:</h4>
<ul>
<li>Bootstrap(my personal favorite)</li>
<li>Tailwind css</li>
<li>Bulma</li>
<li>Materialize Css</li>
<li>Foundation etc</li>
</ul>
I can't say which is the "best". I believe personal interest differs.
My suggestion is to check out all of them and know the one that resonates with you better.😜

<h2>JavaScript😈</h2>

I hope i didn't scare you with the emoji? Don't worry javascript is not hard(coughs😂)

<h4>What is JavaScript?</h4>

JavaScript is a programming language that adds interactivity to your website.

From my experience javascript is a very beautiful language. I am always intrigued by every new thing i learn.

However, getting comfortable with JavaScript is more challenging than getting comfortable with HTML and CSS. You may have to start small, and progress gradually. I hope you are still with me? Ok let's continue💯

Now that you know some CSS start learning some javascript. Learn the fundamentals before trying anything else.⁣

1. Learn the fundamentals
2. Syntax & constructs
3. DOM manipulation
4. Fetch API/AJAX
5. ES6 & Modular JS etc

<h2>Javascript Frameworks</h2>

JS frameworks are collections of JavaScript code libraries that provide developers with pre-written JS code to use for routine programming features and tasks. 

Same with css frameworks, js frameworks are used instead of trying to reinvent the wheels every time. 

<h4>The Big 3 JavaScript Frameworks</h4>

The three JavaScript frameworks that currently dominate the market in terms of popularity and usage are:

• React

• Vue

• Angular

Again i can't tell you which to choose. Check all three out and stick to anyone that resonates with you better.

They each have large communities. When you want to start your new project on front-end technologies, these three are your best bets.

![Js Frameworks](https://dev-to-uploads.s3.amazonaws.com/i/jd3kteoiy9umyo7z1w1v.jpeg)

<h2>Version Control System </h2>

Now at this point, you could stop here and you'd have your first website, but when working with large teams on projects you want to know about version-control systems like git.

Git is a content tracker. So Git can be used to store content — it is mostly used to store code.

Version control is a system that records changes to a file or set of files over time so that you can recall specific versions later. Version control helps in handling the codes in git.

<h4>You should learn these:</h4>

1. Learn basic git commands
2. Terminal
3. Repository hosting system 

Git cheatsheet👇
![Git cheatsheet](https://dev-to-uploads.s3.amazonaws.com/i/lwvw6gnnyjipac1hxhbi.jpg)

<h2>Wrap Up</h2>
• I believe that with the detailed information above, nothing can stop you💪 from becoming a frontend developer except you

• Please don't make learning a  framework a substitute for learning vanilla Css and/or Js. You really don't want to do that.

• Believe me when I say the path to becoming a developer isn't all red as roses. A period would come and you'd feel like giving up(i got those thoughts😪)

I believe you can do it. Feel free to share your struggles/progress with me on twitter.🐦

🙌I'm rooting for you❤&💡