1 The words are all short, and with few distinguishing features; there are many homophones, too. This makes the words hard to remember and hard to distinguish when listening.
2 The writing. You already knew this: Chinese people find it hard too.
The only technique I found was endless repetitive learning with flashcards, including writing the characters so I could use 'muscle memory' to help me learn. I don't think this was very effective, and would love to know of better ways.