The document discusses some of the origins and challenges of software engineering. It describes Brooks' classification of software difficulties as either accidental, which have solutions that can be discovered, or essential, which can only have partial solutions or none at all. Examples of essential difficulties include complexity, conformity to changing requirements, and the intangible nature of software. The document advocates that software architecture is key to addressing these difficulties and outlines some similarities and limitations between software and building architecture.