c If I could turn back time - about the importance of deadlines
d Who's the Boss? - A few words about the Project Management
06 Case Study - When a Freelancer is the best option?
07 TLDR: Freelancers vs Software Company - Pros & Cons
Software Companies vs Freelancers
Today we would like to explore the question which plenty of business owners, development managers or startups are dealing with - should I hire a software company over a freelancer.
Planning software or web development is a little bit like planning house renewal - should I hire a single tradesperson or the entire crew. The whole project flow, avoiding sleepless nights and headaches depends in large part on it.
There is no universal recipe that may help you to pick between a software agency or a freelancer. But we are more than happy to share factors and guides you need to have in mind while making that choice.
Before we focus on key factors that may help you decide whom you should pick for your project, let's define "who is who", so let's play a little bit of a trivia game.
Who is a Freelance Developer?
Freelance Developers are self-employed individuals who usually work for several clients or companies simultaneously. A freelancer needs to wear many hats at the same time. Beside working on projects for their current clients, they must look for new business opportunities, deal with accounting etc. We can call them simply a one-person agency.
It may happen that freelancers may commit to projects above their capabilities. It also means if a more valuable opportunity (a full time job or a project with a better salary) comes up, a freelancer may switch your project to a lower priority or simply unfinish it. In the most extreme situations, some freelancers just coast through projects. They present themselves from the best side during the interview, get hired, work for a few weeks or till the client realizes that the freelancer is not the best match for their project. Below you may find the most intense example of how some people work above capabilities:
Suppose a company decides to hire a freelancer, and inside their organization, there is not a single person who can verify the freelancer's skills and cultural adjustment. In that case, we recommend hiring a Software Consultant as well. They will help you confirm the freelancer's skills if needed. They also can help you find more available candidates who will match your work or project requirements and culture. Don't we all have crystal clear resumes? Software Consultants or even IT recruitment professionals have more experience and sources to find an excellent match for your team and project. Trust us, skills are not everything, cultural adjustment of both sides is also really important. It is a little bit like matchmaking - IT recruitment professionals want to make both sides happy and satisfied with their presence and cooperation.
What is a software company?
On the opposite side to freelance developers, there are software development companies with their in-house teams. An in-house team may work on internal projects, develop software for an external client or be a part of a client's project. Here at Sunscrapers, we call the latter - dedicated developer teams.
As the name suggests - the team is fully committed to your project. You do not have to worry that one sunny morning things suddenly go south, and the project is abandoned or terribly delayed. A developer working at a software agency, does not have to bother about things like - finding new clients, accounting, marketing. Software agencies have people assigned to those roles. That allows developers to fully focus on your project.
A great dedicated team is like an extension of your tech team and easily helps you to grow your project delivery capacity. Sunscrapers has years of experience in building dedicated developer teams based on clients requirements and needs.
For software companies it is an industry standard (or at least here at Sunscrapers) that a candidate's knowledge is being reviewed and tested during the recruitment process by a company's CTO or an experienced IT recruitment professional and a senior developer who works for a company. Thanks to that, companies with a few years of experience and dozens of completed projects have a network of trusted and reliable developers. This allows experienced software companies to know quickly which developer and their skillset are a great match and fit.
Besides hard skills, it is really important for us that a developer has great soft skills like - teamwork or communication with supervisors and colleagues. Believe it or not, soft skills are super important and valuable in the IT world.
How many freelancers does it take to...?
Bringing a few freelancers instead of a dedicated development team might be a tap dance on a landmine option. It may be a real struggle to find a few freelancers located in the same geographical or time zone who are professionals in their fields at the same time. Moreover, if it is their first project to work together, they will need time to adjust their communication and workflow as a team. According to Stack Overflow, around 9% of the 25 million developers visiting their website each month identify themselves as freelancers. It gives approximately 2.25 million freelancers in the entire world who have various skill levels. As you can see, there are not a lot of fish in the pond.
Bear in mind that your duties would also include managing the team of freelancers. On the other hand, an experienced, dedicated team is like a several times NBA Finals winner - they know what to expect from each other and how to achieve success together.
Knowledge VS Savings
As we mentioned earlier, there is no universal recipe for whom you should choose to develop your project. However, while completing projects for our clients and organizing workshops for them, both sides can learn about their expectations, ideas and visions. We noted a list of hot subjects, and we would like to share them now to help you make a choice.
How big is your project?
It is one of the crucial questions you need to know/figure out the answer to. Try not to underestimate the complexity of your project. For a person without technical experience or background, it may be tough to make a proper estimation or roadmap. Trust us. It is better to leave it for a professional instead of scratching your head in Excel, Gant charts and scrolling through infinite Google search results. Bear in mind that freelancers may not consider all the factors and sometimes trust their gut. Oppositely, software companies can estimate the required scope of work, human power by their know-how and experience based on previous projects.
From an idea to the unicorn
Everyone from time to time has a brilliant idea of an app or product that will revolutionize the world and will be the next big thing. But how many of those ideas end up being executed or actually are those true next big things.
One of our priorities is understanding the problem the app will help to solve and eventually tailoring it to fit the potential end-user needs. We agree with what Steve Jobs said once: "Some people say, "Give the customers what they want." But that's not my approach. Our job is to figure out what they're going to want before they do..."
Again it is easier for dedicated development teams with more considerable human resources and experienced team members.
If I could turn back time - about the importance of deadlines
Developing software is not an overnight thing unless you participate in a hackathon or have an infinite number of resources with a perfectly clear vision and goals. But as we know, even then, things can go south and delays may happen, especially if it is a complex thing to solve.
Experienced software companies know well how to solve and manage a crisis. If the same things happen to a freelancer, then the only thing you can do is wait, hope that it is nothing serious and that your investors are understandable. Bear in mind that it is rare to find a software company that may instantly start working on your project. So if the time is a matter and the scope of work is small, we advise you to consider freelancing options.
Who's the Boss? - A few words about the Project Management
As a business owner or a development manager, you already know how difficult it may sometimes get to manage the business or current projects simultaneously. With a freelancer option, you become the project manager. Software companies like Sunscrapers have experience in agile project management and know how to deliver things on time without requiring a client to hold our hand. While you focus on things that matter for your business, we focus on delivering a quality product for you. Of course, it does not mean that we are left on our own. We love to organize update and status meetings with our clients to let them know about the progress.
Quality - seal of approval
Following Webster's dictionary, quality is "a high level of value or excellence".
Our CTO oversees every project from the technical side, and if any challenges come up, he is the best asset for the developers, thanks to his knowledge and experience. Having an experienced and highly skilled CTO is what every reputable software company should have. Such people and their skillset help us eliminate significant bugs or glitches in the software before getting released.
But of course, minor mistakes may happen even in a bulletproof construction. That is why a good software company offers maintenance. Freelance developers often have to proofread their own code. As everyone knows, proofreading one's own work is not the most straightforward task. To avoid that, you may hire an additional person to do it instead of them, but it means more expenses on your side. The same goes for the maintenance of the end product. In most cases, freelance developers do not offer such service, and you would have to look for another person who can take care of it.
Case Study - When a Freelancer is the best option?
We hope that you did not get us wrong. Freelancers are important and needed. It just depends what kind of project, knowledge and experience of working with them you have. To prove to you that we are not sugarcoating at this moment, we want to share a case from our own backyard. Currently we are working on rebranding our own company. You may notice on our social media channels that we updated the logos and a few bits and pieces. You can read more about it in a message from our CEO.
The second step of the process is redesign of our company website. Being more experienced in the market and understanding who our clients and what their needs are, we decided to refresh our website. Once the design was ready – we faced the same problem as you are facing right now. Should we hire a freelancer or a company?
Well in our case we would assign one of our senior developers to supervise the project. Our experience and estimations turned out to be irreplaceable. We decided to hire a recommended freelance developer who is experienced in front-end web development. Probably you now wonder why a software company hires a freelance developer, instead of using their own resources. Let us explain you that in three points:
Our developers could handle the task without any doubts. But it would mean we have to reassign a person from their current projects for at least one month or ask them to work in their free moments. It would not be an optimal solution for any of the sides - a client’s project may get delayed, a developer could be overloaded with the amount of work, and his performance could drop down. If a developer can work on our website only in his spare time it would be hard to complete the project in the planned time frame.
If we decided to hire a senior developer from our company to complete the website it would exceed our budget estimations. The website we are building is a relatively straightforward and user-friendly company’s website, not a complex web application. Assigning an experienced (and expensive) senior developer would be just a waste of resources and his/her skills.
If your project, its goals are clear, and you or someone from your team is experienced in code reviews and milestone tracking, a freelancer may be the answer. The above assumptions worked great in our case. It was easier to find an available freelancer, than to plan the timeframe and workflow of one of our developers who is fully dedicated to client’s projects.
To be sure that the project is executed according to our standards and requirements we assigned a Senior Developer who reviews the code and work progress. Of course, the developer needs to spend some time on that, but it is easier to manage 3-4 hours than 40 hours per week.
TLDR: Freelancers vs Software Company - Pros & Cons
As we said earlier, there is no strict answer to which option is the best for your needs. But we hope and believe that this article cleared some doubts and brought you one step closer to make up your choice.
- Easy to find
- The cheapest option
- They may not support the projects after the delivery
- May lower a priority of your project if a more valuable one is on the horizon
- Not entirely verified reviews and skills
- If a project is more complex than expected, you may have to look for extra resources
Software Company Pros
- Verified skills and knowledge
- They are dedicated and focused on your project
- Quality - projects are being created following industry standards and supervised by the company's CTOs
- Experienced in crisis management
Software Company Cons
- Slightly more difficult to find than freelancers
- May not be able to start working on your project instantly
- More expensive than freelancers
If you would like to learn more about turning your idea into a successful app, contact us to learn more.
If you need additional information about hiring developers, check our other articles from the Hiring Developers series:
- Hiring Developers – Offshore vs Nearshore Software Development
- Hiring Developers – Software Companies vs Freelancers
- Hiring Developers – How to Find and Hire the Best Software Engineers
- Python Outsourcing - A Short Guide for CTOs and Technical Managers