Which web developer should you hire for your next project? Choosing the right freelancer or agency can be confusing.
Here’s a list of ideas that I consider for hiring a freelance developer. Even if I’m a developer myself, sometimes, I need to hire other developers to help me with larger projects.
While writing this guide, I realized that this is an intricate topic. There’s a lot to take into consideration. I tried to describe my process with four sections: Mindset, Portfolio & Skills, Pricing, and a few general Communications & Project Management guidelines.
This guide was originally published as a mini-series of posts on my LinkedIn Profile.
“In general, during the first stage, I’d be looking for a developer that asks precise questions about the project. Bonus points if they suggest a better solution to the main problem I’m attempting to solve during the task.”
Being a good web developer isn’t only about being good with coding. I first try to understand the mindset of the expert beyond their technical skills. So I try to look for some “signals”.
Here’s my checklist for a good fit:
✔️ They will ask the motivations behind the project and why you want this or that feature before sharing a quote; to understand what you expect to accomplish.
✔️ They listen to you more and talk less.
✔️ They will ask you more questions and assume less. Nothing is obvious. Nothing is taken for granted. A good developer will not give you any generic advice or start working on a solution before knowing more about your unique setup and challenges.
✔️ They will not be cheap now, but they will be cheaper than a bad fit for your business in the long term.
✔️ They will pass on your project if they think they’re not a good fit. It doesn’t necessarily mean that there’s something wrong with your requests. It could be that they don’t have the specific skills required for your specific project. Or maybe they honestly believe that they can’t deliver the best possible solution.
The opposite of a good developer isn’t only someone that will build a solution that can be harmful to your website in the long term. They will likely develop something useless. Because instead of approaching tasks strategically, they will execute orders right away without asking you enough questions or without a proper plan. And you’ll find out 40 hours later that the applied solution has little or no impact on your business.
In general, during the first stage, I’d be looking for a developer that asks precise questions about the project. Bonus points if they suggest a better solution to address the main problem I’m attempting to solve.
The mindset of a great developer starts with the end goals in mind. It will often be impossible for a developer to deliver the perfect solution for your main goals if they’re focused on low-level details and don’t get more information about the big picture first.
Portfolio & Skills
“If a developer claims to be an expert on a vast list of skills, they will often be mediocre in all of them.”
Checking a developer’s portfolio is essential, and it helps to have an idea of what kind of projects the expert is usually working on.
However, I first look at how they describe their specialization and skills. At this stage, it’s more relevant than the portfolio. I also need to know if their skill set will be a good match for the task.
Let’s see an example.
🔎 Specialization is a huge plus
✔️ “I’m a front-end developer specialized in Shopify websites.”
❌ “I’m a full-stack developer and a web designer. I do Prestashop, Magento, Shopify, WordPress, Drupal, and more.”
The second developer has a broad focus. This isn’t a problem per se, but that statement will need a lot of tangible proof.
When I read something similar to the second description, the following doubts come to mind:
- Becoming an excellent full-stack developer isn’t trivial. It means mastering both front-end and back-end development. Which can require several years of full-time focus. Becoming a good front-end developer alone requires years of experience.
- If a full-stack developer tells me that they’re also web designers, I don’t believe them. I check the websites they designed and developed. These professionals exist, but they’re unicorns.
- They should be able to show enough websites from their portfolio that support their claims. In my experience, it’s harder to deliver great results if a developer is “specialized” in too many things.
- Why didn’t they specialize in something over the years? Why do they do “everything”? Is it because they’re trying to get every possible job opportunity? This becomes a mandatory question if I consider hiring them for an important project.
- Is their price low? As mentioned, these experts are rare. Their rate should be insanely high. Something that only a minority of businesses can afford.
If a developer claims to be an expert on a vast list of skills, they will often be mediocre in all of them.
Here’s another example of an insane skills list that I copied-pasted from a freelancer profile on a famous freelancing platform:
◽️ WordPress Websites (Custom & Theme customization)
◽️ PSD to HTML
◽️ Web UI/UX, Mobile App Design.
◽️ SEO and SMM
◽️ Mobile App Development (iOS, Android)
◽️ Keywords Research
◽️ On-Page SEO
◽️ Off-Page SEO
◽️ Blogging/Content Writing
This is an individual freelancer selling himself as a studio that will cover almost all your marketing needs.
The first three items could be legit. But from the fourth item, something seems off. SEO & SMM is a different career. Mobile app dev is also another different career.
Then we see a bunch of SEO-related skills. And finally, this freelancer claims to be a copywriter as well.
You’ll notice this pattern with cheap freelancers profiles on some platforms. They list numerous skills, but these are meaningless if they never specialize in at least one of them.
I apply the same reasoning to their known languages and frameworks.
🔎 Known Languages and Frameworks
❌ “I have excellent knowledge of ReactJS, NodeJS, VueJS, React Native, Python, Django, Flask, MongoDB, Firebase, Firestore, WordPress, Shopify, PHP, HTML5, CSS3, jQuery, AJAX and on MVC framework Laravel, Codeigniter, CakePHP, Yii, Yii 2 etc.”
Hard to tell if the second list (which is another copy/paste from a popular freelancing platform) is true, but a long list doesn’t really matter anyway.
In how many of those languages/frameworks/CMS do they really have “excellent knowledge”? In their dictionary, what do they mean by excellent?
For example, if they delivered 50 to 100 projects in ReactJS alone, this freelancer may be an expert in ReactJS.
The more they make promises about their skills, the more I need to see several medium/large projects for every skill they claim to master. Especially if they present themselves as excellent.
After checking how they present themselves and their skills, I check their portfolio.
🔎 Number of items in their public portfolio
✔️ Two to four items. Each item explains their role in the project and possibly the business outcome their work produced.
❌ A catalog of 10/20+ websites that only includes images and links to the final result.
A catalog of websites publicly available for anyone to see gives me the feeling of being in a supermarket. A place with cheap products of all kinds that anyone can buy. A large selection of inexpensive commodities is perfect when we need something generic, something that is built for a large group of customers. But it’s terrible if I’m looking for help on anything custom that should solve complex business problems.
Another problem with catalog-like portfolios is that the freelancer’s role in a given project is often hidden. Did they develop the entire thing? Or maybe they just did a minor edit on one random page?
So if I’m looking for an expert, I would try to check if they have case studies or items in their portfolio with at least a brief description of their contribution to the project.
In this scenario, I prefer to see a limited set of portfolio items instead of a huge list of websites.
Finally, I check their work. If possible, I prefer to see projects where they played a major role, for example, an entire website developed by them.
🔎 Developed Websites
I usually look for these elements:
❓ Does the website work properly on mobile phones, tablets, and desktop screens? Is the layout broken on some devices? I don’t check only the homepage, but internal pages as well.
❓ Is the site easy to use, on every device?
❓ Is performance and loading page speed acceptable overall?
However, keep in mind that these elements aren’t only the product of their work. Performance, for example, can decay over time. So it will not always be the web developer’s fault. The layout could also be broken by the client.
But at the very least I’ll have an idea of the projects they worked on.
Your Budget and Their Price
I thought a lot about this part and decided not to include numbers, as these are subject to the individual freelancer, and in constant change over time.
But we need to talk about pricing if we want to make sure to select the best developer we can for our project.
When is the price too low, and when is it too high?
Pricing is a highly relative concept that is often treated as absolute.
The most frequent mistake I see that small businesses do is worrying more about the price than the project’s outcome.
So first of all, I need to keep in mind how much it makes sense to invest in this project in relation to my desired outcome.
Let’s look at two scenarios, what would you choose?
- Pay $10,000 now to get a $150,000 ROI in one year.
- Pay $1,000 for ZERO returns, in the entire lifetime of your business.
Seems like a no-brainer, right? In what scenario would anyone “invest” (waste) money on #2?
Still, the majority of projects that I see on freelancing platforms fall in the second example. There are legions of clients, ready to spend money on projects that will lead to absolute zero returns to their businesses.
This happens mainly for two reasons.
Mistake #1: saving money is the main goal
From a client perspective, if saving money is your primary goal, you’ll tend to gravitate around freelancers that are either beginners or that, despite their expertise, aren’t selling themselves at their true value.
Of course, this often leads to poor execution of the project. The risk of working with someone who isn’t an expert is losing time, and possibly money to fix their mistakes.
The risk of working with professionals that are underselling their value is getting a subpar result despite their experience. From the freelancer’s perspective, not earning enough from an engagement is a perfect excuse to lower the effort invested in the project.
Mistake #2: focusing on tasks with a low impact on your business
Focusing on trivial details will make you ignore the big picture. Before explaining this, I need to specify that every business is unique. A useless task for one website could be relevant for another.
However, here’s a list to give you an idea of potentially useless tasks:
- “Can we move this 2px to the right?” requests – in general, micro edits and micro management will cost you money, and will rarely bring any relevant result.
- Changing colors on minor elements, on a personal preference basis only.
- Worrying about the menu animation.
- Changing the loading animation when the contact form is submitted.
I think you get the picture. In general, a lot of tasks on minor elements like the ones listed above have more chances of having zero to no impact on your business.
The tasks above may be fine if well-motivated, and if they’re part of a bigger project. But investing in these tasks alone and expecting some sort of business benefit is often irrealistic.
I had some clients in the past worried about the shade of black color used in a mobile menu, for example. Your users will likely not care if the color used is #000 or #111. It’s true that a substantially different color can have different effects on essential elements, like on Call to Action buttons. But these ideas need to be sustained by concrete proof from A/B testing.
So part of deciding who you want to hire is also to understand how much this project is important for you, and how much impact you think it will have on your business.
🔎 How to decide your budget
✔️ Take into consideration the desired final result. Understand how much do you want to invest to achieve your goal: this will be your budget. Example: “To increase the conversion rate by 2%, since I’ll earn an extra $X every month, I’m willing to invest $Y.”
❌ Decide for a budget in a vacuum.
When you have a budget and the desired (measurable) goal in mind, it will be easier to select the right developer for the task or the project. Because you will know if the price makes sense for your business or not.
You’ll also have an idea at the end of the project of the value that this developer delivered to you. So you can make an objective choice and consider if you should hire them again in the future.
This mindset should help you to hire less expensive developers for tasks that have a low impact on your site. And to hire experts with higher rates on projects that will highly affect your site and business.
Project Management, communications, and some final notes
Finally, here are some other elements that I consider before hiring a freelance developer. I consider these essential unless the task is particularly trivial.
I think that it’s reasonable to expect an answer from your developer in 24 to 48 hours during the workweek. It’s true that you will discover this only after hiring them, but sometimes, you can get an idea of how fast they reply during an interview phase.
I would also expect them not to use technical or complex terms unless is strictly necessary.
How will they manage the project?
If the developer isn’t open to using project management apps (Trello, Asana, Basecamp, etc.) I prefer to know it as soon as possible. Because with a project management tool is easier to remember all the project details, and ensure that we don’t forget anything along the way.
If a developer wants to manage a complex project only via email, I see that as a red flag. If they’re going to play a major role in the project this could cause some serious issues.
Will they use Git?
Git is a tool to track the versions of your site’s files. If your developer uses Git, you’ll be able to see how and which files they edited over time.
Git also offers a function called “Git blame” – it’s possible to select a line of code to check:
- The author of the code.
- When the line was added or edited.
- How the line was edited and if it replaced other code.
All the codebase of your project, including all the list of edits and more, can be listed in a Git Repository dedicated to your project.
While I’m evaluating a candidate, I always ask if they’re comfortable using Git and adding their changes to the Git repository of our project.
Learning the basics of Git is also incredibly easy. It’s also free in its basic version. There are really no excuses for not using it. So if the candidate isn’t open to using Git, I prefer to skip to the next one.
Who will really own the website?
I left this for last, mostly because it may not always be related to hiring a developer. But this is crucial.
If you’re building a new website you need to check that you’ll be the real owner.
Be 200% sure to check that:
- You own the domain. This must be under your name or your business’ name.
- You own the hosting account of your website.
- You have the rights to use the work your developer delivered to you.
- Your developer is not using a proprietary system, that only they can understand and edit.
It seems trivial, but be careful. Because there are professionals out there that apparently deliver you the website, but the domain, hosting etc. will be registered under their own business name.
And finally, also be careful about proprietary CMS or other systems. You need to make sure that you’re not locked in with your developer forever. It should always be easy for you to fire your developer.
If they use a codebase that only they can understand you’ll need to invest a lot in detaching yourself from this “dependence”.
A good start to solving this is using an open-source CMS. WordPress or other similar software. This problem may not be 100% solved by simply using WordPress sometimes, but it’s a good start.
With this process, I hope you can choose a developer with more confidence the next time you need to hire one.
To recap, I start from their Mindset, look at their skills and portfolio, get an idea of my budget vs their rate, and finally ask some contextual questions on how they will manage the project.
Hiring the right developer isn’t trivial, but I hope that this article cleared some unknown unknowns for you.
Let me know your thoughts! If you have any questions feel free to send me a direct message here. 🙂