If you have written any optimization code, you have met linear programming even if nobody called it that. "Maximize output without blowing the resource budget" is an LP problem, and the classic algorithm that solves it is the simplex method. It is worth understanding not because you will hand-code it (you'll usually call a solver), but because knowing how it moves makes you far better at modeling problems for it.

Here is the algorithm stripped down to its logic.

The problem shape

Every LP problem has three parts:

an objective function to maximize or minimize, e.g. Z = 5x1 + 4x2