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
October 14 / 2019
October 10 / 2019
October 03 / 2019
October 10 / 2019
I’m delighted to announce that yesterday, Belatrix’s Customer Success Manager, Silvana Gaia was nominated as “Role Model of the Year” in the Women in IT Awards held in Silicon...Read post