One of the interesting developments in recent years has been the potential to find freelance contractors and hire them for your needs – whether it is using an Uber driver for a taxi, TaskRabbit for small odd jobs you might need help with, or Handy to help find a cleaner. The so-called on-demand economy (or “uberization of work”) is credited with providing much needed services, while at the same time helping individuals earn additional income, and having the freedom to do other jobs or prioritize other parts of their lives.
In software development we are seeing a similar dynamic play out. A quick search brings up a number of emerging companies which offer organizations the possibility to hire freelance software developers.
At first glance this appears to be an attractive offer. In an environment where organizations are struggling to find the talented individuals they so desperately need, why not look to freelancers who you can hire from any corner of the globe? In this blog I want to examine some of the challenges organizations will face if they decide to take this approach.
Am I writing from a biased perspective? Clearly as the President of Belatrix, the answer is yes. But I believe the following is a clear, rational analysis and argument for why the on-demand economy is not the solution for the challenges in software development. It is also a perspective borne out of conversations with the CTOs and CIOs that I speak to everyday. Here goes:
Hiring top individuals is what all companies want. But it is organizations that create the structure to ensure your best individuals work well together in a team (or distributed team). In the context of software development, hiring the best loose programmers is no guarantee that they will be able to work effectively with others on a large code base. There is a fundamental difference between solving a coding challenge for a freelancing portal, and building a real product which will have market success.
Just to give an example of this, one of our insurance customers came to us looking for help to bring new technologies to their organization. The team was distributed with people based in the USA, Argentina, and India. Distributed teams need processes (such as for planning and tracking), communication, and organization to ensure effectiveness. For example, we made sure the individuals had the right personality traits for working in a distributed Agile development team – strong communicators, empathetic, and action-orientated. Meanwhile, having a consistent team in place means we can measure the productivity of the team (or the team’s velocity). With Agile development, we can then look for example to sprint reviews and code reviews to consistently review and improve team performance.
But I’m interested in the perspective of others. Have you had success or challenges using freelancers in your software development activities?
Note: Credit needs to go to Caroline Fairchild (@CFair1), who provided the inspiration for this post with her article about the #NewEconomy, as well as a powerful argument against the broader uberization of work.
Find out more about software development and what makes Belatrix different, at www.belatrixsf.com
July 08 / 2020
April 23 / 2020
As we gradually get used to our new COVID-19 reality, daily life from just a few weeks ago now feels like a lifetime away. For businesses this has created,...Read post