Side note I dropped out my senior year of college because I got tired of paying out of state tuition for what I finally saw as something useless to my computer science education. I've not regretted this decision and the experience I've gained in the field previous/in college working a normal programming job put me years ahead of any peers who graduated at the same time I dropped out.
I hate advising people to dropout or quit anything but when it comes to computer science, go start an open source project, use one of the many wonderful online learn to program resources or just hack away on a Linux machine setting up a few server services and you'll learn more real world usable computer science in a few days of doing that then you will in a year of college.
EDIT: What I wish I would have done was went in-state and got a degree in the arts or English or straight up math. The classes I took in regard to these subjects are useful to me on a daily basis. I know people like to make fun of liberal arts degrees but you learn some cool interesting stuff there, I don't think it's useful to my job but it is useful in sounding educated and communicating with people outside my field of work.
You're lucky to be in an industry where companies have, in recent history, been falling all over themselves to hire great engineers. This can change; that's the problem with dropping out. Say what you will about formal education, all things being equal that piece of paper may be what distinguishes you from your neighbour when the labour market loosens up.
Yes, I understand (and agree with) the fact that you don't need a formal college education to be successful, especially in the tech industry. But I think we glamourize the Harvard drop outs. Do so at your peril; the day may come when these things matter, and your Udacity certificate isn't going to match up well with the Stanford CS degree...
Hearing that it can still be good advice is heartening. It's nice to know there are still some skilled professions that don't have huge regulatory or academic entry barriers.
Personally, I don't see any reason to hesitate to advise CS students to drop out. It was the best financial decision I could have made.
- "nothing [except perhaps farming] - before or since - has had such a profound impact on the world as the development of computing and circuits". How about fire, flight, firearms...
- "Demand for computer scientists, for example, is exceeded by the supply at a ratio of more than 2:1 [links to a study that is specific for Washington State]"
- "A university computer science track can never teach this culture. [...] The unique culture at Stanford is exactly why Silicon Valley could never have developed anywhere else."
- "There was no complex problem in the first release of Facebook." Citation needed?
Point 2, the study addresses the number I brought up for the entire US.
Point 3, as I wrote, "The smart universities have realized this, and target their admissions process to select those who have it."
Point 4, Facebook tracked text. There was no complex machine learning algorithms, no thought of scaling, no esoteric languages.
2) I assume you mean the graph towards the end called Annualized Job Openings vs. Annual Degrees Granted (2008-2018). That seems to indicate the opposite - job openings in Computer Science exceeding degrees by a factor of ~2.5.
3) So it is possible for some universities to foster entrepreneurial spirit, would be interesting to see what kind of factors are important for this.
4) If building Facebook were trivial, they'd have been drowned by competition before they could achieve critical user mass. Their challenges were probably more on the lines of good UI and achieving traction, so I see what you're saying that they didn't exactly need PhDs in CS to build the backend. But they did have plenty of complex problems to solve, I am sure.
3) My argument is that they admit the people with the spirit already.
4) Right, I'm talking only about tech in this article.
I'm making http://codehs.com to make it easy for any high school to offer a CS class, even if they don't have a qualified teacher.
We made a class in a box that includes videos, in-browser exercises, student tracking tools, and teacher support from experts.
A huge part of learning to code is getting help from others and reading other people's code. That is built in to our curriculum, so students read other students code (who are just a bit behind them in the curriculum) and give personal help to that student. This allows all students to get a push when they get stuck and really improve as a coder when they get feedback.
The personal help makes CodeHS more valuable than just a tool like codecademy.