Engineering

SOFTWARE

JS definition.ts

const SoftwareEngineering = {

definition: "The application of engineering to software development",

corePrinciple: "DRY (Don't Repeat Yourself)",

goal: "Manage complexity"

}

[Image of software architecture diagram]

THE_BIG_O_RACE

ALGORITHM_OPTIMIZER
INPUT SIZE (n)10 items
HashMap Lookup O(1)
Linear Search O(n)
Nested Loop O(n²)

Abstraction

Software engineering is the art of hiding complexity. We build layers upon layers (Transistors → Assembly → C → Python → AI) so that we can solve massive problems without thinking about the electrons.