Nope. There are two big problems with moving software from the freelance/contractor model to the gig model.
1. Problem definition. Getting a business problem to the point of just sitting down and solving it like it’s leetcode is really hard. That’s a big chunk of the job of software engineers. (Side note, I think most software engineers would be better served by considering these tasks separately. Write the problem then read it). Other gig work is much more clear. I’m at home and I want to be at the airport. I want this list of groceries. I want my apartment cleaned.
2. Order of magnitudes differences in time between projects and between abilities on the same projects. I have a good idea how long it takes to get my groceries, let’s say within a factor of 2. Can someone estimate that accurately on a problem they don’t know how to solve? Even on one they think they could solve but haven’t solved yet? My experience points to no. It’s still an issue even if you charge by the hour. Come in under time and my fixed opportunity costs of finding this job don’t get amoritized properly. Go over and even if I get paid they might leave a bad review. On the client side, how do I know the problem is 10x bigger than I thought and not that the dev is 10x slower? I hope it’s uncontroversial that the performance distribution on software engineering is much greater than that of driving.
Comments
Nope. There are two big problems with moving software from the freelance/contractor model to the gig model.
1. Problem definition. Getting a business problem to the point of just sitting down and solving it like it’s leetcode is really hard. That’s a big chunk of the job of software engineers. (Side note, I think most software engineers would be better served by considering these tasks separately. Write the problem then read it). Other gig work is much more clear. I’m at home and I want to be at the airport. I want this list of groceries. I want my apartment cleaned.
2. Order of magnitudes differences in time between projects and between abilities on the same projects. I have a good idea how long it takes to get my groceries, let’s say within a factor of 2. Can someone estimate that accurately on a problem they don’t know how to solve? Even on one they think they could solve but haven’t solved yet? My experience points to no. It’s still an issue even if you charge by the hour. Come in under time and my fixed opportunity costs of finding this job don’t get amoritized properly. Go over and even if I get paid they might leave a bad review. On the client side, how do I know the problem is 10x bigger than I thought and not that the dev is 10x slower? I hope it’s uncontroversial that the performance distribution on software engineering is much greater than that of driving.