How to Hire a Freelance Front End Developer
A freelance front end developer needs to have a wide array of skills and experience to deliver the desired outcome. As a freelancer, I have been developing front-ends for clients all around the world in many different industries. A lot of people asked me:
“How can I find and hire a freelance front end developer”?
Myself as a developer, I can easily verify someone’s software development skills. However, how can you do that if you don’t know anything about front end development? In this blog post, I will share a step-by-step guide to find and hire a freelance front end developer for your project, if you don’t have any technical knowledge or skills.
Defining Your Project and Scope of Work
I assume you already know what is difference between front end and back end development, but if not you can check explanation here. As a first step, you need to figure out what you want to achieve. Maybe the first thing on your mind is:
“I need someone who helps me to update my website”.
Updating website can have different meanings:
- I need to redesign my website
- I need to make my website mobile friendly
- I need to add some visualizations
If you define what you want to achieve, you need to know the “why”. It is important to share with developer why you want to achieve a specific outcome. For instance, you want to redesign the website, because you feel like it is outdated. Your website has some issues and visitors are not able to perform specific task. Your website doesn’t work well on mobile devices and many visitors on mobile devices leave your website. You need to present users some data, which should help them in their decision making process to buy your services or products.
If you know what is your desired outcome and why you need it, you should know when it should be done. It is important to share with developers what’s the deadline of the project. If you don’t have any deadlines, you should know at least when you would like to see implemented some of the changes.
If you explain all of these to candidates, it will allow them to better estimate the time beforehand. Freelance developers can work for more clients simultaneously and they need to plan when they can work on your project.
If you define what, why and when you need to get it done, the whole process of finding and hiring the right freelance developer is easier. It will help you to identify the front end developer skill set you are looking for and ensure the project is completed to your expectations on schedule.
Why Is It So Hard to Find a Good Freelance Front End Developer?
The demand for software developers is high and front end developers are not an exception. There are many specializations in front end development than several years ago and we can expect more specializations in the future. I think this combination makes finding and hiring front end developers more challenging than it was several years ago.
Freelance Front End Developer Skills and Responsibilities
Now, if you define your project and scope of work, you need to identify freelance developer skill set. A lot of freelance front end developers are skilled to perform tasks, which are not related, but close to front end development. The most common overlap is front end and back end development, front end development and graphic design and front end development and online marketing.
Front End Developers Skills
In this part, you can see three groups of specializations in front end development. A lot of front end developers have skills which overlap in these three groups. However, you can find freelance front end developers who specialize in one group or only one particular technology.
HTML and CSS
HTML (the Hypertext Markup Language) defines content structure for a web page, for example, images, buttons, or tables. CSS (Cascading Style Sheets) is a presentation language created to style the appearance of content structure, for example, colors, dimensions and positions. I think all front end developers know HTML and CSS to create static websites. With that being said, they should be able to make websites responsive and mobile friendly.
JavaScript
We can divide JavaScript knowledge into two groups. The first group represents JavaScript basics to control web structure. Second group represents more advanced technologies to develop single-page applications (SPAs). Next, I will attempt to explain what these groups mean.
JavaScript basics
Basics of JavaScript language belong to fundamental part of front end development skill set. JavaScript makes web pages interactive and allow to control the website content. By controlling website content, I mean animation or transformation of website elements, changing website structure and their appearance by user interaction.
Single-page applications (SPAs)
If you need to develop more complex website or web application, you need a front end developer who is able to develop single-page applications. Maybe you are wondering:
“What does it mean more complex website?”
You can provide better user experience to your users by providing a single-page application (SPA).
When should you prefer single-page application instead of a website?
A single-page application is actually a website. The main difference is that single-page applications are able to dynamically redraw (rewrite) web page content without a browser refresh (reload) of entire website.
The most common use case for single-page applications is multiple users interactions which change data on one page. The most popular front end technologies (libraries) for developing single page applications are React.js, Angular.js or Vue.js. Most front end developers specializing in development of single page applications master one library, but you can find front end developers who have knowledge in more libraries for building SPAs.
If you need to develop data visualizations, you would need a front end developer who has knowledge of SVG or libraries for building data visualizations. SVG is part of HTML, which is used for representing 2D graphics. The most popular JavaScript libraries for building data visualizations are D3.js and Highcharts.
Content Management System
Content management system (CMS) is a software that is used to create or manage website content. They usually provide templates and allow to build a website very fast. However, customizing a template or building a specific feature can take longer time, if a front end developer doesn’t have a knowledge in CMS. Front end developers who know a CMS, usually know PHP back end language. Now, maybe you can ask:
“When do I need to use CMS for my project?”
You need to use a CMS, if you need to manage a website content. Common use-cases for CMS are e-commerce, brochure websites, government websites and others. There are many CMS systems and I will try to introduce the most popular on the market.
Back in the days, WordPress was primarily a tool to create a blog. Nowadays, WordPress is popular for building presentational and brochure websites. WordPress has a huge ecosystem with a lot of plugins and templates.
Shopify and Joomla are probably the most common CMS for e-commerce. You should check out these platforms if you want to create an online store. The main difference between Shopify and Joomla is that Shopify is a software as a service (SaaS). It means that, Shopify is more user friendly for someone without technical or coding skills. However, you would need a front end developer help, if you want to customize a template. You also need to pay a monthly fee, because Shopify is a hosted solution. Everything runs on Shopify’s servers. Comparison of Shopify vs Joomla is out of the scope of this blog post, but in my opinion Shopify is more suitable for users without technical knowledge who wants to build a small online store. Joomla is perhaps more suitable to bigger e-commerce websites.
Drupal is suitable for websites, which require to manage content workflows between multiple users. Drupal is more difficult to use than Joomla or WordPress, but more suitable for more complex applications.
Front End Developers vs Back End Developers
Front end developers build the visible parts of applications that users see and interact with. Back end developers on the other hand, are responsible for building the parts the user does not see, which include core computational logic, server and database.
You should know if your website or web application uses any back end language or database. You need a back end developer or front end developer with a back end knowledge if your project requires storing any data. For instance, you want to allow users to sign up and log in to your website, or users can submit an information or data.
If you have performance issues in your project, you could have some bottlenecks in the back end part. In this case you need a freelance developer who has experience with a specific back end language or database. On the other hand, many performance issues of websites or web applications are due to excessive or uptomized files in front end part.
Front End Developers vs Full Stack Developers
I am a freelance full-stack developer and on my home page you can find out what it means. A full stack developer should have knowledge in front end and back end development. A full stack developer has the functional knowledge and ability to take a concept and turn it into a finished product.
Usually you need a freelance full-stack developer, if you need to build a web application or a website where user inputs are interacts with some data.
Front End Developers vs UI Designers
A UI designer is someone who designs user interfaces. The main goal of user interface is to make the user’s interaction as simple and efficient as possible. A graphic designer is someone who creates assets as images, icons, etc. Graphic designers don’t implement websites, but they prepare graphic designs, mock-ups and prototypes for front end developers, who implement the website or web application.
Front End Developers vs Online Marketers
Search Engine Optimization is a process of optimizing a website for the search engines. All front end developers should have at least basic knowledge of SEO. It’s principles are applied to web content and web markup (HTML) to make it easier to find your site when searching. SEO process starts with a keyword research, which allows you to identify words and phrases people enter into search engines. Based on the keywords and phrases, you need to create a website content and include keywords in HTML markups. Copywriters are specializing in writing promotional texts in websites, advertisements or brochures. Some front end developers are blogging or making side projects, which they try to advertise. Thus, they have experience and knowledge in content online marketing.
Where to Find a Freelance Developer?
If you know what front end developer skill set you are looking for, you can start looking for a developer who you want to hire. There are different approaches how to find a freelance front end developer. I will start with the one, which I think works the best.
Referrals
Before you start searching for a freelance developer to hire, ask your co-workers, friends and family if they know or know someone who knows any skilled front end developers. If someone from your network has a good experience with a developer, it is very likely that you will have the same experience.
Search Engines, Social Networks and Online Communities
Google search can be a great way to find a freelance developers. They need an online presence and usually they have a personal website or blog. Using search queries, specific to your needs, you can find the freelance developers who have had articles written about a specific topic, or who have been credited with working on other challenging projects.
Social networks and online communities is an often overlooked way to discover candidates. Front end development requires a lot of learning, because front end technologies are evolving very fast. You can try to look for groups in social networks or online communities in reddit, slack, disclosure. Developers in online communities are usually more dedicated to software development than mediocre developers, because they like sharing their experiences and are interested in other’s experience.
Online freelance Marketplaces and Job Boards
If you are not able to find a freelance front end developer through referrals, google search, social networks and online communities, you will probably need to use online freelance marketplaces and job boards. I am surprised to discover new freelance marketplaces every week and this is the reason why I am not going to list any freelance marketplaces. I would divide online freelance marketplaces into two groups.
- Freelance marketplaces which have own team of recruiters who will help you to find a developer with desired skills.
- Freelance marketplaces which work as a job advertisement platform. You can post your job description, candidates will apply for jobs and you can choose a candidate who you like.
Both types of marketplaces have pros and cons. It is probably a better idea to use a freelance marketplace with own team of recruiters who support you. However, you will pay a lot of money for this service. I don’t know all freelance platform and their commission, but you can estimate the cost is 50%-70% more using this kind of freelance marketplace. If you opt for a marketplace without a support, you will pay lower commission. However, you have no support, you can spend a lot of money for development and end up without a functional product. You can read about one bad experience here.
How to Evaluate Front End Developer Skills?
I remember a talk where a CEO of a startup was looking for an online marketer. He didn’t know anything about online marketing and didn’t know anybody who knows something about that. He decided to hire an online marketer to help him hiring an online marketer for his startup. The result was great, because online marketer helped him and was able to evaluate skills of another online marketer.
If a freelance front end developer has a personal website, you can check his portfolio and testimonials. If freelancer past projects are online and testimonials are not from fictional people, then it is probably not possible it’s fake.
If a front end developer doesn’t have a portfolio, it means they are a junior developer or new to freelancing. In this case, you are not able to evaluate them if you don’t have a technical knowledge in software development. You have two options how to deal with this.
You will try to find a developer, who will help you to evaluate candidates skills. You or a developer who helps you shouldn’t evaluate a lot of candidates, because it can take a lot of time. You should choose a hand of candidates who should be evaluated and it shouldn’t take more than one day.
Let’s say, you reached out to developers through referrals, google search, social networks or online communities and they were all busy. You can reach out to them again if they can help you to evaluate some candidates. You can hire a front end developer to help you to evaluate other front end developers. I am sure some of them would be open to this. Front end developers can easily evaluate other front end developers and it doesn’t take a lot of time.
There are some online platforms for evaluating technical skills. However, some of them don’t work in some cases. I will give you an example from one of my negative experiences.
Once, I tried to get into a freelance marketplace and they sent me an online assignment. I failed in this assignment, because I was supposed to use outdated libraries. I messaged to a recruiter from freelance marketplace, but didn’t get any response, because probably the recruiter didn’t understand what is wrong.
If you opt for an online platform for evaluating candidate’s skills, you will need to find a platform which works well. Again, you can try to ask developers you reached out previously, or you can ask in online communities or social networks.
How Much Does It Cost to Hire a Freelance Front End Developer?
There are many factors which impact freelance developer rate. Usually more experienced freelance developers have higher rate, because they realized their value bringing to past clients. You shouldn’t assume two things:
- Freelance developers rates are based on full-time developers job salaries.
- Freelance developers rates are based on location. Freelancers can work remotely for clients all around the world.
Freelancers traditionally work in two ways, hourly or per project. Hourly freelancers get paid for the time they work so you negotiate an hourly rate. Per project freelancers work on a, you guessed it, per project basis, meaning you pay them an agreed upon fee for the project in total.
What Is the Process Like When Working With a Freelance Developer?
Once you find and hire a freelance developer you want to work with, you should talk about cooperation. Especially in remote environment, communication is a crucial aspect. I have been developing front ends remotely last two years and what works for me the best is:
- A conference call every second-third day and ask for a clients feedback. Many times, I need to share my screen for better explanation.
- Delivering small parts of whole solution or functional prototype after several hours and ask for feedback.
A good front end developer should ask you at least in the beginning of your collaboration what you like and don’t like in user interface.
Conclusion
In this blog post, I tried to explain a process how I would hire a freelance front end developer if I didn’t have a technical knowledge. Defining the project and scope of the work is the first and the most important step. It helps to estimate task duration and define what skills you need from a freelance front end developer. Then you can find a detailed description of front end development skill set and responsibilities, and other skills which relates to this. I tried to explain this part as much as possible, because when someone reached out to me to help with front end development, they also required a bit different skill set. Next, I described what is the best way to find a freelance front end developer. Then you can find how to evaluate someone’s skills. Hope, this blog post helps you to hire a front end developer who fits to your needs and deliver your desired outcome.