Architecture Astronaut
   HOME

TheInfoList



OR:

In
software development Software development is the process of designing and Implementation, implementing a software solution to Computer user satisfaction, satisfy a User (computing), user. The process is more encompassing than Computer programming, programming, wri ...
, an architecture astronaut is a term for an individual who is focused on abstract ideas underpinning
software design Software design is the process of conceptualizing how a software system will work before it is implemented or modified. Software design also refers to the direct result of the design process the concepts of how the software will work which co ...
. It is often used pejoratively. The concept was popularized by developer
Joel Spolsky Avram Joel Spolsky (; born 1965) is a software engineer and writer. He is the author of ''Joel on Software'', a blog on software development, and the creator of the project management software Trello. He was a Program Manager on the Microsoft Exc ...
in his 2001 essay, "Don't let architecture astronauts scare you", in which he criticized their tendency to see patterns in everything as "absurd". Programmer
John Carmack John D. Carmack II (born August 21, 1970) is an American computer programmer and video game developer. He co-founded the video game company id Software and was the lead programmer of its 1990s games ''Commander Keen'', ''Wolfenstein 3D'', ''Do ...
has defined architecture astronauts as "a class of programmers or designers who only want to talk about things from the highest level." An abstract approach to
software architecture Software architecture is the set of structures needed to reason about a software system and the discipline of creating such structures and systems. Each structure comprises software elements, relations among them, and properties of both elements a ...
can help build an understanding of the bigger picture, and the ability to communicate ideas to a broad group of stakeholders can be valuable. However, the architecture astronaut can take this approach to an extreme, and become disconnected from the systems they are designing. While they may impress others initially with their ability to speak confidently and at extremely high levels of abstraction, their actual designs often lack technical depth and practicality. Demonstrating little regard for logistical details about how their ideas should be executed, they may ultimately lose the respect of their development teams. According to Spolsky:
When you go too far up, abstraction-wise, you run out of oxygen. Sometimes, smart thinkers just don't know when to stop, and they create these absurd, all-encompassing, high-level pictures of the universe that are all good and fine, but don't actually mean anything at all.
In 2021, John Carmack, then CTO of Oculus consulting, described the
metaverse The metaverse is a loosely defined term referring to virtual worlds in which users represented by avatars interact, usually in 3D and focused on social and economic connection. The term ''metaverse'' originated in the 1992 science fiction ...
as "a honeypot trap for architecture astronauts". He lamented that
Mark Zuckerberg Mark Elliot Zuckerberg (; born May 14, 1984) is an American businessman who co-founded the social media service Facebook and its parent company Meta Platforms, of which he is the chairman, chief executive officer, and controlling sharehold ...
's focus on building the metaverse could result in thousands of people spending years building things that would not end up being useful. Other projects that have been characterized as the work of architecture astronauts include XHTML 2.0, which
HTML5 HTML5 (Hypertext Markup Language 5) is a markup language used for structuring and presenting hypertext documents on the World Wide Web. It was the fifth and final major HTML version that is now a retired World Wide Web Consortium (W3C) recommend ...
evangelist Bruce Lawson described in 2010 as "a beautiful specification of philosophical purity that had absolutely no resemblance to the real world."


References

{{reflist Software engineering terminology Software architecture