CookiesHQ was born out of Nic’s freelance business. He got to a point where he couldn’t give all his clients the time they deserved and had to say no to a lot of new business. Today we have a team of four and we can provide something that he was missing as a freelancer: flexibility.

When you are an entrepreneur, with a limited budget, it is legitimate to ask yourself whether you should hire a freelance web developer or a development agency. The big agencies’ fees are often prohibitive, but the small agencies can still be affordable. So the question is: how do you choose?

Availability & workload management

When you hire a freelance developer, you pay for one person who has a certain skill set and can work with you for X days or weeks. The developer should help you prioritise the important features, organise the development process and deliver the work on time.

Unfortunately, once the work is done, you cannot guarantee continuity. When Nic was freelancing, clients would call to see if he was available a few weeks later. But because his business was doing well, if you wanted to work with him, you had to book his time at least 3 months in advance. Good for him, not so much for clients who sometimes wanted quick add-ons to their projects.

One of my first tasks when I came onboard was to manage the clients’ requirements and plan Nic’s workload. He had the tendency of easily saying yes because he felt he owed it to his clients to be always available, and ended up working double or triple shifts – good for the business, not so good for your health and your family life.

The business was still growing so we started to work with external contractors, who would work on one-off projects while Nic concentrated on the long-term clients. The business was still growing, so it soon made sense to hire a full-time developer, and a second one a few months later.

Having a team of 3 developers increases our flexibility significantly. If you want to book time with us today, we could start in 4 to 6 weeks. If you are lucky, we could even find a few days or hours for small features or fixes in the next 2 weeks. New clients are happy that they don’t have to wait for very long, and long-term clients know they can rely on us.

A balanced team to allow knowledge sharing and work efficiency

It is impossible to be the best at everything, and you may be a good dev, there is always at least one area where you will be lacking. When you work on your own as a freelance, you can get stuck quite easily trying to resolve a problem you have never encountered before.

When you are part of a team, you can ask around for a solution, with the double benefit of learning something new and not losing as much time.

Good agencies hire people who have different and complementary skills, as well as a healthy mix of junior and senior developers. The juniors not only learn from the more senior members of the team, they are also very useful for smaller jobs while the seniors concentrate on the more critical or complex tasks.

Nic is the most experienced Ruby dev in our team. He acts as our ‘technical director’, giving technical recommendations on complex problems and reviewing everyone’s code, as well as working himself on some projects.
Rob and Julio have 2 to 3 years of experience each and different skill sets: Rob, with a scientific background, has very strong analytical skills and learns quickly. Julio, on the other hand, is excellent at jumping on someone else’s code, adapting his coding style and finding bugs in an existing code base.

Project management, testing and quality control

A freelance developer manages himself all his projects and clients. He is solely responsible for delivering the promised work on time, and it is up to the clients to test and decide whether the quality of the work is up to their standards.

In a small agency, you should always have at least one person other than the developer who is responsible for making sure that the project is on track time-wise and that the features deployed work properly before they are demonstrated to the clients.

The project manager is also responsible for communicating with the clients, understanding their needs and expectations, and allow the developers to focus on what they do best: write code.

At CookiesHQ, we don’t have a full Q&A team like a bigger agency would have. But I still test every single feature that is deployed, because no matter how good the devs are, there are always a few bugs to uncover. The important thing is to find and fix them before they become bigger problems – or before the project goes live obviously.

In the end, isn’t it just about prices?

Well, yes, most of the time. A freelance developer is usually cheaper than an agency – for all the reasons we mentioned above. On the other hand, an agency may be more expensive, but offers a slightly different service.

My recommendation would be to look into hiring an agency, if you are looking for a long-term technical partner, someone who can offer you continuity of service and flexibility.

But in the end, all that counts is that you get on with the people you choose and trust them to do a great job.

If you’re an entrepreneur and are looking for a small and friendly development team that you can trust, give us a shout! We write good code and bake delicious cookies 🙂

Photo credit: steeljam