there are lots of websites and youtube channels that teach arduino. you can search these keywords with arduino; coding, LED's, pullups, fuses, 5v regulator, clock, relays, flashing over usb, flashing over serial, flashng over ISP, bootloader. also search "programming AVR with dragon". "programming attiny with arduino" "programming 328P with dragon" "flashing 328P with avrdude"
you don't NEED a programmer but you kinda need some way to program the 328P. the cheapest way would be to buy a fake arduino mini or fake teensy so you always have a bootloader built in from the factory that will allow USB flashing of your own code. these cheep microcontrollers also have the hardware to flash over usb. this is a bit different than option number 2.
buy a older arduiono with the proper FTDI usb to serial chip, proper ICSP/ISP header, proper atmega 328P AVR running arduino bootloader. then you can use the board as a socket to program other 328P chips you can buy with bootloader pre loaded. or you can use it as an ISP programmer to flash your guitar pedal over a 6 pin ISP header. these are different techniques but they are both possible. the usb to serial can only program 328P with the arduino bootloader pre installed. the 328P can flash another 328P if you load the ISPprogrammer sketch from the arduino examples folder. however, as an ISP programmer, you can't use your arduino for anything else till you run a different sketch. everything is explained here. notice the 328P being programmed on a breadboard could actually be your finished pedal. same procedure to update your software from the factory that's you.
http://www.amazon.com/Arduino-Duemilanove-Board/dp/B004A7L3NChttp://www.adafruit.com/product/123http://www.arduino.cc/en/Tutorial/ArduinoToBreadboard