There are many ways to program the AVR microcontrollers, such as in-system programming, parallel programming and using bootloader.