Solve the problem before you code the solution. That may be obvious to this crowd, but I learned it the hard way!
That's likely far from obvious to this crowd (if it has been paying attention). Paul Graham advocates the exact opposite: "exploratory programming", where you start writing the program without even knowing what the problem is, let alone the solution.
I personally agree more with you than with Graham, though.
Those two things aren't contradictory. The first is about answering a well-defined technical question. The second is about deciding what program to write.
That's likely far from obvious to this crowd (if it has been paying attention). Paul Graham advocates the exact opposite: "exploratory programming", where you start writing the program without even knowing what the problem is, let alone the solution.
I personally agree more with you than with Graham, though.