Simplicity comes with experience

Being able to confidently offer simple solutions that solve a problem is a hallmark of experience. Before even committing your fingers to a keyboard, experience will (hopefully) allow you to:

Maturity as a developer can mean that you generally are better informed about a problem's context, and can possibly help clarify or redefine that context.

A conversation can save you days of development time, especially when redefining the problem allows you to offer a much simpler solution.