Software Engineering at Google
We see three critical differences between programming and software engineering: time, scale, and the trade-offs at play. On a software engineering project, engineers need to be more concerned with the passage of time and the eventual need for change. In a software engineering organization, we need to be more concerned about scale and efficiency, both for the software we produce as well as for the organization that is producing it. Finally, as software engineers, we are asked to make more complex decisions with higher-stakes outcomes, often based on imprecise estimates of time and growth. Within Google, we sometimes say, “Software engineering is programming integrated over time.” Programming is certainly a significant part of software engineering: after all, programming is how you generate new software in the first place. If you accept this distinction, it also becomes clear that we might need to delineate between programming tasks (development) and software engineering tasks (develo
Software Engineering at Google What Is Software Engineering? Written by Titus Winters Edited by Tom Manshreck Nothing is built on stone; all is built on sand, but we must build as if the sand were stone. Jorge Luis Borges We see three critical differences between programming and software engineering: time, scale, and the trade-offs at play. On a software engineering project, engineers need to be more concerned with the passage of time and the eventual need for change. In a software engineering organization, we need to be more concerned about scale and efficiency, both for the software we produ
Explore this link on the map →related reading
- AddyOsmani.com - 21 Lessons From 14 Years at Googleaddyosmani.com
- What is "good taste" in software engineering?seangoedecke.com
- Software Engineering at Googleabseil.io
- I could do that in a weekend!danluu.com
- The Programmer's Paradox: Systems Thinkingtheprogrammersparadox.blogspot.com
- Thoughts on the software industry | linus.coffeelinus.coffee
- Software Engineering - The Soft Parts | Peng Jie's Blogjiepeng.me
- Random Thoughts 15 years into Software Engineeringroughlywritten.substack.com
- My Engineering Philosophy - Kaylee J. Edwardskayleejedwards.com
- Things they didn't teach you about Software Engineeringvadimkravcenko.com
- Craft vs Engineering | Witczax - Technical Leadership & Software Engineering Blogwitczax.com
- The Joel Test: 12 Steps to Better Code – Joel on Softwarejoelonsoftware.com