Break things.
I have yet to find a better way to learn anything new.
"Learning by doing" sounds like it assumes you're doing it well enough, but that's not how it works.
A better way to put it would be "learning by failing."
What does that mean when you're building an API integration?
Try to collect all possible error codes — like Pokémon. Gotta catch 'em all.