Pragmatic Programmer: Choosing your market