Protein synthesis by ribosomes takes place on a linear substrate but at non-uniform speeds. Transient pausing of ribosomes can affect a variety of co-translational processes, including protein targeting and folding. These pauses are influenced by the sequence of the messenger RNA. Thus, redundancy in the genetic code allows the same protein to be translated at different rates. However, our knowledge of both the position and the mechanism of translational pausing in vivo is highly limited. Here we present a genome-wide analysis of translational pausing in bacteria by ribosome profiling--deep sequencing of ribosome-protected mRNA fragments. This approach enables the high-resolution measurement of ribosome density profiles along most transcripts at unperturbed, endogenous expression levels. Unexpectedly, we found that codons decoded by rare transfer RNAs do not lead to slow translation under nutrient-rich conditions. Instead, Shine-Dalgarno-(SD)-like features within coding sequences cause pervasive translational pausing. Using an orthogonal ribosome possessing an altered anti-SD sequence, we show that pausing is due to hybridization between the mRNA and 16S ribosomal RNA of the translating ribosome. In protein-coding sequences, internal SD sequences are disfavoured, which leads to biased usage, avoiding codons and codon pairs that resemble canonical SD sites. Our results indicate that internal SD-like sequences are a major determinant of translation rates and a global driving force for the coding of bacterial genomes.