Is Software Engineering Real Engineering? • Hillel Wayne • GOTO 2023

Explore the author's thought-provoking argument that software development is fundamentally different from traditional engineering, and that the term "software engineer" is a misnomer that can lead to misconceptions about the field.

Key takeaways
  • Software engineering is not the same as traditional engineering, as traditional engineering involves dealing with physical materials and consequences of failures.
  • Software engineering is considered a non-process, meaning it doesn’t follow a predictable and consistent path.
  • Traditional engineering is highly constrained, with materials and processes defined and predictable, while software engineering is highly flexible and adaptable.
  • Software engineers don’t need licenses or certifications, unlike traditional engineers.
  • Traditional engineering requires high stakes and consequences for failure, while software engineering does not.
  • Software development can be done by non-experts, unlike traditional engineering.
  • Software engineering is highly domain-specific and does not require a professional certification.
  • The author argues that the term “software engineering” is a misnomer, and that software development is not really engineering.
  • Software engineering is often treated as a subset of computer science, rather than a distinct field.
  • The author believes that software development is more like craftsmanship than engineering.
  • Software development is often iterative, with continuous testing and debugging, unlike traditional engineering which follows a waterfall approach.
  • The author argues that the media and public perception of software engineering is often inaccurate and misleading.
  • The author believes that software development should focus on creating value for users, rather than adhering to traditional engineering principles.
  • The author suggests that the term “software engineer” is overused and misused, and that people who develop software should be called software developers instead.
  • The author believes that software development is a more creative and dynamic field than traditional engineering, and that it requires a different set of skills and knowledge.