We typically think of evolution as a slow and gradual process, driven by the accumulation of small changes over millions of years. While it is well known that evolution can be much faster when humans impose artificial selection, for instance during animal breeding, such rapid evolutionary responses are generally thought to rely on the availability of standing genetic variation. However, recent studies of the evolution of pesticide and drug resistance revealed that adaptation can be rapid despite requiring complex alleles that are not initially present in a population. Furthermore, it appears that rapid adaptation does not always follow the classic selective sweep model, but often produces so-called soft selective sweeps, where multiple adaptive alleles of independent mutational origin sweep through the population at the same time. In my talk, I will show how the emerging field of population genomics can help us uncover the mechanisms that underlie these rapid evolutionary responses and explain the frequent occurrence of soft selective sweeps. I will also discuss the challenges this poses for computational approaches aimed at identifying adaptive loci, as well as for our theoretical understanding of adaptive dynamics, and present new strategies for tackling these problems.