Frameshifting results from two main mechanisms: genomic insertions or deletions (indels) or programmed ribosomal frameshifting. Whereas indels can disrupt normal protein function, programmed ribosomal frameshifting can result in dual-coding genes, each of which can produce multiple functional products. Here, I summarize technical advances that have made it possible to identify programmed ribosomal frameshifting events in a systematic way. The results of these studies suggest that such frameshifting occurs in all genomes, and I will discuss methods that could help characterize the resulting alternative proteomes.