I would always hire an experienced generalist first. Being generalist means being smart and fast learner, and those are IMHO the crucial skills for any small or medium sized team. You will end up in new and unexpected situations here and there and the "specialist" mindset is not very good in dealing with this. You need a generalist to come up with the best hack, simply because he has a much wider perspective...