Hiring a freelance PHP programmer is a serious undertaking. Let me share with you what I know about freelance PHP Programmers.
There are a few things to consider when hiring a PHP programmer like ensuring their skills and experience match your needs. Communication skills and fee rates are also important. There is a lot to consider when hiring a freelance PHP programmer.
I recommend reading this guide before you search for and contract with a developer.
The PHP programming language is very popular and there is a ton of people that are willing to help you. There is only one problem – and that is what you don’t know can hurt you.
Every day I read about all the retail stores that are closing. Everything is moving to the web. Along with this, the Internet is much more complicated today than it was 20 years ago. Given this, having an experienced and professional PHP / MySql developer on your team is a must.
Assessing Your Need
The first step is to assess your needs. With that, you will have a better idea of what skills you are looking for. For example, if you are looking at building an eCommerce website, you may want to look for a WordPress and WooCommerce solution provider.
Analyzing your project will also give you insight into what type of developer you may want to hire. Below I list “the freelance developers you will find in the wild”.
Finding Someone Who Matches Your Needs
This is a tough one. Where do you look? You can start by searching the Internet. That is probably how you found this article.
There is a lot of websites that broker developers. They also get in the way. No direct contact. This has its pros and cons. The upside is you may be better protected. You will more than likely make your payments to the broker which are held in escrow. The downside is it is rather bureaucratic – you will never have direct contact with your developer. You will never build rapport nor will you ever know much about the person working your project. If that is what you want, great, if not you may want to try hiring a developer directly.
Using a broker website lends itself to small or short projects.
If you have a project that will take more than just a few hours you may want to consider hiring direct.
Hiring Direct Comes With More Than a Few Benefits
- You Can Get To Know The Person – Getting to know the person that works on your web projects is a win-win situation. Not only do you get to know them, they also get to know you. This opens up better communications and will lead to better peace of mind.
- You Can Evaluate The Prospective Developer – You can talk with them and evaluate their prior projects. You can also look at their social media accounts and look at their website.
- You Have a Better Chance of Building Rapport – I think this is important. As a developer, I like to get to know the people I work with and for. I assume they like getting to know me as well. In my opinion, this leads to a much better working relationship.
- You Can Make The Developer a Member of Your Team – Yes, making your solution provider a member of your team is a good thing. This can lead to a more efficient working environment. I like being a remote member of your team because I can learn what to expect and how to meet your needs.
The Freelance Developers You Will Find in the Wild
You will run into these types of programmers in the wild:
- The Guy or Gal That is Between Jobs – This is the guy or gal that was just laid off, or was fired, or may have quit their job. One of the potential problems with this person is what happened to your project when they find a new job. One of the other issues is this person may not have any real business experience. Running a project is tough. Running a project and a business at the same time is even more demanding.
- The High School Student – My hat is off to this person. Sounds ambitious and may even have a lot on the ball. The downside is this person may not have much life experience and little or no experience running a business while juggling other obligations while trying to run a programming business. I would not expect this person to keep regular business hours.
- The College Student – Same as the high school student except this person may be more mature and might have more life experience as well as business experience. Still, this person will be juggling many obligations. I would not expect this person to have much availability during business hours.
- The Hobbyist – This person is in it for the fun of it. That can bring a number of advantages and disadvantages. This person may or may not be available regularly. They may or may have low rates. One of the thrills this person my get out of a hobby business is seeing how much they can charge. On the other hand, compensation might take a backseat to other benefits and their rates may be low.
- The Side Hustle – This person may have a part-time or full-time job and does PHP programming on the side. The advantage might be a cheap project while the disadvantage is this person probably is not available during regular business hours and maybe less available than you would like.
- The Offshore Developers – They usually work for far less than an American programmer who wants the going rate or something close to that. You may want to think about how the time zone difference may affect your project. I was working on a project with another company that had an Indian programmer. The time zone was 12 and a half hours different. One of the other challenges is the culture and language barriers. Even though your offshore coder may speak English they might not understand what you asking them to do – this is the language and cultural barrier. Since they are offshore there is much less accountability. Liability is always an issue when going off-shore. If your programmer does not follow your directs and does something that causes you liability, you are probably on your own.
- The Professional PHP Programmer – This is the guy or gal that holds regular business hours and is readily available during business hours. They probably have formed a business and I expect they will have a website. This is what they do – they provide PHP programming services. This person should have decent communication skills and should be able to run a business while attending to projects. I would expect that a freelance PHP developer would be the most stable and responsible for your project with respect to the other listed category of freelance developers.
There are pros and cons to each one. Only you know what you are willing to endure to get your project across the finish line. In other words, do you hire a pro that can make your project easier, or do you hire a high school kid that will require you to manage them?
Type of Freelancers
A freelancer is not an employee, they are independent contractors. These projects come in one of the following forms:
- Taking on short-term projects on a contract basis (gig workers).
- Taking on recurring tasks as an independent contractor.
As we move further into the gig economy, gig workers or freelancers will become more common.
What is the IRS Definition of an Independent Contractor
It is important that you understand what the IRS defines as an independent contractor. If you violate the IRS rules you may find yourself paying the IRS additional taxes and fees.
The main test the IRS uses is:
- A person is an employee if they have no control over what they do and how they do it.
- A person is a contractor if they have control over what they do and how it gets done.
It comes down to control and relationship. If the person has a contract and comes and goes as they please while being self-directed they are probably an independent contractor.
A freelance PHP developer is someone who basically does gig projects on a contract basis. A guy I know says a freelancer is someone who created a job for themselves. I would say this is accurate and from my experience, most freelancers are a one-man-band. More than one developer is an agency. Working with an agency is usually different than working with a freelancer.
Division of Website Developer Skills
I occasionally run into or hear about, a PHP developer that claims to be a designer and a developer or maybe an expert Linux system administrator. I’m not saying they do not exist, however, they are rare. I like to separate the skill sets that are necessary for the successful launch and ultimately the support of any website.
Here are the 5 skill sets. Keep in mind there will be some overlap. The PHP programmer will probably have the greatest overlap given the developer needs to know a little about everything.
- Designers – This is the person that makes your website look good. They create templates or what is called the theme. They know HTML and CSS very well and will have a good eye for making things look very nice.
- Graphics Designer – Making logos, images, and modifying pictures are what this person does. The graphics designer and the designer might be the same person.
- PHP Programmer – This person does not make your website beautiful, they make it functional.
- Linux Hosting Administrator – Your hosting expert. They are the ones who maintain your hosting server and it’s associated network(s).
The Basics to Look For When Hiring a PHP Programmer
- Skill Level and Experience – You are looking for a solution provider and I keep taking skills. I often hear “Employers are looking for skills and website owners are looking for solutions.”. That is true. So why do I continue to talk skills? It is simple. Solution providers must-have skills and experience.
- We can group skills and experience is three basic buckets.
- Entry Level – This is a developer who is just beginning. If we look just at time that might be the first two years of full-time work as a PHP developer.
- Mid Level – Someone who has more than two years of full-time experience.
- Senior Level – A senior developer will be well seasoned. It might take six years to get to this point, depending on the type of projects they have been working on.
- What Niche Are They in – This is important because you will want to find a developer that aligned with the niche your project is in. For example, if you are building an eCommerce website using WooCommerce you do not want to hire a Drupal developer unless that developer has WooComerce Experience.
- Communication Skills – This is my pet peeve. The person you choose needs to have good communication skills. Add to that they need to communicate often. A developer with poor communication skills can derail a project in a heartbeat.
- Ability to Self Motivate – Your developer will be working from home and must be self-directed and have the ability to motivate themselves even when they do not want to work on your project.
- Ability to Run A Small Business – Every person who does freelance work must understand the basics of running a small business. The basics consist of managing projects, writing contracts, completing projects, billing and managing income and expenses. It sounds easy and it kind of is, however, this means the developer you hire must be good at changing hats as needed.
An Overview of the Technical Skills a Freelance PHP Programmer Must Have
As I outlined in the prior section, there is a division of skills. Most developers do one or the other well while having some skills in other areas. However, you will find that some if not most designers know little about PHP development.
As for the PHP programmer, I would expect them to have a decent grasp of the full stack. Some refer to the stack as the “LAMP” stack. The LAMP stack is actually a subsection of what is really required of a freelance PHP programmer. LAMP stands for Linux, Apache MySql, and PHP.
This does not mean the PHP developer is an expert in these ancillary technologies. What it means is the developer needs to know enough to be able to add the PHP / MySql functionality to other’s work.
This is a brief summary of the skills a PHP developer must-have. This is not an exhaustive explanation of each technology.
HTML – The basis of all web pages.
CSS – The definition of webpage styles such as the font family and size.
PHP – The programming language we are talking about.
MySql – The data engine. This includes the Structured Query Language (SQL).
Linux Hosting Provider – Linux is the hosting server operating system.
Data Management Tools – phpMyAdmin and the MySql tool used to manage your website data.
Code Editor – Must have an editor that helps the developer speed up the process.
I intentionally left off Windows PHP hosting because PHP is native to Linux and was adapted to run on the Windows web server. I would never recommend running PHP on a Windows server.
There is an exception and that is specialty hosting houses where the Linux Hosting Specialist is also somewhat of an expert in the software being hosted. For example, I supported a company that had a Drupal install that they used as a content management system. The hosting admins were also skilled in Drupal and were part of the solution.
Education is Always Nice
When I started a Bachelor’s degree was required. Today a degree s not necessary. For what it is worth I learned the basics of programming at my local community college. I pursued a Bachelor’s degree because I thought the University was going to reveal the secret sauce. No secret sauce was revealed. All of my web skills have been self-taught or learned while doing projects.
Believe it or not, PHP programming is not taught at the University. You will find website skills being taught at the community college level.
- Leadership Skills – Your developer will need to take the lead in almost all areas of your project.
- Teamwork – Even though you are hiring a Freelance developer, he or she is part of your team. They do their part while you do your part. It is a team effort.
- Communication Skills – As mentioned before your developer must be a good communicator otherwise your project will fail.
- Work Ethic – This speaks to being a self-starter. Since your developer will be working remotely, the must have a strong work ethic.
- Flexibility/Adaptability – Things change often and your developer must be willing and able to adapt to change. Having a change procedure and policy will be very helpful.
Freelance Developers Work Remote
Why is this important? Because the developer you hire must have a professional work environment, all the necessary tools, and be self-motivated. The person you hire will need to be able to work remotely with little direction.
Project Life Cycle
The project life cycle consists of four parts:
- Initiation – The very beginning step is to determine if the project is viable, or feasible. If you have a small project, you may be able to do this in your head. However, it is always a good idea to write it down and think it through. You need to understand the pros and cons of your prospective project.
- Planning – You will need the assistance of a senior developer to accomplish the planning phase. I assume you are a layperson that is why you are reading this article. Given that you will need to work with a developer to sort out the technical details and to determine how long the project will take the cost and the required resources.
- Execution – This is when you are working on the project. You should be following the project plan and managing any changes that may come to light. Even the best of plans do not allot for everything. Occasionally there will need to be a change order.
- Closure – When the project comes to a close, it is time to assess your project to ensure your plan has been executed properly. At this point, you should have a good idea or even a written plan for what it will take to keep your web project online and functioning properly for the time frame you desire.
Technology Life Cycle
When I talk about the Technology Life Cycle I am talking about the upgrades of each piece of technology you are using. This may drive changes to your software as well.
Any other libraries or software you use may come with its own upgrade schedule as well.
Keeping everything up to date and knowing when to upgrade is the job of your developer and hosting partner. For a small project, all of this may fall on the shoulders of your developer.
Security is a must when dealing with the hostile Internet. Getting hacked is no fun. Most modern PHP applications such as WordPress come with builtin functionality that can be tapped into to ensure your application is secure.
The PHP programming itself has a whole layer of security that can be used to ensure your application is secure.
Programming Language Selection
If you have a project in mind and are not sure what programming language to use, a developer can help you with that. Given PHP is run on about 80% of the websites and applications on the Internet, PHP probably can do the job.
There are three types of hosting server configuration:
- Shared Hosting – Hosting providers put lots of websites on each servers creating low cost hosting solutions. Shared hosting is a good place to start with a new project unless your project needs advanced access to the server such as command-line access. Some web applications can require more resources than shared hosting provides.
- Virtual Private Servers (VPS) – This is where a server is partitioned into multiple virtual servers. Most web applications will run nicely on a VPS.
- Hardware Servers – Top-level applications may require the power and the exclusive use of a hardware server. This is a server that is exclusively used by one entity.
Your developer should understand hosting and can help you rightsize your hosting server.
How Search Engine Optimization (SEO) Knowledge Makes for a Better Developer
There is a lot to know when it comes to SEO. I think all PHP developers should understand the SEO basics. Things like using relevant search terms in places like the alt tags of your images.
They should also know about duplicate content, how the title of your articles will affect ranking, and so much more.
SEO is easy to learn if one knows and understands HTML.
So how does knowing SEO help? As your developer changes things they will understand what SEO questions to ask and how to use that knowledge to help your website SEO wise.
For example, if you are using WordPress, your developer can help you configure things like your website Permalinks.
This speaks to understanding SPF and DMARC DNS records. Knowledge of how newsletters are rejected by the recipient’s server and how to take corrective action is also important. This is an advanced topic and I would expect a seasoned programmer to understand these concepts.
Losing a website can be catastrophic. Losing your website could put you out of business. Backing up your website data, files, email, and in some cases server configuration files is a must. Your developer needs to help you develop a comprehensive backup plan as well as help you implement it.
Networking and DNS
Every website or web application is on a web server. Every web server is connected to the Internet. A basic understanding of networking and DNS is are essential skill sets of a PHP programmer.
What specialty are you looking for?
If already have a website or have a plan that utilizes a certain technology, then you will want to evaluate and hire someone who is a developer in that niche. Below I write about some of these areas, such as WordPress, Drupal, and Joomla.
Using a framework for a project usually indicates you have a custom web application.
Having an existing website or web application created in a certain framework will indicate what skills your developer should have.
The Good, the Bad, and Ugly of the Job Boards
When I went out on my own in 2006 there were no job boards. The gig economy has presented the need for a market place where developers can market themselves.
A job board or market place is a place where developers and others can offer their services for hire. The board handles all communication. There is no direct communication between you and the prospective developer. All communications are managed by the job board. Once you select a developer, your payments will be made to the broad and will be placed in escrow until you are satisfied with the job.
The Good – You have a system in place that might protect you. Your money is placed in escrow. It is easy to find people with the skills you are looking for and read their reviews.
The Bad – These sites are bureaucratic. You must communicate with your provider through the website. The broker website gets a cut of your project, so your developer will be paid less.
The Ugly – There may be rules in place that favor the developer. You will never meet the prospect nor can you build rapport with that developer. These boards lend themselves to cheap and short projects.
If you want to find an independent/freelance programmer you probably want to steer clear of these boards. You will need to be able to work directly with your developer, especially if it is a project that may take more than a few hours.
White Label Consulting
If you are a freelance designer or an agency you may need to hire a developer and brand their work as your own. Most of everything I write in this article applies.
Depending on your need you may want to build a network of programmers you can rely on.
Milestones and Payments
I like to use a contract as an agreement for the project that outlines what is to be done, who is to delivers what, when certain milestones should occur, and when payments will be made. I also like to agree on the method of payment.
This agreement supersedes all prior statements verbal or written statements. Making the contract or agreement the final statement will help reduce misunderstandings.
By the time a person becomes a freelance PHP developer, they should be good at problem-solving. They should have a history of problem-solving. I’m talking about full-stack problem-solving. Full-stack means all the technologies that come together to make your website or web application viable.
Employers look for skills and those hiring a freelancer are looking for solutions You are looking for solutions and you should understand the skills a freelance developer should possess to be able to complete your project.
Problem-solving is not limited to the stack. Your developer may find themselves in a position to resolve other issues that are not purely related to programming. Freelancers must be ready to solve logistics and communications issues as well.
Hire a Freelance PHP Developer
If you have a generic problem, such as an old school website that needs to be freshened up a bit, you just need a PHP developer. Any PHP developer that has any amount of experience will probably do. Just make sure you find someone who knows what they are doing, is responsible and reliable.
Hire a Freelance WordPress Developer
If you have a WordPress project, you will need a person who specializes in WordPress. While WordPress is easy to use and expand, it comes with a large ecosystem. Besides needing to know the basics and advanced PHP development, the WordPress developer needs to understand how to create plugins, how to write and modify theme code, and build or modify theme function files. A WordPress developer needs both advanced skills and WordPress specific skills.
Hire a Freelance Laravel Developer
Laravel is an advanced PHP framework that is very popular. A Laravel developer needs advanced PHP developer skills and needs at least some Laravel development experience. Laravel requires the following skills:
- Linux hosting command line
- PHP Composer
- Potentially Apache and / or Nginx
- Model View Controller MVC architecture
Just to mention a few.
Hire a Freelance CodeIgniter Developer
CodeIgniter is very mature given it was first released on February 28, 2006. It is very easy to install, run, and to build web applications with. CodeIgniter is my favorite PHP framework given its small footprint, lightning-fast speed, and it’s simplicity.
CodeIgniter can be used to develop web applications on shared hosting since it does not require a lot of resources nor is there any need to have access to the server command line.
It is well documented. It follows the Model, View, Controller (MVC) architecture. Codeigniter is suitable for almost any type of project.
A Codeigniter developer needs moderate experience and skills.
Hire a Freelance WooCommerce Developer
WooCommerce is a WordPress plugin. It extends WordPress. A WooCommerce developer will need to be a WordPress developer and will need WooCommerce skills as well. This developer will need advanced PHP skills first and foremost. Add to that you will want someone with eCommerce experience and a good understanding of the Domain Name System (DNS). It would also be a good idea to hire a developer with some understanding of how a newsletter system works and how SPF records work.
Add to these requirements an eCommerce expert needs to have knowledge and experience with the Payment Card Industry (PCI) standards. This includes penetration testing and working knowledge of how Internet taxing works.
Hire a Freelance Drupal Developer
Drupal is very mature and is for the enterprise. Drupal has a large ecosystem and is a very hardy web application infrastructure that lends itself to creating Content Management Systems (CMS) and all sorts of web applications. Drupal comes with a long and difficult learning curve. Out of the box, Drupal is not very SEO friendly.
If you are looking to hire a Drupal developer look for someone with a lot of experience with Drupal that is an advance PHP Developer. This person will need to have Linux command-line skills and understand Composure. There is a lot to know to become a freelance Drupal developer.
Hire a Freelance Magento Developer
Magento is Open Source and also has a licensed version. Magento comes with an extreme learning curve that includes understanding Dependency Injection, Name Spaces, Composure, Payment Gateways, and the Linux command line, Apache and/or Nginx.
Magento is a resource hog and you will probably want to use Magento specialized hosting.
A Magento developer will need to understand all the design patterns used in Magento to include the database model Entity–Attribute–Value model (EAV).
I think Magento is such a complicated application that I would steer away from a one-man-band freelance developer. I would look for an agency with a proven track record.
Hire a Freelance PHP Browser-Based Applications Developer
What You Can Expect it Will Cost to Hire a Freelance PHP Developer
What does it cost to hire a freelance PHP Developer? It depends on a number of factors, such as what type of application or website you would like to build, the skill set of the developer and where they are in the world. An entry-level American developer might charge $40 an hour and an experienced developer might want upwards of $200 an hour depending on the project and the required skills. An offshore developer might charge as little as $12 per hour and will come with lots of challenges.
If you have made it this far, you know there is a lot to take into consideration when hiring a freelance PHP developer. Understanding your project and what specialty you need is important. Can you live with a high school kid, or do you want a pro? Understand the prospective developer’s skill and experience level is always good.
I would recommend you read and reread this article before you decide to begin your search.
I wish you much success in your search for a developer.