Excellent points. Nowadays, I run a development team in a consulting organization (and still code a fair amount myself), but a number of years ago, I was a career-changer seeing an entry-level programming position. In college, I'd majored in psychology and taken a few programming classes. When I wanted to get into IT as a profession, I enrolled in a one-year certificate program that taught me to be a COBOL (yes, it was THAT long ago) programmer. I learned 370 Assembler, COBOL, MVS JCL and other skills that were designed to get me a job. In the recession of 1992, I had an entry-level job within two months of finishing the program. This isn't to say that a BS in CS wouldn't have gotten me a comparable job, but the HR person that gave me that initial interview said that she specifically looks for people with some employment experience (I had about four years of real-world experience before deciding to make the change) and high grades from a program such as the one I attended.