Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

I have a paid Android app that I made by myself this past summer and I've been working on it throughout the year. The app is geared toward a professional niche market (but there are people all around the world who would buy it,) so it's priced highly. It is

  • Mostly C++, some Java
  • Built heavily on Qt (in the C++ code)
  • 15,000+ lines of code
  • Well commented in some places but not others

I enjoy working on it, but find I no longer have time to slog through the more "menial" coding work of maintaining it, and instead want to focus on building new components and taking it to the next level, where I think I would really get bigger returns. In order to do that, I'm looking at contracting out some programming work to someone else.

My app makes some money, but not enough to hire anyone steadily - instead I'll have to just give them smaller jobs to do at a time. I might have to hire someone in a lower economic status country as well, because I expect that rates, say, here in the U.S. won't be affordable to me. My knee-jerk reaction is to go to vWorker.com (formerly RentACoder) where I did a lot of work several years ago. Is this going to help me or cause more headache than help?

Here are some more specific questions I have - feel free to answer any that you have thoughts on. Also, please let me know how I can improve this question. Thanks in advance.

  1. How can I find a person with the right skill set? Is asking for Qt and Android SDK experience going to increase the price a lot?
  2. How can I protect my copyright? Is this enforceable in less economically developed countries? Or can someone easily get away with stealing my code and selling it themselves?
  3. Are there any other issues you foresee in hiring this person, and how might I address those?
share|improve this question
    
I should have cited concerns about copyright rather than IP. I changed this in the question. –  tmandry Apr 21 '12 at 3:06
add comment

4 Answers

How can I find a person with the right skill set? Is asking for Qt and Android SDK experience going to increase the price a lot?

  • Somebody with a right skill set will have a good portfolio and recommendations from reasonably good companies. These are contractors that I would partially trust. They are normally very expensive.

  • I wouldn't trust anybody with my API if they are not from my country and if I don't meet them in person. There are too many things that can go wrong, even if you have a formal contract and a lawyer.

How can I protect my copyright? Is this enforceable in less economically developed countries? Or can someone easily get away with stealing my code and selling it themselves?

  • Yes, it'll be very easy for somebody in a third world country to disappear with your API. Even if you have a contract signed in a presence of a lawyer.

Are there any other issues you foresee in hiring this person, and how might I address those?

Have you considered offering a percentage of your business to some of your friends? There must be some people that you can trust?

Assuming your project has some academic aspect to it, you could try speaking to a local university to see whether final year students might be interested in doing some work no it. From my personal experience students might do some good work, but their main emphasis will be on a report, rather than code deliverable, so once again, this is not such a good solution.

Apart form these two, I don't see any other low risk alternatives.

share|improve this answer
add comment
  1. That skillset is going to be hard to find on something like vWorker or any low rate contracting website. Especially since you chose C++ on the Android platform.

  2. You can't. Unless you have the money to hire an attorney to enforce the NDA, the NDA will be useless.

  3. Yes. Can you live off the money you are making from this product? If not, then I highly doubt you'll have sufficient funds to hire someone else to work on it. And you'll be paying significantly more in the long run if you keep changing contractors, because of the ramp up time.

Here is another way to look at things. Every hour you pay that other developer to work on your product, if it isn't bringing in at least twice that much in revenue, it's a waste of time and money. Will they be able to add enough value to the product to make it worth it? Based on everything you've said I doubt it.

You should do some internal reflection. Yes the menial things suck to do. Are you losing money because you have too much work to do and can't finish it all? If so, maybe it's time to find someone local that is willing to "invest" with you in the product. Maybe they sign on to get X% of the revenue. If you are not losing any money because you cannot add enough features then the market for your product is stagnant. You should focus on figuring out what will get more people to buy it, then look at getting extra resources.

Contracting this out, especially to the likes of RentACoder is the #1 way for someone else to steal your application, and for you to waste money for little in return.

share|improve this answer
    
I think this is a very wise comment. –  gahooa Apr 21 '12 at 1:53
    
Finding a local person is hard considering that I'm moving a lot. I think that finding someone with the right skills (above) plus the right level of knowledge of the subject matter the app deals with will be hard. A contract hire doesn't have to have the latter, but for someone to buy-in and become a partner, I think they would. Am I making sense? –  tmandry Apr 21 '12 at 3:21
    
Thanks so much for providing your perspective, by the way. // Also, to address the "worth it" comment: great point. However, I see it as freeing myself up to do the really big things that expand the functionality of the app, add plug-ins that people pay for, etc., and I think that that could make it worth it. –  tmandry Apr 21 '12 at 3:49
add comment

Odesk.com - $10-$20 hour.

IP and NDA... in what? A tiny smartphone app? Be serious. So you're going to file patent claim for several hundreds of thousands $$ to protect your "IP"? Or you're going to stalk the developer after he finish work for you to enforce NDA? Copyright protection is free and it's enough.

Speculative "for free" work? So you're going to give your code to some 15 y/o kid and you expect him to work for undefined % of undefined "profits"? Even "better" idea!

vWorker.com (formerly RentACoder) where I did a lot of work several years ago.

Done some work there too. I think the site changed. Now (in my opinion) is targeted at... workers (typists, seo experts that write bad articles) anyway... no one sane will work there for $4 i think all pro's abandoned the site as work that gets posted there now is just a big JOKE.

share|improve this answer
    
Thanks for your answer. I didn't mean patents, I really meant code copyright and the feasibility of enforcing that. –  tmandry Apr 21 '12 at 3:13
add comment

How can I find a person with the right skillset? Is asking for Qt and Android SDK experience going to increase the price a lot?

You will have to publish the required skills across different boards vWoerker, GURU, etc. Finding the person with the correct skills who would be interested is an issue. You have to make interviews, ask questions, etc. You also have to make an attractive offer and make it somewhat attractive to join.

How can I manage intellectual property? Is an NDA enforceable in less economically developed countries? Or can someone easily get away with stealing my code and selling it themselves?

Contracts and copyrights don't matter unless you wish to go to court with an evidance. Is it economically feasible for you to sue someone in a foreign country? Do you think they will ever pay?

Are there any other issues you foresee in hiring this person, and how might I address those?

A - Reliability. If this person is not with great interest to do a good work then you will be in the same situation you are in now frequently.

B - Trust. It is not going to be easy to ensure that this person will not alter parts of the application in an undesired way.

C - Control. I don't think you will be able to force the contracted person to deliver or do the testing the way you want.

D - Time zone. If you are hiring someone in a different time zone, communication will not be as smooth. Communication may be an issue.

E - Initiation. You will be answering many question from the contracted person and this will probably waste a lot of your time until he/she becomes familiar with your code.

share|improve this answer
    
For (C) you won't have to sue anyone. You report the offender and the hosting provider needs to take him down. –  Slawek Apr 21 '12 at 2:56
    
@Slawek, thanks for your comment. I thought that you have to present a legal case, after all, why would the hosting provider take your word for it? –  Emmad Kareem Apr 21 '12 at 3:13
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.