6 ms·
This is how I was thinking about this as well. computer programming (e.g. writing code) is not software engineering. Any "software engineering" that took place
by waynesonfire 5y ago
This is how I was thinking about this as well.
computer programming (e.g. writing code) is not software engineering. Any "software engineering" that took place, if any, would occur before the first instruction is even written for a production system.
a computer program consists of the the instructions to be executed by a CPU to manipulable it's state to hopefully solve some problem. This serves the same purpose as the plans that an engineer would hand to a builder, e.g. place this beam here and use these screws to secure it to that pole. After a builder has completed the construction of the building, the program has finished execution.
The CPU is the builder and the program instructions are the plans. The act of writing the program is the same as an engineering writing their plans; except instead of code they use diagrams or whatever.
the engineering parts came into play in developing those plans. that is, before the instructions were written. this is where the conversation should begin to explorer what is software engineering. we don't know how to engineer software.
- deleted 5y ago[deleted]
- thinkagainbro 5y ago> Any "software engineering" that took place, if any, would occur before the first instruction is even written for a production system. Great comment. Designing a bus protocol or the C++ standard is definitely software engineering. Programming is akin to trades like construction or production technicians. However, usually a software developer is involved in the design, implementation, production and maintenance whereas the former are only involved in last two. That is because programming projects are subject to change in production. Waterfall is too slow for many businesses and the implementation winds up being a mess despite the linear workflow. Iteration is necessary to improve any design.