Or will we never have enough programmers?
Or will we never have enough programmers?
I don't think we really know enough about programming demand growth right now to make a call either way, we also don't know the scale of the CS graduate expansion.
In any case, this is a terribly simplistic view of things. Not all graduates are created equal, and not all jobs demand the same programmers. Neither programmers nor programming jobs are fully interchangeable widgets.
In reality there are multiple buckets to programmer supply, and multiple buckets to programmer demand. This is sort of the nice way of saying that there is a gradient between "has a CS degree but can't code out of a wet paper bag and probably never will" and "has a CS degree and knows how to solve truly hard problems and has the right foundations to be an excellent engineer".
IMO when people are entering a field purely for the cash, the latter pool won't expand by that much, but the former pool will expand greatly. This will depress salaries on one end of the industry but the impact on the other end won't be extreme. A dramatic expansion in CS enrollment IMO will cause a crunch in low-mid-end programming salaries while leaving high-end programming salaries mostly intact.
My main concern is if these college students are being sold a lie. Schools are holding up Google and Facebook engineers (and their salaries) as templates, but in reality most of them will end up writing enterprise code for a megacorp somewhere for $60K a year, and in fact the bulk of programming jobs in this country are much closer to that than they are to your archetypical Silicon Valley $200K job. This concern goes double for the Hacker School phenomenon, since they smell more opportunistic and get-rich-quick-y than traditional 4-year programs.
And I don't mean to judge, the latter gtoup may have a healthier job-hobby-life relationship than me.
Yes. Unions and associations address this by lobbying and legislating such that someone who isn't part of the union or association can not legally perform the job. This is how they control the labor market to the benefit of those who are already in the organization.