We all know that software engineers are highly paid. The downside here is that tech compensation can be incredibly hard to understand, filled with so many different components.