We often think of reading and writing data as two aspects of the same phenomenon. They are, however, quite different animals and lumping them together can lead to sub-optimal systems or the inability to see the larger picture. This talk explores these differences across a wide range of topics - from high-level architecture to low-level concurrency, from REST APIs to functional programming, from security to performance and correctness - and suggests some other approaches that offer more fruitful design insights.