Just in regard to the final paragraph I do not have a college degree but have worked for tech companies that say they require it. Usually the term for it now days is college degree or equivalent experience...
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.
>"Usually the term for it now days is college degree or equivalent experience..."
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...
I finished my degree, but nobody ever noticed since I started working full time years before graduation. I've been reluctant in recent years to give the "drop out" advice, however, since this was 12 years ago and I have no idea what things are like today.
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.
I dropped out last year and my experience so far has been exactly the same. I actually gained the majority of my experience while working on a startup that I co-founded.
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.
I got my degree in math and learned to program mostly on my own (1 introductory CS class in highschool and another in college). The degree has served me well both in terms of having it on resumes and in terms of the skills that I developped studying math.
If I wasn't months away from graduation I would switch over to Math. I wish I had taken more math classes in school and more programming courses online. I hope that more math courses are offered at Udacity and Coursera. More and more I see that programming is just applied proofs.
This article is full of over-generalizations, starting with the title, which should be "Tech education can/does happen outside the classroom" (see e.g. note [5]). Here are a few other issues:
- "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?
As to point 1, I actually changed that a long time ago, but it seems Tumblr is caching the post on the specific page. If you go to the main blog page, it shows up correctly.
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.
2) "job openings in Computer Science exceeding degrees by a factor of ~2.5." is the point - there's way more demand than there is supply of CS degrees.
3) My argument is that they admit the people with the spirit already.
4) Right, I'm talking only about tech in this article.
Part of the problem is that it's really hard for high schools to teach CS due to it being so expensive for them. It's expensive to hire qualified teachers and even harder to find them.
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.
You can drop the "Tech". Education doesn't happen in the classroom - It happens in the student, when they are inspired or driven to learn. Get kids out of the classroom more, give them something to play with that uses their skills.
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.