|
|
|
|
|
by perrygeo
1333 days ago
|
|
A few things that make full-time bug fixing unlikely in a freelance capacity: First, you need a significant amount of access and context on any codebase to be productive. Unless you're promising them a long-term commitment (and at that point are you really freelancing?) they might be hesitant to invest in fully training you, getting you credentials, etc. It's more likely that you'll get a niche project that you can work on independently, somewhat detached from the main project. Second, even if you do build up enough context to work on big bugs, their causes are rarely shallow. What if you find a need for a major refactor or technology migration? As a freelancer, you have limited stakes in the process. So pushing your solution will involve playing all the normal politics, but as an outsider without any leverage. Hope you're convincing and enjoy lots of meetings. Third, sadly, bugs just are not prioritized in today's product-led software environment. Existing employees are likely staring at their own backlog of bugs that they would love to fix, but which have been de-prioritized to push out new feature work. If (big if) a bug becomes a priority, full-time people with the most context on the problem are going to be doing the actual work - probably in a hurry. So freelancers are more likely to pick up the slack on low-priority feature work while the core devs are putting out fires. |
|
I think this aspect can be overstated, or at least it varies a lot depending on type of project.
A while ago I was hired by a small client to fix a serious and tricky bug in an iOS app. I have never written an iOS app, I use neither ObjC nor Swift regularly, and at the time I had never compiled an iOS app and didn't even own an iOS device (though I did have a Mac to hand). But the bug was in audio processing code and I know that field quite well. They gave me access to their code repo, I bought a cheap iPad, I spent a few billable hours getting the app running, fixed the problem, a couple of rounds back and forth with the client to establish that they were happy with it, and done. It genuinely wasn't a trivial bug, but the investment in time on the client's part was perhaps one person-day and the entire exchange was over in a week.
Had the client been a bigger company and not just another indie, in theory I could have charged an arbitrary amount, as this was a revenue-threatening bug. But a bigger company surely wouldn't have hired an outsider to do it. An example like this suggests to me only that the problem is commercial or organisational rather than technical.