Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I have a huge program that I have been developing for almost 2 years. It will probably go commercial in about 6-9 months, but seeing as it is just me developing it, I'd had almost zero feedback about the code (efficiency, maintainability, proper use of best practices, etc.). I would really like to have someone or several people review it for feedback.


  1. Are there places that I can get this service. Are sites like oDesk the way to go?
  2. Is it safe? Would an NDA be sufficient to protect IP or are there other ways of going about protecting IP?
  3. Are there particular qualities I should look at in a reviewer, other than they know the language and maybe some of the issues?

In fact, I don't even know if the 3 questions above are the right ones to ask and I should be asking different ones first.

Any advice on this subject?

share|improve this question

You are going to be doing this for your own benefit and peace of mind, so, ultimately, the correct answer is "whatever will work for you".

Some options which have worked for us in the past:

  • Find a very talented, experienced, developer, with experience performing code reviews under contract. Knowing the language and system is useful but may not be a strict requirement

  • Hire one of the top names in the field/language/system you're working on to come and do a review. I hear Matz is big in the ruby world. The people who designed the framework you're using are a good bet

  • Call a friend. No, really, call a friend. Have him sign an NDA and pay him in beer.

  • Don't do this again. Find someone to bounce code, ideas, etc.. off of as you work. Find a way to incorporate this into your work in a way that gets them paid (maybe bring in someone to do reviews once a month, for a 1 day contract)

  • Stay away from consulting firms. They'll cost you too much for the benefit.

  • Hire a talented tester. Instead of doing a review, ask them to test your app. Your problem actually sounds more like a "testing" problem than a "code review" problem

  • Ask a coop. Get a bright, talented, student or intern to come in for a few weeks or months to do the code review with you. Explain things until s/he tells you it all makes sense.

share|improve this answer

Your Answer


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.