The ability to avoid complexity is one of the most important skills for practical software engineering. As soon as you forget WHY you are building something, things can get crazy. You need to be able to do the calculation of work-to-value. Lots of people get this wrong (in both directions) and it is critical.