Engineering

Engineering is problem solving, software engineering is about solving software problems or solving problems with software.

Problems can be solved by software

Fundamentally there are two types of problems:

  1. Data problems: data generation, collection, storage, transmission, and transformation.
  2. Content problems: help human users create and consume content.

Difference between data and content

An image file is data, an image is content.

Problems cannot be solved by software

There are many many problems that cannot be solved by software. For these problems, relying on software blindly will only cause Software Problems. Don’t fall into the trap of software problems, it will cost you more if you use more powerful software.

Software problems

Software problems are tooling problems. Software should perform specific tasks. Problems related to Software Development Life Cycle (SDLC) are software problems. Since we use software in SDLC, we can also use software to solve software problems. So the border is kind of fuzzy here.

Nonsoftware Engineering and Nonsoftware Problems

Problems that can be solved without software are nonsoftware problems and belong to nonsoftware engineering.

Interestingly, software created problems usually need software solutions, so they are software engineering problems. A nonsoftware solution to the kind of problems is simply stop using the software that caused the problem. Engineering is about trade-off and problem solving. If AI gives you unnecessary problem, stop using it is the best (sometimes the only) solution.