Freelance ExpressionEngine Developer Vs. Agency
With so many freelance ExpressionEngine developers and agencies to choose from, selecting the right partner for your project can be a daunting task. This article is aimed to help you define your requirements and find the perfect ExpressionEngine developer.
New Build Vs. Ongoing Maintenance
Your project will most likely fall into one of two categories:
New Build - A new ExpressionEngine build. You may already have an existing site and looking to rebuild it, or it could be an entirely new website.
Ongoing Maintenance - You already have an ExpressionEngine website. You will be looking for someone to take over the site to implement new functionality and provide ongoing support.
It should be noted that not all agencies and developers will take over an existing website and will only work on new builds. The first question when approaching a prospective ExpressionEngine developer is to find out if they are willing to take on another company’s code.
If they are happy to work on the project, they will often ask you two main questions before proceeding:
- Why are you no longer working with the supplier that built the current site? Companies have many legitimate reasons for parting with their previous ExpressionEngine agency or freelancer. To the prospective developer this is a red flag that there has been issues in the past relationship. It’s best to be honest about the reasons why you no longer work with them, so it can be avoided in the future and expectations managed from the outset. As an example, if you parted ways with a company because you wanted out of hours support (E.g. weekends and evening). If the prospective company does not provide this service and you proceed with the developer, history will repeat itself.
- Code Audit - Most companies will want to conduct an audit of the code before estimating on a project. This is done to understand how the site has been built, and if there are any obvious issues which will cause problems with the requested changes. Some developers will charge for this process, and others may write it off as cost of sales.
Who you are?
ExpressionEngine developers will often have a specific type of client they will work with, or a particular niche they are aiming to fulfil. Some freelance ExpressionEngine developers will only work with creative agencies, whilst others will only work with clients directly.
Looking through their website should give you a good idea if your company is a good fit for them and vice versa.
What skills do you require?
Projects generally require a wide range of skills to be completed. So defining what skills are needed before searching for an ExpressionEngine developer will help you shortlist someone. ExpressionEngine designers, developers and agencies will tend to excel in particular skills, so finding a company that possesses the right skills for your project is important.
Listed below are some common skills people often look for.
- Design - Will the project involve design work? A freelance ExpressionEngine developer may not be able to provide design services. Can they suggest a designer they are familiar working with?
- ExpressionEngine Add-on Development - Are you looking to create a very specific function on your website that nobody else has? You may need a developer who can write add-ons. It should be noted that not all freelance ExpressionEngine developers or agencies will write add-ons.
- Online Marketing - How are people going to find your website? You may need an online marketer to devise and implement a strategy for driving targeted traffic to your site.
- Consulting - Do you need someone to help solve a problme, analyse and organise your digital processes and systems, with the key objective of making your business more efficient and profitable?
- Project Management - All projects need managing to a degree. However, if multiple people are involved in the project, do you have the necessary skills to manage all of them or are you looking to delegate this to the prospective developers?
- Support - Do you have specific support requirements, such as out of hours support? If your website is business critical, you may need a level of support not offered by the majority of freelance ExpressionEngine developers or small agencies.
- Server Management - Will you require hosting, or do you require someone to manage your existing hosting environment?
- Specialisms - Do the prospective developers need to have specific experience, for example in eCommerce or multi-lingual sites?
- Other - Is there requirements that are very specific to your project, such as a developer fluent in both English and Russian?
Freelance ExpressionEngine Developer Vs. Agency
The types of development partners you will generally approach fall into two categories. To avoid confusion, both terms have been defined below for the context of this document.
Agency - A company formed of multiple employees. An agency can be a small operation with only a handful of staff, or a larger corporation with 250 plus employees stretching over multiple continents. As a rule of thumb, the larger the agency, the more expensive they will be. Bigger is not always better though!
Freelancer - A self-employed developer or designer.
Inevitably, there are exceptions to this rule. Some freelancers will operate under the guise of an agency, typically outsourcing some or all of the project to other freelancers.
An agencies hourly rate is much higher than a freelancer to cover overheads of staff and office.
In contract, a freelancers hourly rate tends to be much lower than an agency.
Agencies will have a dedicated project manager in house, whose role is to make sure the project runs smoothly, on time and on budget.
Freelancers’ project management skills will vary considerably. It is likely that you will have more involvement with the day to day management of the project.
An agency will have an eclectic mix of skills in house, from project management through to development and design. Think of them as a one stop shop.
Freelancers will usually be very skilled in one particular area, e.g ExpressionEngine development. So if your project requires additional skills such as online marketing, you may need to work with and manage multiple suppliers.
Larger ExpressionEngine agencies will typically have multiple developers working on a project at any given time. This means that turnaround times on large projects tend to be much shorter than a sole ExpressionEngine developer.
Freelance ExpressionEngine developers in most cases work by themselves, so lead times on larger projects can be longer. However, there are less internal processes so smaller changes can often be processed much quicker.
Sickness & Holidays
If an employee is sick or on holiday, a larger agency will be able to cover this so that the project continues to progress.
If a freelancer is not working either due to holiday or sickness, the project will normally be on hold, this includes support. Albeit, some freelancers have mutual arrangements to cover such eventualities.
Agencies are usually seen as more reliable than freelancers. Although, this is a generalisation and not always the case. And I've seen plenty of cases where companies have left their agency as they have become unresponsive.
Freelancers are often cited as being unreliable. However, well established freelancers are often as (if not more) reliable as an agency, after all this is how they make their living. Look for a freelancer with a proven track record. With freelancers and agencies it is important to be upfront in regards to your expectations, so there are no surprises during the project.
As previously mentioned, there is a significant difference between the hourly rate of a freelancer and that of an agency. Larger agencies will command a higher hourly rate than that of a smaller agency. The hourly rate, however, is not always directly proportional to the quality of work.
Whilst budget is obviously an important factor, selecting the right partner to work with can add additional value to the project (that isn’t so easy to quantify in a profit and loss statement).
Factor in your own time to the equation and don’t be shy about letting the prospective developer know your budget. Often they can help advise on what can and can’t be achieved within the budget, and what will yield the highest return on investment.
A final tip, if you are approaching more than one company, make sure you are comparing on a like for like basis. Read the proposals carefully and see if they are offering something that the competition is not.
Fixed Price Vs. Hourly Rate
There are generally two pricing methodologies freelancers and agencies use (although there are other ways such as agile billing, or value based pricing).
With your budget set, it’s easy to assume the best way forwards it to go with a company that offers a fixed project price.
A fixed price, is calculated based on a fixed amount of work. The prospective developer will usually estimate the number of hours it will take to complete the project, and multiply this by their hourly rate. There will inevitably be an error margin in these calculations, so the prospective developer will put a mark up on the estimated time - this is to cover them for the financial risk of taking on a fixed priced project. Much like a financial institution would take higher interest charges on riskier loans.
The prospective developer will then need to manage scope creep very carefully. Invariably project requirements will evolve during the project and change requests will either be billed separately, saved for a ‘phase 2’, or done begrudgingly tarnishing the relationship for the future.
In contrast, with hourly rates you are only charged for the time spent on the project and no additional markup will be added, as the financial risk to the developer is lessened. To mitigate your own risk, it is important to get accurate estimates prior to starting the project. An experienced developer will be very good at accurately estimating how long specific tasks will take. They will use time tracking software to record all hours spent down to the minute and be able to provide you a full breakdown of work carried out.
There is clearly advantages to being charged hourly, however, if your budget is very rigid, you may still feel a fixed project price suits your project better. Each developer has their own preference for how they bill for projects, so this will help decide which company is right for you.
Location & Timezone
The cost of agencies and freelancers differ depending on their location. Unsurprisingly, if they are based in or around a major city, the cost of living is much higher and so are their rates.
In contrast, if they are based in more rural locations their rates will be typically lower, but your choice of companies will be smaller.
So ask yourself, how important is proximity to your prospective developer? Some clients find it easier to communicate face to face with the developers. In which case, narrowing your search to local providers will help you to shortlist the relevant companies.
Other clients are happy to use Skype, Google Hangouts, Slack, Email, the list of communication tools goes on and on. If this is you, you can afford to cast your net a little further afield.
Wait… Before you start approaching companies in the furthest corners of the world, think about timezones. If your developer is just starting work when you are heading to bed, communicating even the smallest change will take a cycle of at least 48 hours, which can be frustrating for both parties.
OK, so let’s think ahead. You’ve had your site built and it’s great, but what are your requirements after the site has gone live? Ask yourself the following questions:
- Will you need training and continued support using the CMS?
- Will other team members come on board who will need support on how to use the CMS?
- Will you be requiring frequent updates to the site’s functionality?
- Will you be hiring an SEO guru who will require additional development work?
- What happens if the site goes down, who will you turn to?
- Does you business rely on your website for sales? Will you require out of ours support, e.g. on weekends, or late evenings?
When approaching a prospective developer, let them know your requirements, and see if they have processes in place. Some companies prefer to avoid support work altogether, whilst other companies thrive on it as a reliable revenue stream.
There are no hard and fast rules as to who makes the best ExpressionEngine partner. Each project has different set of requirements, which will lend itself more to a freelance ExpressionEngine developer or an agency.
Understanding what you need is the first step to identifying the right partner. Keep an open and honest dialogue with the potential developer, in return, expect the same from them. It is in everyone’s best interest to create a mutually fruitful relationship.
Like you, freelancers and agencies are made up of people. Treat them well and they will look after you.