Design Docs at Google

One of the key elements of Google's software engineering culture

Design Docs at Google
13 minutes by Malte Ubl

One of the key elements of Google's software engineering culture is the use of design docs for defining software designs. These are relatively informal documents that the primary author or authors of a software system or application create before they embark on the coding project. The design doc documents the high level implementation strategy and key design decisions with emphasis on the trade-offs that were considered during those decisions.

SlashedCloud's video encoding solution offers AV1 and H.265 at a fraction of the cost compared to anything available online, making it a cost-saver for your business. Save up to 45% on your streaming bandwidth bill and improve your user experience with faster and higher quality streaming. Try our easy-to-use API with 100€ of free credits on signup!

One of the common conceits in leadership is that nobody is truly essential for a company’s continuity. I call it a conceit, but I do mostly agree with it: I’ve felt literally sick after hearing about some peer’s unexpected departure, but I’m continually amazed at how resilient companies are to departures, even of important people. About two-thirds of Digg’s team left in layoffs in 2010, but we found ways to amble on.

Technical Coherence
10 minutes by Jack Danger

Software development slows down over time. Technical Coherence helps to reverse the process and you can mostly achieve it in a single meeting with your leaders. You can implement it in your org gradually or all at once. The central idea is this: We identify the necessary user experience domains for our products We identify the shared product domains that underpin multiple user experience domains We organize engineering into three layers, the top two correspond to the above domains and the third provides infrastructure.

Cognitive Load for Knowledge Work
7 minutes by Matt Wynne

This post describes a model of the burdens we place on tech teams and the results we expect from them, called Cognitive Load. It’s a great thinking tool to help us manage capacity to achieve quality results without burning people out.

In the realm of technology, where the only constant is change, the ability to navigate uncertainty is not just an asset; it's a necessity. As a software engineer turned leader, I've witnessed firsthand the transition from dealing with code's binary certainty to the multifaceted uncertainty of leading teams and projects. It's a journey from clarity to complexity, where the rules of engagement are not always clear. Enter the Cynefin Framework, a model that doesn't just help us categorize problems

Nautilus explores the biggest ideas in science through the lens of humanity. Discover the stories behind the science and how it ripples through our lives and culture in the Nautilus newsletter.

how did you like this issue?

Login or Subscribe to participate in polls.


Would you like to become a sponsor and advertise in one of the issues? Check out our media kit and get in touch.