I was lucky, in a way. I did a year at work as part of my degree (my 3rd year), got kicked out of my CS degree (BSc, York - I just didn't do any work, failed exams, had too much of a social life), and the place I was working took me back.
Best part was I wasn't a "graduate" so my old boss told me to set up as a sole trader. 6 months later I'd finished what I had to do, and the guys I'd been working with mentioned they were off to Germany to continue the job. (Desktop refresh. Pretty good start for any contractor, teaches you all sorts of variety.)
I asked, jokingly, "can I come?". Week later I was in Germany. That job lasted a year and a half and took me all over Europe, and that led to a similar role all around the world.
I've been lucky.
Lessons: be a nice, personable, helpful human. Say yes more than no. Realise who the customer is and make them happy. Don't forget about the person at the end of the chain: they matter. Be a jack of all trades rather than a master of one. Don't be afraid to move. Don't be afraid to be different. Enjoy yourself.
I haven't had a job interview in 10 years, now. It's all on people I know, who know I'm good, who refer me to other people.
I'm not the OP, but I just do plain front-end development. Contract length can vary, sometimes it's one week in a digital agency, sometimes it's a few months in a large company. You can also find contracts that are 12months, and they can be extended after that.
I was freelancing when I started out, so I had some income but was also available for full-time contract work during the day.
and companies were cool with it? I'm trying to do the same (data scientist) but I only get offers for perm or full-time contracts.