Well now you've changed the goalposts with "a reasonable amount of time" and self-study rather than industry experience. More to the "experience" point, I can't think of many jobs that will expose you to the sheer breadth of a good undergrad CS curriculum: think a solid foundation in algorithms, networking, calculus, linear algebra, databases, advanced algorithms (randomized, approximation), programming languages, compiler design, ai of various sorts, numerical methods, theory of computation, to name the big ones.