This document provides tips on how to improve design skills. It recommends taking time to think through a design by considering alternatives and impacts on other components. It also suggests estimating data sizes and query loads upfront. The document outlines several system design principles like idempotence, caching, and separating concerns. It discusses learning from open source projects like Cassandra and Kafka. Examples of existing systems like Twitter timelines are presented. The document concludes by proposing practice exercises for common systems like URL shorteners, key-value stores, search engines, and more.