by pashabitz on 7/22/20, 5:44 PM with 178 comments
by kstrauser on 7/22/20, 6:08 PM
That's the biggest thing I think someone would give up by not pursuing a traditional degree.
by ogre_codes on 7/22/20, 6:30 PM
Math is another biggie I think a lot of people would skip. While I'm not quite sure everyone needs 3 semesters of calculus to be an effective programmer, I think it is helpful to understand at least the basics of calculus and trigonometry.
There are also a lot of aspects of formal schooling that help you prepare for work/ life later on. If you see a degree on someone's resume, you know they've done a least a little bit of collaborative work and building an app to someone else's specs.
by pizza234 on 7/22/20, 7:07 PM
I've recently finished a well-known online course, with almost maximum grade, and even if the quality of the course is good, there is definitely no comparison with a real-world college course.
Due to the nature of online courses, grades are automated, and definitely don't match the dynamics of a real-world course (eg. better solutions = better grades). It's also practically impossible not to pass.
Cheating is also a factor. I joined purely for learning, but I don't doubt that there is plenty of people taking shortcuts. I've witnessed somebody blatantly cheating exams without even recognizing it was cheating, and against the honor code.
Maybe, in a future where people must take the exams in qualified centers, with the papers/projects reviewed by professors, the points above would change - but the price would necessarily rise considerably.
Other aspects: as somebody wrote, top universitory teacher doesn't imply best teacher; forums are polluted with garbage/trivial questions due to mass (free) enrollment, causing valid questions to drown in the noise; face time, community, college life, structure are all one big package, which I think it's fundamental for the average young adult.
Finally, I'm very skeptical about the impressiveness of the DIY degree. I have the suspicion that only a few "learning freaks" (I don't mean it in a derogative way) would end up taking it - motivated people who decided not to take a degree [in their past], within constraints of limited time, would likely choose different, but still valid, learning routes.
All in all, I'm actually a big fan of MOOCs (loved the course I took), but they shouldn't be compared to traditional education.
by legerdemain on 7/22/20, 6:35 PM
Can we point to any published stats about tech companies, in the US or elsewhere, hiring a higher fraction of engineering candidates with less than a bachelor's degree?
Similarly, can we point to any published stats illustrating the growing ability of startup founders without an exclusive education background to get funding? (No, "dropped out of Stanford to go work with Joe Lonsdale" doesn't count.)
by wiz21c on 7/22/20, 7:04 PM
It also helps to not reinvent the wheel : many problems were analytically solved long before most of us were born.
by lucasgonze on 7/23/20, 12:13 AM
In fact I recently hired a dev with an associate's degree after interviewing many people with much better educations, but his chances on getting the job were very small. My inbox was flooded with resumes and filtering out weak educations was an efficient use of time.
Seriously, you will have a much much harder time making a living with a DIY degree.
by parsimo2010 on 7/22/20, 6:28 PM
I do agree with the idea that you might as well try it now. I wouldn’t recommend someone pay full tuition for an online class that was created in a hurry by a professor that didn’t want to do an online class. But you have to be prepared for the idea that you won’t like a DIY degree and will end up starting a regular degree next year. If you’re smart about it, you’ll make sure the classes you take note can transfer the credits- these types of courses are more expensive (hurting some of the DIY value proposition) but it’s a good insurance policy against having to start at square one next year.
by lhorie on 7/22/20, 5:48 PM
by omarhaneef on 7/22/20, 6:36 PM
I will add that so is the job pipeline. I think having companies come, sign up dozens of students and recruit wholesale completely changes your odds of ending up at one of the top companies (for whatever your definition of top is: whether you want to write algos at a hedge fund, perform tech diligence for a consulting firm, work at the big tech companies, etc)
by rybosworld on 7/22/20, 6:12 PM
by amrrs on 7/22/20, 6:06 PM
These things are definitely good for knowledge but for employment (Local or International) - Degree - that too from a prestigious Institute (as most Job requirements mention) is very much required!
by ModernMech on 7/22/20, 6:21 PM
But let’s just say the best lecturers really are at these places and you can watch their lectures via a MOOC. Remember the M stands for “Massive”. How much time do you think the average student gets to spend 1:1 with the instructor? The best students that graduate from from my department are those who seek me individually for 1:1 help, who put in extra effort over summers and the semester to join my or other research projects, and who stand out by becoming involved with department activities. They tend to get glowing recommendations, and connections to startups and industry partners with which t he faculty member has contacts.
There are a number of projects being worked on in my department with inroads to Facebook, Microsoft, Google, etc. When I pass a recommendation over for a student I know well, they get seriously considered. Is there an equivalent benefit for a MOOC?
by 908B64B197 on 7/22/20, 7:30 PM
Courses in sciences are often split between lectures, that might be "amphitheater style" for introductory courses (think 8.01 or most introduction to programming), lab work and recitations that are typically done in much smaller groups with a T.A to work on problem sets. MOOCs have no obvious alternative to the last two. In my experience it's relatively easy to work through a course by skipping lectures and reading from the textbook than to skip recitations and lab work.
That and group projects, that are often a requirement to graduate, makes MOOC-only a tough sell for me.
by austincheney on 7/22/20, 7:18 PM
CS should be a trade school because programming is an unlicensed skill like carpentry or plumbing opposed to a licensed profession like medicine, law, engineering, or even truck driving. You can teach yourself programming and be just as employable as somebody with a CS degree, so why not get a real education while also teaching yourself the necessary technical skills. Why spend that kind money on something you can teach yourself? I don’t have a CS degree and it hasn’t prevented me from getting any job or from being a senior developer.
by f00zz on 7/22/20, 7:12 PM
Definitely made me a better programmer (even though I've never actually used stuff like dynamic programming in the "real world").
by hackermailman on 7/23/20, 1:11 AM
by etothepii on 7/22/20, 10:39 PM
After 3 years I've finally convinced my employer to drop the "bachelors degree" requirement from all our job ads but I can't see it making any difference. The way people are hired is totally broken and being able to flash your credentials hugely increases the salaries of most people.
If you don't agree look up how much actuaries get paid. The maths isn't all that hard and 5/7 of the exams to qualify as an associate are just maths and stats.
by Pete-Codes on 7/22/20, 10:02 PM
Heck, even if you are 18 you could learn to code in a year or two and then be earning good money by the time you are 20.
I've published over 90 success stories of devs without CS degrees over at www.nocsdegree.com if you wanna take a look
by rikroots on 7/22/20, 6:43 PM
Luckily, I failed my A levels so was spared the trauma of studying Biochemistry for 3 years. I finally got my degree with the Open University - an 'Open' degree[1] which allowed me to pick and choose my education from a wide variety of subjects[2]. The OU have been practicing distance learning since they started in 1969[3] - I have fond memories of watching their broadcasts on BBC2 when all the other channels were closed down for the night.
[1] - What is an open degree - http://www.open.ac.uk/courses/combined-studies/degrees/open-...
[2] - In the end I settled for equal measures of computer science and creative writing - perfect for writing job specs.
[3] - Wikipedia - https://en.wikipedia.org/wiki/Open_University
by bruceb on 7/22/20, 6:05 PM
It is somewhat on hiatus right now. Goal was first eliminate most of the searching. Here is a path laid out, with a some choices but still don't have to think how to replicate a degree, its done for you.
It needs major update, sorry for broken links.
by baron816 on 7/23/20, 12:27 AM
If I were to mentor someone entering college right now (or lets say in 2 years when the pandemic is over), and they knew they wanted to become a software engineer, I’d recommend only taking maybe 5 CS courses at most, and taking a number of courses on art/design, psychology, statistics/data analysis, creative writing, anthropology, and communications.
They may later decide they want to be in a leadership position, so having a background that would allow them to be able to talk to product leaders, designers, marketers, etc. would be valuable.
by jmchuster on 7/22/20, 6:48 PM
Getting a brand name CS degree definitely has its advantages, allowing you easier access to even higher-paying engineering jobs, and can really help build the foundation for you to become a much better engineer. But it's really just a better starting point (assuming financial aid), and your path from there is much more dependent on how you invest in your own career.
by jeffreyrogers on 7/22/20, 10:53 PM
by mcguire on 7/22/20, 10:13 PM
* Skip the degree. It's expensive and you'll never recoup the cost.
* Choose a sub-field carefully.
1. Avoid dead-end niches. An expert in the Linux kernel or Rust compiler is just that; there's nowhere to go from there.
2. The same goes for embedded systems and the like. Nobody cares if someone knows everything there is to know about car engine management systems.
3. Check the job openings. Some things are hotter than others.
4. But don't count them too much. Five or ten years ago, being able to spell "Hadoop" or "TensorFlow" meant that everything that came out of your pie-hole was gospel. Now, not so much. Look for things that are hot, but relatively unknown.
5. Bonus: UI/UX is a dandy choice; everyone needs them and the framework developers have gotten the formula down: change things often and deprecate fast.
* Remember, it's a career, not a job.
1. Always be hunting the next job.
2. Never stay at one place too long. If you can't change projects every 6-8 months, make sure you change jobs every 12-18 months.
* Network, network, network. No, not that HTTPS/BGP/OSPF crap. See point A1. Remember, who you know trumps what you know every time.
by ipnon on 7/22/20, 10:18 PM
If your only interest is studying computer science, even at the expense of all the privileges university education incidentally provides, then I don't see any downsides.
by reportgunner on 7/23/20, 7:14 AM
How is it different from just "learning online" ?
by paulie_a on 7/22/20, 6:45 PM
by readme on 7/22/20, 10:47 PM
If you're really good hacker you'll find a lucrative job, as long as you have the basic soft skills to work with people, even without a degree. If you're just an average coder you're not going to get a job that pays well without one, and if you do get a job it will not pay as well, and you will be the first on the chopping block.
I have managed to secure some pretty lucrative and rewarding jobs, but I went back to school at a brick and mortar anyway, because I want the education and I want to do academic research. I'm currently working full time while I attend part time and also do research, so it's working out.
For the DIY degree: I can promise you that even if you do enroll at a 4-year, you're going to end up doing this DIY degree in your spare time. You're gonna sign up for courses that make you facepalm and wish you were just reading Ed-X. I studied for a lot of my classes by watching the OCW lectures on the same material.
Now, with school going online, you're also gonna find some schools don't have high quality lectures on video. Some professors are passionate and do... one of mine has a fully loaded youtube channel. Others don't even get the basic mechanics right, and you can't hear them during the videos because they don't have a good microphone.
The difference is the 4-year gives you connections to research, academia, and industry, as long as you do it right. You show up and talk to the professors after class and during office hours, be a good student, and ask good questions. You can even do this with online courses: go to the office hours on zoom. You can't do that with MOOCs as well, the professor probably isn't going to have that much time for you (it is called massive for a reason.)
If you are the rare person who actually does what I'll call "homeschool college" and finish an entire degree worth of MOOCs, more power to you. If you have the gall to put it on your resume, you already know you're eccentric. If the stars align and some weirdo hires you for it, congratulations, you won. You are in the statistically improbable category and for the amount of time you're going to spend on this DIY journey, you could have popped by the local university and met a lot of interesting people while you did this.
IMHO, you are best off if you do all of the following (any order is fine)
* become a really good programmer who can build incredible things and make awesome contributions on teams, writing great docs, help and lead others
* get a 4 year degree and do it right: don't go there to check a box or go to a diploma mill, meet the professors and network, find something you are truly interested in
* never stop learning, reading, working on projects, or perusing MOOCs etc
There shouldn't be a significant obstacle to doing all 3 in my experience. I started in a a really deep rut and if you manage to bang out 1/3 the other 2 start to become easier. For example, you can find yourself in a career that pays for school, or a school that helps you find a career. The possibilities are endless.
by bollu on 7/22/20, 10:10 PM
If I had to recommend online courses, here are the ones I would recommend. Unfortunately, one does not get access to exercises and folks who are willing to verify your work. Math.stackexchange is unfortunately far more active than cstheory.stackexchange. I don't really know of an effective way to "bootstrap" this, except for implementing a lot of the things that show up in computer science.
I'm collecting links of courses that have videos, lecture notes, and exercises, which I would be happy to learn from [or have learnt from in the past].
Theory courses that are must-know:
- Linear algebra: https://ocw.mit.edu/courses/mathematics/18-06-linear-algebra...
- Basic Combinatorics: https://www.coursera.org/learn/combinatorics#syllabus
- Introduction to Algorithms by Erik Demaine: http://courses.csail.mit.edu/6.006/fall11/
- OR, Introduction to Algorithms by Robert Sedgewick: https://www.extension.harvard.edu/open-learning-initiative/a...
- Complexity theory/theory of computation: https://web.cs.ucdavis.edu/~rogaway/classes/120/spring14/
- Structure and interpretation of computer programs: https://ocw.mit.edu/courses/electrical-engineering-and-compu...
Computer engineering courses that are must-know: I do not immediate know of good online courses, so I list the topics below
- Operating systems:
- Networks
- Computer graphics [Is a great applied course to see linear algebra in action]
- Distributed systems
- Compilers
- """Machine learning""": Scarce quotes since there's a divide between old-school machine learning and newfangled deep learning. Is useful to know ideas from both.
Advanced good-to-haves:
- Advanced Data structures: http://courses.csail.mit.edu/6.851/fall17/
- Graph theory: https://www.coursera.org/learn/graphs#syllabus
- Abstract Algebra: https://www.extension.harvard.edu/open-learning-initiative/a...
- Nand2Tetris, where one builds a computer "from scratch": https://www.nand2tetris.org/software
- As much math, physics, and computer science as can be learnt!
by Ologn on 7/22/20, 6:58 PM
In college, we were told to spend at least three hours studying for every hour in the class. So I am not sure what people mean when they talk about "DIY degree". Over 75% of a standard BSCS degree is already "DIY". What we get in the other 25% is lectures, office hours, discussions with the professor before and after class, discussions with other classmates, access to a library with many volumes on math and computer science, access to computer labs. Also verification that someone had learned these things. We can look at their GPA and transcript as a loose indicator.
I have worked with programmers who went to boot camps, did "DIY degrees" etc. None of them would be able to tell me what a pushdown automata was, or how to deal with critical sections, or had ever written programs in Lisp, or could derive 8x, and so forth. I am sure there are a few out there who could, and there are certainly a number of people who somehow got a BSCS and who don't know these things. Nonetheless, people without a degree usually don't learn about the pumping lemma, or
> you’ll end up with a very impressive “DIY degree”. As a hiring manager, if I saw this on a resume (I haven’t yet) - I would be very impressed.
Well, with the US unemployment rate, this is a great time to test this hypothesis. From personal knowledge, only one of the college graduates in IT I worked with is unemployed (he has a specialized role, does not live in a major tech hub, and his job search has locally been in his local area), several of the boot camp grads I worked with are not working in IT at the moment. In times like these, when you're sending your resume in to the position alongside one or two dozen people who have a degree, it is better to have a degree.
by peterwwillis on 7/22/20, 11:33 PM
This is the biggest one.
After dropping out of high school, I never attended another school. The amount of socialization and long-lasting human connections that I missed out on is incalculable. Not to mention exposure to different subject matter. Macintosh had great fonts because Jobs took a calligraphy course on a whim. You might discover a hidden passion for entomological forensics. You might join a friend for a gap year trip, meet an amazing person, get married, move to Spain, get divorced 3 years later, become an accountant. Or experience the rush of unity and purpose from joining your classmates at a protest march. Or attend your dorm mate's band in some dinky basement and fall in love with beatboxing to electro swing. Screw education; go to college to wade hip deep into new experiences.
$40K to be totally immersed in innumerabile possibilities that will effect the next 80 years of your life? Compared to ~$15K for an economy car, or ~$250K for a house? Sounds worth it to me.
...that said, if you have economic hardships, self-study is completely feasible, and you can have a great career with no degree. It will still take you years to really get going, but it can work.
by blackrock on 7/22/20, 6:59 PM
Regardless of your major, a college education will now cost over $100,000. That is at least $25,000 per year.
Unless you get grants, scholarships, or some financial aid, then the brunt of this is going to be paid in loans. Loans that cannot be discharged in bankruptcy.
Now, do you want a 19 year old to be making a life decision to go into such a heavy debt burden, of which they cannot escape?
Some low level business jobs earns less than $50,000, but yet, these jobs still require some college degree. Simply because the company is lazy, and wants the best worker they can get, without having to actually pay for it.
The low earnings, the tax rate, and the cost of living to pay for an apartment to live near that job, makes the numbers illogical.
I think America, and the world, would be better served, if we went towards some kinds of journeyman and tradecraft system instead. Businesses can instead hire people with a minimum of a high school education, and train them for the jobs. Those businesses can apply for some kind of federal or state assistance if they need to, to get credit for doing this.