What I Learned From Working With Freelancers
Recently I decided to learn how to work with freelancers. Here I openly discuss some failures and some trials I had and what I learned from the school fees. (There is a saying in my family where every time you try something new for the first time, expect a net loss. Learn well and hopefully you can tip the scales later on)
First failure, I wanted to figure out how to build a GIS mapping application. So I tried hiring an modestly priced expert in GIS to build a base that can be hacked on top of. I did not have a complete picture of what I really wanted. So I thought I can work with a freelancer to arrive at a MVP, but the other party avoided every opportunity to communicate requirements with me on freelancer.com after landing the contract. After two failed communication attempts I folded my hand and cancelled the project.
One issue with contract work is that the freelancer prefers to keep the client in the dark and keep them dependant on support for future work.
First success, I then tried another freelancer.com posting for a logo. The project was super constrained and the input and output were super clear. Since both parties had equal knowledge of what the input and output were, there was equal information parity and the exchange went smoothly.
First lesson, know exactly what you want from your freelancer.
In my current attempt, I had a Django Rest Website but was struggling with UI and UX. The goal is to get help arriving at a MVP website then I will be able to reference existing code to set more realistic sprints for myself akin to most work tasks. Since work tasks involve feature work based on existing code reference. They can usually be estimated more accurately.
For the second attempt, I decided to try upwork.com, to see if there is a difference working with more expensive freelancers. The difference was stark, one of them actually heavily critiqued my project setup, saying that it was a mess, and that he finds it difficult to work with, he refused to take the project until it gets fixed.
This raised an interesting point, previously I attributed the blockage to solely to a lack of skill. Was the reason actually a compound between skill and project management?
In one response from an agency team which included a dedicated PM and 3 coders. The PM asked questions much more in-depth than I did, and raised a lot of missing points. The take away was that I did not actually have a complete MVP as I originally thought.
She made me explain my idea in various ways alternative ways that showcased my incomplete vision of what the work entails. The discussion also a involved a designer to figure a mock sketch design for one compete feature, and not a sketch of a few screens that I threw at them originally.
Throwing together a bunch of screens and a link to similar competitors is not a good communication tactic for requirements, in fact it shows that you have no idea what you want.
Second lesson, constrain freelancing tasks to specific features and MVPs.
The better freelancers was more expensive but I hope that with this initial investment into my education I can take away some key points about software project management, expectation setting, and setting clear goals. Hopefully this experience will help me developer a stronger sense for my own work process and land an MVP app that I will lovingly hack away on!