I've done some web development mostly PHP and such. Then I've studied computer science for three years so I've some insight in the academic formal world as well. On my spare time I do c programming and Linux stuff.
I have a different approach to finding contract work, particularly as I don't have much work experience. Upwork and similar websites have not worked well for me.
Instead, I browse job boards and when I find an interesting role I contact the company. If they are interested in my background and the fit is right, I sell them on setting up a contract relationship instead of full-time employee. Sometimes it works, other times it doesn't. The important part is being honest that you are looking to work as a contractor, not an employee.