Also if you want some more technical detail about the overall process there are plenty of books out there: http://news.ycombinator.com/item?id=1055042.