< B / >

The Bulk of Software Development isn't Engineering

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