Becoming a better frontend developer in 2023
Tags: frontend, webdev, beginners, programming
Published: 2023-01-07 22:32:47


Frontend development is a field with a pretty large scope, but simply, when we visit a website, the front end is what we initially see. It refers to the development of the user interface with which we interact in web applications which are sometimes called the "Client-side" or "Web UI".

To become a better frontend developer, you need to be more informed of the roles and importance frontend development plays as well as the technologies and tools required to build a web application.

Frontend developers have a constantly increasing demand as they are an integral part of any web application, which is why it's relevant to develop your skills to open yourself up to better opportunities.

<h3>Front End Developer Roles and Tasks</h3>
Some common roles of frontend developers are :

- Frontend developers work hand in hand with UI/UX designers to build the user interface and experience of a web application, developing designs into webpages we see in our browsers using code.

- They ensure the web application is responsive across various screen sizes and compatible across various devices and web browsers. Ensure web applications have good performance, Search Engine Optimization, and accessibility by providing features like screen readers, etc.

- They make use of the basic web technologies ( HTML, CSS, Javascript ) to build webpages, they may also go further to use frameworks such as React.js, vue.js, and Angular.js as well as other markup languages to produce reusable codes for high-performance web pages.
 
- They work with the backend developers to implement server-side features into web applications, let the frontend interact with databases, and create full fledge web applications.

- They should have little knowledge of backend technologies and design, understanding languages, technologies, and concepts in the above will go a long way.

<h3>Front End Developer Core Skills and Roadmap</h3>

- **Learning the basics ( HTML, CSS, Javascript )**

These are the foundation and must learn languages to become a proficient frontend developer. It is important you know, every other technology despite how complex it may seem is built from these basics and is always compiled to these before getting into the web browsers.

HTML ( Hypertext Markup Language ) is a markup language that provides structure to webpages, CSS ( Cascading style sheet) provides styling to webpages and Javascript provides behavior and allows the user to interact with elements on webpages.

- **Version control and Git**

Ignored by many but no developer trying to step up their game will pay no attention to this. Version control/Git can simply be used to store, track changes, maintain the integrity of your files and collaborate with other developers easily.

When we learn Version control usually varies, but the earlier you learn it, the easier it gets to use later in your career.

- **Javascript frameworks ( React.js / Vue.js / Angular.js )**

They are pre-written code libraries used to make building high-performance front end, writing reusable and maintainable code, and manipulating the DOM ( Document Object Model ) much easier.

While React.js is arguably the most used javascript frontend framework in 2023, you should do further research before making a choice. You can refer to this article [How to Choose the Best Frontend Framework in 2023](https://www.bacancytechnology.com/blog/best-frontend-framework)  by Bacancy Technology.


- **CSS frameworks (Tailwind/bootstrap)**

While they are not compulsory to learn, they make styling of web pages faster by reducing the number of duplicate long lines of code and handling compatibility issues across browsers.

- **CSS Preprocessor ( SASS/LESS )**

Also not compulsory to learn, They are an extension of CSS. They possess features that can be leveraged to style webpages faster with leaner code.

- **Typescript**

TypeScript is a superset of JavaScript ( Built on top of Javascript ), it was built to make javascript typed, strict, and easier to write. 

Typescript is more efficient and faster compared to JavaScript, hence making our web applications more performant, you can refer to the article on [why you should learn typescript](https://www.geeksforgeeks.org/why-typescript-is-better-than-javascript/) by Geekforgeeks.

- **Web optimization**

Creating web applications and ensuring they are performant on every device notwithstanding the scale of the application. Following best practices, while writing codes, using media files properly, and using known techniques in your technologies will play a big role in this. 

You can check the performance of your web application using [Pagespeed by web dev](https://pagespeed.web.dev/) and then make corrections as needed.

- **Cross Browser Compatibility**

While almost all properties in our codes behave the same across various web browsers, a few others don't. As browsers keep updating, their older versions lose support for some features as well. Examples are in CSS where we use vendor prefixes to make a property supported in the browser. 

One way to handle this is by proper testing across browsers and refactoring as needed.

- **S.E.O ( Search engine optimization )**

S.E.O for frontend developers starts from simple procedures like properly adding your title and meta tag inside your HTML head tag, using heading tags properly, using the appropriate tag for each content, using alt attribute, adding semantic tags like aside, header, footer e.t.c

It is all about letting your web application accessible so search engines like Google and Yahoo bots find and bring you higher in the list of search results when a user searches. you can learn more about it [here](https://www.w3schools.com/html/html_accessibility.asp) on W3schools.

<h3>Gain Real World experience</h3>

You can always go ahead learning and practicing but if you don't try getting experience, you won't be able to build a portfolio and get your first job as a frontend developer, here are some ways to get an experience :

- **Getting an internship** : Reaching out to your connections or 
 Applying for internship roles. You can apply for frontend developer intern opportunities on [LinkedIn](https://www.linkedin.com/),[Angel list](https://angel.co/jobs),[Indeed](https://ng.indeed.com/?r=us) e.t.c


- **Build projects for others** : you can build web applications for non-profit or charitable organizations for free or go into freelancing and build websites for small businesses or individuals.


- **Engaging in open source and hackathons** : These are great ways to get experience as you will get to work with various developers with different skills on a real-life project. You can get started with open source by reading the article [Open source 101 for beginners](https://dev.to/eoeboh/open-source-101-for-beginners-30af) by Emmanuel Eboh
  
<h3>Creating a portfolio and CV</h3>
In the light of putting yourself out there, Creating your portfolio website and making it public to everyone is a great way to showcase your work and open yourself up to opportunities.

Build your portfolio to display not only your projects but about you as well. Display the links to your project's source code so others can view it and also links to your GitHub, LinkedIn, and other social media accounts you possess.

Create a CV and provide a button to make it downloadable or viewable on your portfolio website to allow employers easy access to it.

If you have an issue creating a portfolio, you can follow the guide [here](https://careerfoundry.com/en/blog/web-development/web-developer-portfolio/) by Career foundry. 

You can then edit your Cv very easily with templates provided by [Rxresume](rxresu.me).

<h3>Tips to become a better Front End Developer</h3>

- Ensure to build projects and practice as you learn and watch tutorials, instead of watching hours of tutorials alone. Project-based learning is one of the best ways to learn.
- Take your time to learn the Fundamentals well before going into using any frameworks.
- Put effort into improving your Soft skills like communication, giving feedback, listening, teamwork, etc.
- Learn how to read documentation, and articles and make the research at an early stage in your career.
- Join a community of developers to network with and have a mentor.
- Collaboratively work with others to build projects.
- Make use of frontend tools and resources to improve your productivity.
- Learn what you need as you go. 
- Ensure to write clean code and follow best practices to your best of knowledge.
- It's your journey, don't compare yourself, work hard and go at your own pace.


<h3>Front End Developer Learning Platforms</h3>

Here are some platforms you can use to learn frontend development :

- [Udemy](https://www.udemy.com/)
- [Free code camp](https://www.freecodecamp.org/)
- [Scrimba](https://scrimba.com/)
- [MDN Docs](https://developer.mozilla.org/en-US/)
- [W3 schools](https://www.w3schools.com/)

<h3>Front End Developer Tools and Resources</h3>

You can get all the tools and resources needed to learn better, be more productive and solve some tasks [here](https://dev.to/aycanogut/front-end-resources-1jk2#) assembled by bleedeleventh.

<h3>Conclusion</h3>

So, we have been able to discuss how to become a better frontend developer, we broke down the roles, roadmap, getting real-world experience, creating a portfolio and CV, important tips, learning resources, and tools.

Finally, I will be glad if the information above helps you upskill, build better projects, give you a guide to follow, increase your productivity and open you up to better opportunities in 2023.

Good Luck!