Forget that AVR stuff. Real developer needs a debugger. Go step by step in the source code and check the register values instead of doing bunch of prints to the console or even worse - play the try&fail game.
Define "real". I (as well as main contributors) wrote this in Arduino IDE ->
https://github.com/felis/USB_Host_Shield_2.0 , using mainly prints for debug. I have an AVR Dragon which provides step debugging but c++ code gets so mangled by the compiler that this feature has very little value, at least for ppl fitting my definition of "real developers". I've been coding for about 40 years and today I mostly need direct register access when I'm discussing an undocumented bug in some PIC peripheral with their support; for all other cases of developing for micros making less mistakes is the best approach since finding them afterward will be difficult, with or without a debugger. In my experience, this is especially true for real-time stuff which you simply can't stop. So no, real developers don't "need" a debugger - it's nice to have one for the platform but a lot can still be done without it, if you are a good coder.
AVR, which comes with bootloader and therefore won't require a programmer is very good for newbies; most of them lose interest soon after encountering their first missing semicolon. If a newbie wants to continue, an AVR debugger is not out of reach either. On the other hand, unless you're willing to deal with gdb ARM development becomes very expensive as soon as one grows out of demo boards.
One bad thing about Atmel is that they don't have any good parts except entry level 8-bitters so there is nowhere to grow. PICs are much better in this respect, their 16-bitters are very nice micros and from what I see Microchip actively develops this line.