That's research. Engineering would be programming, but well. Taking into account future maintenance concerns and so on. Seems like the software world doesn't do a lot of it.
Capacity planning, growth rates, algorithmic complexity (typically not to the point of designing new fundamental algorithms), durability, DR, eventual consistency, race conditions, schema design, systems architecture, instrumentation, statistics, sampling, more measurement, tech debt maintenance and pragmatism, online migrations, designing for five nines uptime ...
Programming is turning requirements into code with or without respect to these higher level criteria. The implementation detail.
"Engineering would be programming, but well" fits :)
That's research. Engineering would be programming, but well. Taking into account future maintenance concerns and so on. Seems like the software world doesn't do a lot of it.
craft: downloading an 8088 emulator and using it
engineering: implementing an 8088 emulator
science: discovering a way to make an 8088 emulator using quantum computing
> Engineering would be programming, but well.
Software engineering is systems and measurement.
Capacity planning, growth rates, algorithmic complexity (typically not to the point of designing new fundamental algorithms), durability, DR, eventual consistency, race conditions, schema design, systems architecture, instrumentation, statistics, sampling, more measurement, tech debt maintenance and pragmatism, online migrations, designing for five nines uptime ...
Programming is turning requirements into code with or without respect to these higher level criteria. The implementation detail.
"Engineering would be programming, but well" fits :)