top of page

Hiring a local developer versus an agency or offshore

May 31

6 min read

0

93

0

If you're developing custom software or an app, you'll need to decide how to get it built. Beyond hiring an engineering team, there are three options to consider:

  1. An agency

  2. A local independent developer

  3. An offshore developer


If you search google for "independent software developer vs agency" you'll mostly find answers written by the marketting departments of agencies or offshoring platforms. So I think those results are a little biased. I'm writing this post to make the case for an independent, local developer and highlight some of the downsides of agencies and outsourcing.


My intended audience is someone with a small to medium business looking to develop a small(ish) software project. Perhaps an ecommerce site, an app, or a plugin.


To try to stay unbiased, I'll first acknowledge some of the benefits of both agencies and offshoring:


Benefits of Agencies

  • Proven competency

  • Large portfolio of work

  • Guaranteed baseline of quality, professionalism and communication

  • Ability to scale up

Basically with an agency, you are guaranteed to get something functional for your money. It may be more expensive than it should be, it may come from disengaged developers, but you will almost certainly get something that meets a minimum baseline. If an agency doesn't provide this, they wouldn't last long in business.


Downsides of Agencies

  • Expensive

  • You don't know exactly who's working for you


Agencies provide a level of safety and consistency, but they do it at a price. Attracting top engineering talent is difficult, and agencies are competing with tech companies and independent contracting which is often more interesting and better paid.


One common strategy agencies use is to send in a star team of highly motivated senior consultants to go in and win the work. Once the work is signed, the original star team are replaced with rank and file employees. You end up paying full price for this, at a significant markup.


Agency pricing for an App


Most agencies don't publish rates on their websites, but this corporate software development agency for example, publishes daily rates that range from $1960-$2450 for software engineers (to be fair, that's definitely on the high end). However, if a typical small app with a backend takes just 3 months to build, you'll end up paying through the nose.


Also, Agencies will bill time and materials, so even if a price estimate starts at 20k, by the time you can get something built that is actually useful, you may end up paying far more. This website estimates that the typical mobile app ends up costing about $170k to build through an agency


The bottom line is, you will get something built with an agency. But the process will be expensive, and the outcome likely won't be everything that it could be.


Offshoring

Another option to consider is offshoring. With sites like upwork and fiverr, you can find a talented developer for incredibly cheap. When you see developers advertising for extremely low rates and lots of positive reviews, it seems like an obvious choice. And it does have two very legitimate advantages.

  • Significantly cheaper rates.

  • Developers are motivated by the rating system


You are able to take advantage of a massive wage differential, and make use of raw brain power at a much lower rate than what you would pay for local developers. Also, due to the reputation system. Sellers are motivated to get the work finished quickly and to your satisfaction.


Downsides of offshoring

  • Communication

  • Quality

  • Misaligned incentives


So what's the catch? Well firstly, communication is an obvious issue, but it goes much deeper than that. When you work with someone in a completely different country, with different culture and values, it's very hard to forge a genuine trust relationship.


This might not be an issue if the terms of your engagement are extremely well defined. For example, if you have completed designs for a website, you would be able to hand them to an offshore developer and check that the resulting website closely matches the designs. Due to the reputation system, the developer is incentivised to get the website to a point that you're happy with before you release the funds and leave the review.


But even with a project as simple as a website, chances are there will be many things that you do not have the time or technical experience to accurately evaluate up front. Imagine the designs don't include a mobile version, and the offshore developer notices this. Their incentive is not to let you know, but to build the website "perfectly" to the spec that you gave them, complete the project, and allow you to discover later that the site is broken on mobile.


The issue of misaligned incentives becomes much much worse as the project becomes more complex. For even a simple software project, there are aspects that are very difficult to specify up front or verify after the fact. For example:

  • Security

  • Performance under load

  • Code quality

  • Handling of errors


For so many aspects of a software project, the people best placed to understand potential issues are the software developers themselves. If you can trust your developer to truly care about your long term interests and reputation, they can be an invaluable source of information. But if your developers incentive is to keep you in the dark until you approve the project, you could easily get into dangerous waters.


As an indication of this, look at the reviews for individual developers on the platform Fiverr, they are mostly all five stars. But look at reviews of the platform as a whole. It tells a very different story. Among the people who got their simple projects delivered to satisfaction for a good price, there are many, many others who feel like they were ripped off. Learning only after the project was closed and rated that they did not receive what they thought they had paid for.

Gabbi. B writes:

Once you write a review (for which the seller pesters you constantly) you cannot change it and they will disappear.

Alan Barla has a shocking story:

I ordered the implementation of a feature on my website's theme. The seller inserted also malicious code into my theme!

Offshoring is an opportunity but you should go into it knowing that it will be a risk. You will have a low trust relationship with your developer, and need to be very careful to verify the resulting software and hold them accountable.


Why work with a local independent developer

Now, finally, here's my pitch for hiring a local independent software developer.


Benefits

  • Directly accountable to you

  • Reliant on you for their pay and reputation

  • No middle man

  • You get who you pay for


When you contract with a local, you get someone who is accountable directly to your business. Word of mouth is critical for them, and so they will need to keep you satisfied long term. Not just until the project is delivered, but as long as they're in business.


When you choose an Agency based on their all star team, you may get swapped out for mediocre employees and end up paying top dollar anyway. But with an individual, you get exactly who you pay for.


When you pay an offshore developer and the product seems to work fine, only to discover next week that it's full of bugs and security issues, they already have your money. Any further work would be a new project, and the rate might not be so cheap this time.


Hiring a local developer gives you a chance to genuinely align your business with a talented developer who you can trust, with no middleman to inflate the prices and block accountability.


Having made that pitch, I should mention the downsides.


Downsides

  • Less of a proven track record

  • Some cowboy operators to watch out for

  • Harder to scale with individuals


As beneficial as it is to have a competent and reliable developer who's directly accountable to you, if you partner with someone lacking talent, commitment, or integrity, you will have little recourse except to terminate the relationship.


At the end of the day, doing business with anyone is a calculated risk. It's up to you to balance the risk, versus the reward of finding a competent freelance software developer to be accountable to your business and deliver high quality software and ongoing support at a fair price.


Summary

In summary, there are cases for each approach. I'd go with an offshore developer if I had an extremely well defined project, and I had the capability and time to verify code quality and non-functional requirements.


I'd go with an Agency if I had a large project that would require a team of developers, and if I was employed by a large company with deeper pockets.


And I would look for an independent software developer for a small to medium project, if I wanted accountability, value for money, and someone who can be a genuine asset to my business without the commitment and paperwork of taking on a full time employee.


A pitch for me


Anyway.... Speaking of high quality independent software developers...


As of this week, I am going into business as an independent software developer. I'm smart, motivated, and have over a decade of experience in leading consultancies and global tech companies.


I am looking for clients in the Brisbane and South East Queensland region and would be open to other Australian clients.


If you are interested in a free consultation, please contact me using eru@identitysoftware.com, +64124523910 or the form on the website. Eru Penkman.








May 31

6 min read

0

93

0

Comments

Share Your ThoughtsBe the first to write a comment.
bottom of page