I got an arduino UNO clone, connected it to my PC via USB. I cant upload any sketches. 

Correct board and port are selected in the IDE.
Windows recognizes it as a device, even though it has a CH340 (known issue with chinese clones), so drivers don't seem to be the issue.
All physical connections and wiring on the board seem good.

So I am led to believe that the bootloader is the issue.

After a bit of digging around, I didn't find a way to install an arduino bootloader that didnt require a programmer device or an extra original arduino board in hand.

This is my first time messing with any kind of embedded system or any electronics (I do software dev though), so any insight or piece of information, however basic or simple it might be, will probably help me. 

Here is the console output after tying to upload a sketch.

 avrdude: Version 6.3-20190619
 Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/
 Copyright (c) 2007-2014 Joerg Wunsch

 System wide configuration file is "C:\Users\lhyse\AppData\Local\Arduino15\packages\arduino\tools\avrdude\6.3.0-arduino17/etc/avrdude.conf"

 Using Port : COM3
 Using Programmer : arduino
 Overriding Baud Rate : 115200
 avrdude: stk500_recv(): programmer is not responding
 avrdude: stk500_getsync() attempt 1 of 10: not in sync: resp=0xaa
 avrdude: stk500_recv(): programmer is not responding
 avrdude: stk500_getsync() attempt 2 of 10: not in sync: resp=0xaa
 avrdude: stk500_recv(): programmer is not responding
 avrdude: stk500_getsync() attempt 3 of 10: not in sync: resp=0xaa
 avrdude: stk500_recv(): programmer is not responding
 avrdude: stk500_getsync() attempt 4 of 10: not in sync: resp=0xaa
 avrdude: stk500_recv(): programmer is not responding
 avrdude: stk500_getsync() attempt 5 of 10: not in sync: resp=0xaa
 avrdude: stk500_recv(): programmer is not responding
 avrdude: stk500_getsync() attempt 6 of 10: not in sync: resp=0xaa
 avrdude: stk500_recv(): programmer is not responding
 avrdude: stk500_getsync() attempt 7 of 10: not in sync: resp=0xaa
 avrdude: stk500_recv(): programmer is not responding
 avrdude: stk500_getsync() attempt 8 of 10: not in sync: resp=0xaa
 avrdude: stk500_recv(): programmer is not responding
 avrdude: stk500_getsync() attempt 9 of 10: not in sync: resp=0xaa
 avrdude: stk500_recv(): programmer is not responding
 avrdude: stk500_getsync() attempt 10 of 10: not in sync: resp=0xaa
 
 avrdude done. Thank you.

 Failed uploading: uploading error: exit status 1