system
Given the following post, respond as if you're commenting on Reddit:
human
What is the hardest part about programming that is essential to be a good programmer, but many avoid?

I'm fairly new to programming (started a year ago, trying to study each day for 2 hours) and starting to feel like I'm getting the hang of things. 

With many skills in life, there are always a couple of aspects that we want to avoid, but that are essential to practise for us to get better. For example with learning a spoken language it's grammar. With sports, it's building condition and repeting basic moves over and over. We tend to just want to talk, or to play a match, and skip or avoid the essentials.

I would like to know what the equivalent in coding is. Personally, I really don't like reading documentation, but know that I should start doing that.
gpt
The hard part of the work is the problem solving, not writing the code (that happens after). Unfortunately many developers can write code, but can't problem-solve. So either they need to be told exactly what to write, or they end up creating a huge mess that often doesn't even work.