Understand the true problems that need to be solved.<p>Often these have nothing to do with written requirements.  It may manifest itself in the system&#x27;s design, or in what you need to do to fight for time to work on a given area with management.  If you&#x27;re self-employed it may be to understand your customer&#x27;s true needs, separate from what they think they want.<p>Writing code is straightforward... it&#x27;s a skill that can be learned by anyone given enough effort and time.  To get to that next level, you gotta learn the real issues that need solving.<p>That&#x27;s what makes the great ones stand out.