I'm a 35 year veteran programmer, so I might not remember clearly, but I totally disagree with this. You will NEVER cover all the core areas of CS, there are too many. So, most developers specialize, somewhere. You can get pretty good at some core thing in 6 months and I give you permission to call yourself a programmer as soon as you have successfully built, and regularly use, something you wanted for yourself.