< B / >
This Note isn't published yet.
It's at most half done, and it's probably confusing to read.
It might be a good idea to come back later.
Alternatively, you can prod me to write it.

The Bulk of Software Development isn't Engineering

—It's way more design than you think
Started Last edited

I recently had a conversation about Cybersecurity with a friend (him being very much interested in it) during which I realized something:

I mostly enjoy the design parts about Software ‘Engineering’.

But back to the beginning. In every domain, there’s two kinds of problems:

  • Problems where you have a clear goal (engineering problems)
  • Problems where you don’t—there, you only know (or think you know) properties a solution might have, and know whether you’re going in the (a) right direction (design problems)

And the more we were talking about Cybersecurity, the more I realized, my attitude towards it felt mostly pretty similar to debugging a memleak in C (one of my least favorite activities in Software Development) and not at all like finding out how the parts of an application fit well together/how the application fits into its larger goals.

So,

Debugging is Engineering

while

Architecture is Design

≺≻ On Engineering, Systems and Design