read
There is one striking parallel between fine arts and software engineering: it is easy to produce a complex outcome and incredibly hard to simplify it to the few essential lines that define the core of the message.
Think hard then write code. Think harder then throw away most of it.