I couldn't disagree more. Obviously a bad developer is a bad developer with or without auto complete.
Where auto complete comes in is when one wants to port knowledge from one programming language to another. For example while I'm a computer science student I moonlight as a PHP developer and I don't really care to memorize PHP's perverse (idiosyncratic if you prefer) functions. But I know that array_ CTRL-Space in eclipse will tell me that array_filter takes the list as it's first while array_map takes it as it's second argument. One can blame that on PHP's designer but at the end of the day auto complete saves me from memorizing something I really don't need to know. (Ok now that I've looked it up and written it down that bit of knowledge will probably stay with me forever)
Haskell is way more consistent in that regard, but I still couldn't survive without Hoogle.
And Java without auto complete takes not only twice the time to write but would also force me to remember that Collection is in java.util while Iterable is in java.lang. I think anyone would be hard pressed to explain to me why I need to know that.
So I think I made my case that skills are not dependent on rote learning of a function's argument order or a class's namespace.
Furthermore it seems to me that auto completing IDEs actually help with remembering often used "phrases".