Software "engineering" also differs in the way from more formal engineering in that there are very rarely absolutes, there's often many different correct ways to solve a problem, each possessing their own pros and cons. So, it could feel like "guessing" choosing a certain approach over another, but more senior people usually have an intuition brought from experience which one will work better and be more informed of the tradeoffs, so it looks a lot less like guessing.