It's the same reason a few years apprenticed to a plumber or carpenter is better than a few years in retail. At least you'll have come out the other end with something more applicable to a career, if you decide to pursue it.
They were using me for cheap labour, I was using them to get a CV that allowed me to get a real salary somewhere else later.
I literally said this to the director who hired me (a few months in, in his office with nobody else around) and was rewarded with a huge grin because I'd guessed correctly that he'd prefer cheap labour who -understood- that was the deal and wasn't afraid to own their half of it.
Worked out fine for me, and I did duly leave to take a much better paid job after about a year.
As much as I hate to admit it: I'm all for abandoning friends at 18-20 for the career focus. Then bring back the handful of them that stuck by you.
Plus being cheap meant my management were pretty open to "I don't know how to do that -yet-, but I think I have an idea what I'd need, can I have a few days to research it and get back to you?" which was -very- helpful to my learning process.
Looking back, I don't regret the choice at all.
Though you might also want to consider Germany - a lot of bits are liveable primarily speaking english and they're not currently suffering from the "fun" of brexit.
You're as smart as you are today BECAUSE you made those mistakes. You've gotten the painful part out of the way.
Our stories are pretty similar. My first dev job paid $9/hr! Sure, in some ways you could consider that to be "taken advantage of" but only because we were successful. Had either of us been flunkies, we would be the ones taking advantage!
When you hire an 18 year old for an important job, you know the risks and the potential payoffs.
The job was a crap job, but that job taught me a LOT about being a software developer.