Software Engineering is neither Computer Science nor Software Development. People don’t seem to get this.
Software Engineering is requirements gathering, writing an SRS, identifying quality attributes and designing a software architecture around them, creating a work breakdown structure, identifying cost estimates for development, implementing, creating a test plan, and rigorously testing everything to ensure both functional and nonfunctional requirements are satisfied, solving the customer’s problem on schedule, at a low cost, and at a sufficient enough quality.
What is not solved is producing high quality software at a low cost and timeframe. Software Engineering is not “mostly” solved. People are just hacking slop together, everything is fragilely bandaged together and barely works, and it costs a fortune to develop. Reusable software is largely a failure and everything is slow and lags like crazy, using an absurd amount of system resources in the process. Memory leaks, errors, and crashes aren’t uncommon.
There is a ton of work to do still.