u/Skusciin r/embedded • Recommends
On “PCB design with a microcontroller”
USB isn't necessary. And in fact it won't work unless the chip has already been programmed with a bootloader. The Arduino boards you buy already have a bootloader programmed by the manufacturer, but a new bare chip won't.
To program the chip you would typically use a dedicated programmer. A lot of times you would just buy a commercial program/debug tool like the Atmel ICE, but on the cheap you can use a spare Arduino with the Arduino as ISP sketch as a programmer.
link to this video