You've probably seen the term "front-end developer" before, either on tech-related websites or in job applications you've perused.
So have you ever wondered what exactly a front end developer is and what skills you'd need to become one? Well if you're curious like I was, this article will help clear it all up.
When I began to learn about coding, I knew that you are either a web developer or a mobile developer – at least, that's what I thought back then.
So I decided to first learn
Android development then later transitioned to
web development. I knew that with the skills I had, I was set and ready to apply for jobs.
When I looked over my first job applications, something stood out: they either wanted a front-end developer, back-end developer, or a full-stack developer.
In the past few years the web has become more complex and there are many opportunities for developers with different skills.
This means that as a developer, depending on your skill set, you will classify yourself as a:
- front-end development – deals with what we can see and interact with
- back-end development – deals with what the user can not see
- full-stack development – is able to do both front and back end development (which applies for both mobile and web)
In this article we are going to focus on
Front-End Developer, for more detail about other roles read this article HERE
To understand the related roles, we're going to dive in a little deeper to see what skills and knowledge you need to become a front-end developer.
HTML (Hypertext Markup Language) – this is like the skeleton of the body, because it gives it a website structure. Every site you visit is built using HTML, which handles the structure and the content of the site.
CSS (Cascading Style Sheets) – you can think of CSS as the aesthetics and muscles of the body! CSS makes a site beautiful and interesting to look at. Just like in your body where muscles and skin make you beautiful, CSS does the same for a website. It sets the fonts and colors, adds images, and even helps make the site responsive.
For example, take a look at my portfolio that I made using these skills alone HERE.
Also, there are a number of helpful frameworks like React, Angularjs, and jQuery that help front-end developers build projects more easily.
Just like any other role out there, front end devs have certain responsibilities. Let's look at the skills and tasks required for a typical front end developer role:
- Collaborate with designers and application developers to develop customized websites.
- Develop sites with a wide array of contents and ensure optimal utilization of web tools.
- Build reusable code for future use.
- Ensure that web designs are responsive and work well on all devices.
- Work with creative teams to develop innovative solutions to cater to a wider audience.
- Monitor and ensure high quality design and code of a website.
- Utilizing a variety of markup languages to write web pages.
To help you get started in this role, I've created this list of excellent resources. There are many platforms with both free and paid materials to help you learn. Here are the sites I recommend:
I also compiled a repo to help beginners get started with front end development – you can check it out here: HTML,CSS & JS
And here are some other repos with learning resources:
Perhaps you might wonder what you'll need to do next after studying and learning all this stuff. If you are able to get through all the above and learn it well, you'll be qualified to own that Front End Developer title (with an average salary of $86,148 per year according to Glassdoor).
During the process of learning, though, you will need to practice to perfect your new skills.
And for me, practicing is all about building projects and hosting them somewhere so that you can showcase your work to potential employers.
Below is a list of free hosting services where you can host your front end projects:
Also, which type of developer are you?
I will go first: I have always preferred to call my self a Growing Developer as there is room to learn every day. I can't really specify exactly one label, because I believe I can pretty much do anything.
If you have read this far I really appreciate it. Help me grow my community:
Enjoy Coding ❤