You, the freelance programmer, would you pay someone else to write code for you?
Hi there, i am Constantin, software engineer, with a day job and many projects part time (i am looking for the way of entrepreneurship), i'm wondering: would you pay a freelancer to write some parts of code for you, to speed up your project delivery time?
For example, you are working on a project, you're tight in time, and need external assistance. Would you willing to outsource parts of your code to somebody else? For example: the creation of a new payment gateway, a function that needs a complex RegEx you are not so familiar with, or any other independent part of your code that can be easily be done by someone else, to buy time.
Are you willing to do this? If yes, how often you think you'll do it if price is good? What about the code quality or any other concern that might stop you to take advantage of such a service?
Any opinion is greatly appreciated. Let's see how all of us think regarding the outsource of our work :)
17 comments
[ 3.4 ms ] story [ 52.1 ms ] threadIf you are really serious about leverage then look at MBSE/MDD/MDE/DSL technologies. That is, tools that will take formal specifications and generate code. The old 80:20 rule applies here too, as much as 80% of the code can be generated automatically, the rest by either yourself or the very well paid sufficiently smart programmer(s).
You are right, though, at some point that aiming to create parts that are easy to mock and test is a good practice. But here we have a question about one -a single freelancer- getting help by outsourcing at some point (which is probably close to the deadline) some functionality. I don't think there are plenty of freelancers out there who put modularity on top of their priority list when writing code. They care about the time deadline, functionality, robustness, error tolerance and at some point modularity shows up in the list. Many one-guy-cares-about-all projects are black box whose features other than functionality are not taken care of by the customer and the programmer.
* Cost: Good experienced devs in a timezone I want to be awake for to talk with cost more than I can afford to pay (generalizing here)
* Management overhead: Good communication, writing good specs, etc such that a dev can complete the work in the way I want it done can be just as time consuming if not more so than doing it myself
* Establishing trust: Farming out work when in crunch mode to an unproven dev and hoping for the best doesn't sit well with me. I would want to establish a working relationship starting with code projects that are small and don't care if they come back crappy (which is almost none of my work at the moment)
* NDAs: Companies generally don't like you granting access to their codebase to people they did not vet/hire themselves