There is a huge amount of quality libraries available on Hackage, written by really smart people. Lately I've set myself an informal challenge to read and understand how more of them work.
Follow the types, learn the tools
If you're at the very beginning of your Haskell journey, it may be daunting to start looking through production code. But when you're ready, it's invaluable to pick up idioms and patterns by reading prior art. The first time I'm trying to figure out how something works I might use hasktags and just jump around the source, trying to map out what's going on. In contrast to untyped environments, in Haskell you can always tell "what something is" by reading type annotations or using
:t in ghci. If I'm getting lost in some gnarly statements, typed holes are an incredible feature. They tell you: "what the compiler is expecting, and what bindings might be useful".
Use the things
Don't get discouraged
Haskellers love to share complicated ideas through Haskell, and it's a great medium for learning about things like Category Theory and Abstract algebra. Sometimes it can be discouraging to struggle hard with a concept everyone seems to be blogging about. In the words of bitemyapp:
Don't sweat the stuff you don't understand immediately. Keep moving!