In the old days, professions were taught through apprenticeships. A carpenter would teach a young person the craft in exchange for the labor of the person for a mutually agreed upon period of time. And completing this arrangement would give potential customers some assurance of competence.
Would this work for software development and how do you think it would compare versus the college experience?
As the name implies, CS is a science. Studying it, you're taught a lot of theory, with an aim toward doing what others studying the sciences do: become a researcher or a professor.
A career in software development is actually an engineering job. We need to know about design and documentation, communicating with stakeholders by gathering requirements and writing specs, etc. This is a giant step away from what CS teaches us.
I'd estimate that what I learned as a CS major in college (in '89) taught me maybe 50% of what I needed to know in my first job. And conversely, half of what it did teach me went unused in my job.
So I think that to compete with the traditional path of education to a software development career, you don't have a very high bar to claim success. This may be why so many people I know in the field have completely non-technical degrees. Some of the best software developers I've worked with have been musicians.