Hacker News new | ask | show | jobs
You, the freelance programmer, would you pay someone else to write code for you?
9 points by constantinLG 4233 days ago
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 :)

6 comments

It depends on the complexity of the task that the other is going to do. If it is a straightforward but time consuming, than it will speed things up massively. However, if it has connections with a lot of your critical/tricky parts of your very own code, then you should provide enough background information about your code, or it will just slows the process down.
You have right, but this triggers me to the other side of a programmer perspective. Thinking from a test driven development, and creating parts that are easy to mock and test, couldn't be the outsource-process mindset be a one more reason to better write code handling the dependency of the other parts of the system? This way, i think that some critical parts can be easily mocked up in the outsourced code, so the complexity gets easier to manage. What do you think?
Mocking the behavior of your code may be as hard as writing the actual code. I mean, you are right, you can feed an outsource code with fakey, but covering all test cases in the mocked up code needs a lot of work which drives us to the point I mentioned earlier: You have to teach them your code.

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.

You have right. From what you are saying, i understand that in some ideal conditions, meeting THAT coder might help you a lot. Otherwise, it will just be a loss of time and money. Thank you for your thoughts!
I wouldn't mind outsourcing some of my work but there are usually factors that stop me:

* 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

You have pointed indeed real situations about outsourcing to a programmer. Thank you for sharing your thoughts!
In my experience effectively outsourcing of work requires clearly written, tight specifications with exacting testing criteria spelt out. In my experience the combined effort of writing accurate specs and then handling the communication with outsourced programmers is a bigger workload than just writing it myself.
I understand. So based on your experience, don't you think that writing down the specs and the expected return, combined with finding a smart programmer available to write code, could be a winning decision? I mean, there is nothing in this process that can be done to improve your efficiency and still be a win-win deal?
Finding "smart" programmers is very hard. As @lastofus points out communication and management effort eats into the potential gains.

If 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).

Thank you for your thoughts. In fact, I am more interested into the how can i make this process efficient in the real world, as a scallable service, without competing with the other freelancing sites that offers full projects development. I am more connected to a programmer to programmer service perspective (getCode.org)
I've been considering looking for a freelancer to help me on my current project. I'm working on a web2py project and am fairly quick at the backend development, but I am very new to js and am struggling with a lot of the front end stuff I want to do. Part of me wants to just hire that done, but the other part of me thinks I need to tough it out so I learn more.
I understand. Well than, hope he will do a right job for you!
I don't do any freelance yet (looking to though). I am very backend focused - database design, SQL, Django, server administration. If I landed a freelance gig, I would definitely consider paying someone to make a prettier looking front end than I would (letting me focus on what i am good at). Obviously depends on the requirements.
I (and many others) do this. There are a ton of sites to help us do, but I think the most popular are Odesk and Elance.
Aren't oDesk and Elance more as a general complete project requests? I mean, you really find them perfect fit for outsourcing parts of your code? Is there any aspect of the process that you might want it different? Personally, I find them a bit to crowd for an immediate need of some coding parts for my project
I'd stay away from those types of sites, instead try: http://letsworkshop.com