What is the most hard part in the software development job?

To find and to eliminate mistake which happens sometimes. For example, sometimes you see out of memory message and your website doesn't work or your procedure works well 80% of time, but 20% - fail. and sometimes you may spend several days to understand what's going on. And your client expects resolve it ASAP. What will you do? If you have no ideas? You will try to generate any assumptions and check them. Again and again. Sometimes it's hard.

And we found mistake. Our java applications didn’t work from script which work from particular schedule service. We needed to add “cd $Home” row. Without this row we got “absolute path required” issue. Really we could do "cd" command for any exists directory. Crazy.... And it works!