# Guide to stand out as a Front-end Web developer seeking their first job!

Hey there! Are you feeling stuck in the crowd? Then I've gotta way out! 🚀

> 
There is no alternative to hands-on for succeeding as a developer!

## basic must-knows

#### googling the stuff you don't know

- that's the most basic thing to know first, as a developer you won't be knowing each and every stuff. but you have to develop this skill of googling and learning things by yourself. 

#### The bare minimum

- HTML
- CSS: don't use frameworks or libraries when you are on a learning path
- Pre-processors of CSS like SCSS.
- **extremely important**: Good JavaScript knowledge
- React
- Optimizing react application
- Writing modular front-end code
- CSS-in-JS
- Wrote libraries in JS? Like your own miniversion of [Lodash](https://www.npmjs.com/package/lodash)?
- Knowledge of how different kinds of API works
- State management (damn important!) : ContextAPI or Redux (enough)

## now here comes the "standing-out" part

#### write modular front-end code

- understanding and implementing clean and scalable UI design is an overlooked skill as a front-end developer.

- your front-end code also needs to be well structured such that the components are reusable

#### typescript

- good understanding of javascript has already made you stand ahead of most of the crowd, but to make your game one more level up, go for **typescript**. 

- What's typescript? in short: it's strongly typed javascript or javascript with datatypes

- why is it good? Simply because it makes development faster and less prone to errors.

- most organizations write applications in typescript as it sets a convention for the whole team of developers working on the same product. 

## Testing

The truth is most of the new front-end devs I have come across have never been through testing. 


> Read about [Jest](https://jestjs.io/) for detailed knowledge about this particular section 

Remember: Anything that reduces your debugging and development time will save $$$ to the company, and hence you will be a good investment for them!

- Test-driven development (TDD): results in better code quality, reduced production bugs, and reduced debugging time. 🛠

## dev tools

- javascript bundlers: packs all the dependencies into static content that is renderable by browsers. 
examples: [webpack](https://webpack.js.org/) or [parcel](https://parceljs.org/)

- learn debugging and use tools to debug your code. it's better than doing `console.log("here")` on every other line.


## general advice for any developer starting their journey.

- make lots and lots of projects, practice will make you better each day!

- have those projects deployed live and also on Github, so that recruiter can actually see your work and can have confidence in hiring you!

- stay humble, and friendly with your dev community as peer groups will have a great impact on your learning journey.

- don't shy away from teaching things you know and asking things you don't know.

- often take part in hackathons (online or offline - it doesn't matter), 

worst case: you will learn and have a new project in your portfolio. 

best case: you will learn, win and have a new project in your portfolio.

> the worst-case scenario is also a part of your upcoming win as it is improving you!


## last note.

I wrote this article as a raw and pure form of information I could fetch from my experience. All of them are actionable things you can practically achieve and be a good front-end dev that most of the companies would be pleased to have.

> The key rule is: Be consistent and make a LOT of PROJECTS. there's no other way 😄 
