Hum, what what language?
If you want to program applications I would recommend C. If you are into games/demos I would recommend assembler or AMOS Basic (if speed is not an issue).
I learned almost everything I know through magazines and tutorials, so the only books I can recommend are the Amiga ROM Kernel Manuals. There's a good book for learning C, but it's not Amiga specific (I'll put the name here later when I get home from work).
I have a few book about Amiga C and Assembler but haven't read them yet.
I'll try to program a replacement compactflash.device in a few weeks (I have many incompatible CF cards), so I'll probably read them and let you know.