Understand the problem first

  1. try things (languages/tools/frameworks/libraries) and decide if it suit yourself
  2. understand the problem that needs to be solved before writing code

-- from RR 344: What Are You Working On? - Devchat.tv

It reminds me of the book Are your lights on?.1

Sometimes we really need to fully understand the problem first and then we can start thinking about writing the first line of code.

Most of the time, no code is better than hundreds of lines of code.