Isn't software engineering pretty much ifs and loops too? Massively complicated ifs, and looping pretty much samething over and over again.
(Hot take: the way we do this is wrong; we should be adding superpowerful not-doing-stuff features to languages, vs doing-stuff features.)