Western Canon of Software Engineering: The Abstract Principles

Western Canon is a set of books, movies, music and art which holds the essence of western culture, it contains the common sense of western people. The western canon of software engineering is a set of artworks (books, papers, blogs, projects) which holds the essence of software engineering. The canon is not fixed, it changes time to time because scholars are arguing constantly what belongs to the “Top 100 of Best Software Engineering Books”, what are the “Essential Books”, the “Must-Read Books”. The canon is important because it answers the question “What books should I read to become a better software engineer?”. The canon relies on a school or on a tradition. For example Carnegie Mellon University issues the “Seminal Papers in Software Engineering: The Carnegie Mellon Canonical Collection” which is a list of papers which must be studied by their software engineering students. Another example is “SWEBOK, Guide to the Software Engineering Body of Knowledge” by IEEE Computer Society which is a very broad collection of software engineering terminologies. A more concise canon is the “SOLID design principles” which consists of the 5 most prominent object-oriented design principles. This paper is not as broad as SWEBOK, nor as concise as SOLID, it is a list of abstract principles which holds the essence of software engineering in the western culture. The 4 abstract principles are the following ones:•The codebase of a software is constantly changing.•Software is a product just like a bag of chips.•There is no silver bullet in the field of software eng•Separation of concerns.This paper discusses these abstract principles. In the same time it encourages other scholars and schools to define their own canon in the field of software engineering, and argue about the artworks which belongs to the western canon of software engineering.