Though I'm a developer, I outsourced the development of my side project, <a href="http://www.watermarquee.com" rel="nofollow">http://www.watermarquee.com</a>. That was a bad call on my part.<p>I used oDesk to hire a development team from Indonesia. At the time, with a small baby at home, I felt like I didn't have the time to develop it myself. Also, I was just learning Rails, and felt that if I wanted it done right, I should hire a professional, instead of trying to learn as I went (I had written the free version myself, and hired the dev team to make the "Pro" version which costs $5/month)<p>The development team did a good job, but only after the work was complete did I find out they implemented some things differently than how I would have preferred (my fault for not paying more attention). Also, it ended up taking much longer than I thought and, thus, costing much more than I had anticipated.<p>Knowing your application code from top to bottom is the only way to be able to maintain it after the development contract ends. I dread having to modify my app because I don't understand it all. I've done other projects since then, and wrote them myself (in Sinatra or Node), and am now way more confident in my development skills.