How to Choose the BEST Web Developer

Before you jump on Craigslist looking for a web developer, I want to let you in on a little secret… You won’t find a good web developer on Craigslist. Now that I got that out of the way, let’s talk for a few minutes about where you SHOULD be looking, and what you should be looking for.

Where Should You Look for a Web Developer?

I cannot stress this enough, facebook friends and community sites will not help you find a professional developer. Here’s a list of websites I recommend using to find a good developer:

  • Upwork.com – You can post project requirements, and allow people to bid on projects. Very simple to use, plus most developers have their portfolio on their profile. All of your money will be held in escrow until project completion. Upwork is the most popular option, and the one I personally recommend, I have never had a bad experience with a developer from Upwork.
  • LinkedIn Profinder – You can submit projects publicly, or reach out and request quotes from developers. Developers will be ranked by their endorsements and portfolio. Payments will be made direct payments between you and the developer, so you’ll want to make sure that your purchase is secure and insured by your bank.
  • Toptal Developers – Toptal is a marketplace for top developers, engineers, programmers, coders, architects, and consultants. Payments are handled through Toptal’s website, so it’s very much like Upwork.

What do You Need to Know Before Looking for a Developer?

First thing’s first. Before you start looking for a web developer, you should have an idea of what you’re trying to accomplish with your application. (For the sake of clarity, I’m just going to use the term “application” in this post, even though this advice is applicable to website development also.) Take the time to brainstorm your application’s functionality and requirements (this will be critical when explaining your goals with a good developer).  Here are the 3 things you should know before contacting a developer for a proposal.

  1. BUDGET: Your budget is very important for a couple reasons: a) You get what you pay for, in most cases. b) If you don’t disclose your budget upfront, you can avoid wasting your time and a developers time due to “sticker shock”.
  2. Technical Requirements: If you currently have a server, or if you need an application to run on a specific platform, you will want to know this before reaching out to a developer. Developers typically have a very narrow area of focus (i.e. programming languages, server operating systems, database engines, etc.).
  3. Application Details: What do you want your app to do? Even if you don’t know the technical terms, fear not, your developer should understand what you’re asking for. If you want a mobile app that allows your users to take pictures of car parts and index them, tell the developer what your primary focus is. They will take it from there.

Something you should NEVER do is add features as the developer is working on your application. I’ve seen this a hundred times: I’m almost done developing an application, and my client asks me, “How hard would it be to add _________?”.. Even if it’s a simple request, expect to be billed for additional development time, because odds are, even a simple request can take several labor hours to complete, as many features are dependent on one-another to function properly. You and your developer should have a clear understanding of your objectives upfront and in writing.

What Type of Developer are you Looking for?

There is no catch-all when it comes to developers. Here are the 3 main types of developers that you’ll be looking for when seeking proposals for a new project.

  1. Front-end Developer: A front-end developer works on the side of the application that your end-users will see. For example, the front-end developer will design the front end of your website or application: the buttons, the forms, the content, the layout, etc. A good front-end developer will know HTML/CSS, JavaScript, and other browser-side scripts, however, they may not be the best option if you’re looking for an in-depth programmer that can add functionality to your project due to front-end limitations. A good front-end developer should also have a decent grasp on the programming language in which your website is written (example: PHP, ASP.NET, etc.).
  2. Back-end Developer: The back-end developer builds the guts of the website. They write the algorithms that make your website work. For example, are you creating a movie search engine? You’ll need someone who can design and create the database that will essentially run your entire website. They create all of your website’s functionality, and in most cases, these back-end developers aren’t the best designers (unless they are familiar with css frameworks like bootstrap).
  3. Full-stack Developer: The full-stack developer is someone who is versed in front-end and back-end development. If you’re looking for one person to complete an entire project, this is the option you’ll want to seek out. There are not a lot of downsides to choosing a full-stack developer, one issue I’ve seen is that full-stack developers typically have their own approach to development, so if they disappear and you need another developer to fix an issue, or complete some of their work, they may have trouble navigating the file structure within your application.

So You’ve Narrowed Down Your Options, Now What?

Ok, so now that you’ve narrowed your list of potential developers down, and you know what kind of developer you’ll need, and hopefully at this point you’ve reached out to at least a couple of them with your budget and requirements, there’s still a couple things you’ll want to think about before completely pulling the trigger.

PRO TIP: If you’re contacting developers with your ideas, it’s always good to have a simple NDA (non-disclosure agreement) written up. Companies like LegalZoom can create these for you quickly for a very low cost

Before making your final decision, you’ll want to ask yourself the following questions: 

  1. Did the developer share any of their work with you? This can be tricky because most developers cannot share source code of projects due to agreements they have with their clients (proprietary rights). However, a LOT of developers use services like Github where they can show you code commits and examples of projects they’ve contributed to. It’s always a good idea to ask a developer if they use a code repository or revision tracking. Github also works for managing projects, so you may want to check Github out for yourself.
  2. Did the developer make their communication style clear? This may seem like something that’s a no-brainer, but as a developer, I know my preferred methods of communication (personally, I prefer email), and sometimes my clients don’t want to follow my communication methods. Don’t be that person. If your developer ONLY wants to communicate via email, then you shouldn’t be calling them on their cell phone, duh. Most developers prefer instant messaging and email because it leaves a trail of questions and information that you can easily follow and refer back to. If the developer’s communication style doesn’t work for you, choose another developer, because they will require a lot of communication with you throughout the development process.
  3. Can I realistically afford to move forward with this project? Depending on the depth of your project, you need to be prepared to spend thousands, sometimes tens-of-thousands of dollars. Payment terms vary from developer-to-developer, however, most developers will require a deposit and weekly payments (based on a specified number of hours worked per week). If you cannot make due on payments, most developers will stop working until their fee’s are paid. This may seem like a no-brainer, but I can personally account for at least 15 projects where my clients thought they could easily pay my weekly development fees and weren’t financially fluid enough to keep it going due to other business costs (whether expected or unexpected).

Ok, so now you know what to do, and there’s only one thing left… Have fun. Enjoy the development process. Be friendly with your developer. Be Patient, because a great application takes time.

Leave a Reply

Your email address will not be published. Required fields are marked *