> Markdown version of [/videos/642-what-i-learned-as-a-developer-from-accidents-in-space](https://www.wearedevelopers.com/videos/642-what-i-learned-as-a-developer-from-accidents-in-space). Every page supports `.md` or `Accept: text/markdown`. Links point to the HTML versions so they work for humans too. Agent guide: [/agents.md](https://www.wearedevelopers.com/agents.md). --- # What I learned as a developer from accidents in space What do historical Soviet space disasters teach us about software engineering? Discover why crashed space stations prove you must automate workflows and stop blaming users for bad UX. - **Speakers:** Andrey Sitnik - **Event:** World Congress 2023 - **Published:** August 11, 2023 - **Duration:** 18:44 - **URL:** https://www.wearedevelopers.com/videos/642-what-i-learned-as-a-developer-from-accidents-in-space ## Summary Managing extreme complexity is a shared challenge across both aerospace and software engineering. By examining historical Soviet space accidents, developers can uncover critical insights into system design, user experience, and error handling. For instance, a failed Soyuz docking mission in 1978 underscores the reality that there are no 'dumb users,' only bad user experiences. When APIs or interfaces are repeatedly misused, developers must improve the design and provide better guardrails rather than blaming the user. Another harrowing re-entry incident from 1969—where a cosmonaut prioritized recording telemetry data despite facing a potentially fatal malfunction—serves as a stark reminder about open-source contribution. When developers encounter software bugs, they should actively report issues and contribute fixes. Submitting pull requests to improve documentation helps maintainers understand common pitfalls and drastically accelerates debugging for future users. Finally, a catastrophic manual docking experiment on the Mir space station in 1997 highlights the severe unreliability of human intervention in critical workflows. This underscores the necessity of relying on robust automation rather than manual application checks. Integrating deterministic continuous integration tools like ESLint, Stylelint, and automated code formatting minimizes human error and prevents systemic software failures. **Keywords:** postcss, autoprefixer, user experience design, API error handling, open-source maintainership, documentation pull requests, software debugging practices, system complexity management, workflow automation, CSS linting, stylelint, eslint, continuous integration, application performance tracking, software failure analysis ## Chapters 1. **Connecting space exploration and software engineering complexity** (00:18) — The inherent complexity of engineering domains necessitates breaking massive problems into modular, manageable systems. 1. **Rethinking user errors through a spacecraft docking failure** (02:57) — An aborted docking mission reveals the importance of redesigning systems rather than blaming operators for mistakes. 1. **Improving documentation and reporting during a reentry fire** (06:47) — A dangerous spacecraft reentry teaches the value of proactively logging errors and contributing documentation fixes to open source projects. 1. **Embracing automation to prevent catastrophic manual errors** (11:49) — A space station collision resulting from manual control highlights why software teams should heavily rely on automated tooling. ## Related Moments - [Applying space exploration lessons to software operations](https://www.wearedevelopers.com/videos/100283-from-space-to-software-reliability-lessons-40-years-after-challenger) (from "From Space to Software: Reliability Lessons 40 Years After Challenger") - [Embracing failures and analyzing high-profile software engineering mistakes](https://www.wearedevelopers.com/videos/423-the-software-bug-all-stars-and-what-we-can-learn-from-them) (from "The Software Bug All Stars - and what we can learn from them") - [Preventing catastrophic failures in high-stakes software](https://www.wearedevelopers.com/videos/720-when-testing-just-doesn-t-cut-it) (from "When testing just doesn’t cut it") - [Balancing technical fail-safes with proactive moral compasses](https://www.wearedevelopers.com/videos/1569-kill-switch-or-moral-compass-who-programs-ai-s-conscience) (from "Kill Switch or Moral Compass: Who Programs AI’s Conscience?") - [Mitigating developer mistakes without a culture of blame](https://www.wearedevelopers.com/videos/578-how-to-fail-successfully) (from "How to Fail Successfully") - [Navigating and mitigating the impacts of broken engineering cultures](https://www.wearedevelopers.com/videos/1998-from-code-to-culture-why-leadership-determines-software-quality) (from "From Code to Culture: Why Leadership Determines Software Quality") ## Related Articles - [Dev Digest 131 - AI'm not sure about OSS](https://www.wearedevelopers.com/magazine/472-dev-digest-131-ai-m-not-sure-about-oss) - [Dev Digest 129 - Now that's what I call private data!](https://www.wearedevelopers.com/magazine/468-dev-digest-129-now-that-s-what-i-call-private-data) - [Dev Digest 138 - Are you secure about this?](https://www.wearedevelopers.com/magazine/486-dev-digest-138-are-you-secure-about-this) - [Dev Digest 126 - * yells at cloud](https://www.wearedevelopers.com/magazine/463-dev-digest-126-yells-at-cloud) ## Related Jobs - [Staff Software Engineer, Copilot Experiences](https://www.wearedevelopers.com/jobs/ext/164361-staff-software-engineer-copilot-experiences) at **GitHub** - [Senior Software Engineer](https://www.wearedevelopers.com/jobs/ext/15942-senior-software-engineer) at **GitHub** - [Staff Software Engineer, Database Infrastructure](https://www.wearedevelopers.com/jobs/ext/1470125-staff-software-engineer-database-infrastructure) at **GitHub** - [Principal Software Engineer, Database Infrastructure](https://www.wearedevelopers.com/jobs/ext/1465908-principal-software-engineer-database-infrastructure) at **GitHub** - [Staff Developer Advocate, GitHub Security Lab](https://www.wearedevelopers.com/jobs/ext/1921051-staff-developer-advocate-github-security-lab) at **GitHub** - [Senior Software Engineer, Enterprise Products](https://www.wearedevelopers.com/jobs/ext/1841248-senior-software-engineer-enterprise-products) at **GitHub**