7 ms·
Consider getting a “DIY” degree online instead of a traditional CS major
- lhorie 6y agoAnother disadvantage you should consider if you're international wanting to work in the US is that it's hard to qualify for the H1-B visa if you don't have a degree. The alternative to a degree requires work experience, but the equivalence is to the tune of 3 years of work experience for each year of CS education.
- uniclaude 6y agoThis. A lot of countries have immigration policies that still require degrees for visas. Given how global the world is becoming, it's important to have the option to be geographically flexible.
- bruceb 6y agoThis is what we attempted with http://www.coursebuffet.com/degree http://www.coursebuffet.com/degree 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.
- fellowniusmonk 6y agoThis is great.
- amrrs 6y agoMany Indian companies (basically US companies with Indian Dev Centers) are still hell-bent on Degrees. I personally know people who have either not taken into consideration because they don't have a Masters (Data Scientist role) / Bachelors (Web Dev role) or their Salary was negotiated below Market-salary due to this fact. 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!
- 908B64B197 6y agoFrom what I've been told the quality of education varies enormously from institutions to institutions in India. [0][1]. I suspect the diploma is used as a filter for the large amount of applications companies receive. [0] https://restofworld.org/2020/india-engineering-degree/ https://restofworld.org/2020/india-engineering-degree/ [1] https://economictimes.indiatimes.com/jobs/only-6-of-those-passing-out-of-indias-engineering-colleges-are-fit-for-a-job/articleshow/64446292.cms https://economictimes.indiatimes.com/jobs/only-6-of-those-pa...
- kstrauser 6y agoI think the biggest disadvantage of a DIY degree is that there's no one requiring you to take classes that don't interest you. Thing is, when I was studying, I was grossly incorrect about 1) which classes I would come to enjoy, and 2) which subjects I would actually use every day at work. There were lots of things I studied only because someone was making me, but that I found to be incredibly fascinating or useful once I had learned a little about them. That's the biggest thing I think someone would give up by not pursuing a traditional degree.
- ocdtrekkie 6y agoIn my view, the two college topics everyone should take is Physics and Constitutional Law (or equivalent in another country). Both will literally radically change how you look at the world, and provide a foundational basis for conversation in nearly any field.
- aciswhat 6y agoI would add ethics to that list also.
- p1esk 6y agoYou can say the same thing about any single lower undergraduate subject.
- AnimalMuppet 6y agoI took a class in Library Science. It didn't change my outlook on anything. It only confirmed my belief in the wastefulness of certain general ed requirements. Economic history didn't do much for me, either. (Now, granted, that could be eye-opening, for at least some people, if taught well and with solid content. But in my case, for that class... meh.)
- p1esk 6y agoIt didn't change my outlook on anything Someone can say this about any single lower undergraduate subject :) p.s. Library Science course would have been an eye-opening experience for me, given my fascination with books and libraries when I was a teenager.
- rybosworld 6y agoI have a hard time buying into this idea. I do agree that traditional college is prohibitively expensive. But it's also a requirement of most companies that you have a degree. That's because it's hard to prove to an employer that you have the skill set they need and a diploma is good proxy.
- isochronous 6y agoI'd argue that this is less true for the specific field in question (computer science). Most companies looking to hire a developer aren't looking for a jack-of-all-trades hacker, they're looking for someone with a specific skillset, and in my experience it's not very hard for one good developer to recognize another good developer, especially with the way most CS interviews are conducted: problem solving, whiteboarding code, mock design sessions, etc. If you're a developer and you can't satisfy yourself that another developer being interviewed has the skills you need, you need to work on your interview questions. That being said, it's almost certainly easier to land an interview in the first place with a good degree. I'm in Atlanta, and every company I've worked for here has almost automatically granted an interview to anyone with a degree from Georgia Tech.
- BurningFrog 6y agoI think the diploma is important for your first job. Or if you're not good at the job. Once you're in and do good work, you should be fine for a good career.
- ModernMech 6y agoBetter teaching is dubious to me. First, it’s not a given that instructors from Harvard or Stanford are necessarily better teachers. They are hired and promoted in large part due to their research agenda and history of funding projects with large grants. You can be the worst teacher ever, but if you are pulling in millions in grant funding (of which the University gets a significant percentage) then you are likely to get tenure at many top academic institutions. 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?
- haditab 6y agoI don't think anyone is arguing that taking MOOCs and taking classes in person are exactly equivalent. I think the argument is that you may be able to get what you wanted by taking the correct online classes and not attending college (which is incredibly expensive). From my personal experience in academia, both as a student and as a lecturer I honestly think most students don't really benefit from being present in person. Also, about the inroads to places like FAANG, almost all of those companies require you to go through the entire interview process even if someone recommends you and landing interviews isn't that hard. I actually know plenty of people who self-studied their way into those companies without degrees. If you do manage to stick to the program and go through everything on your own (which requires an incredible amouunt of discipline) in my opinion the biggest issue you would face right now is bias and stigma.
- parsimo2010 6y agoThey glossed over some really big considerations. First, you have to be really self motivated to accomplish this. I don’t know too many 18 year olds that would push themselves enough to get as much out of a purely online program as compared to an in person program. Second, a DIY degree is not a “real” degree and will be looked down upon by many employers. That’s not to say that you won’t learn as much in a DIY program (if you are self motivated), but you’re going to restrict your job prospects. 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.
- ogre_codes 6y agoIt's easy to skip a lot of fundamental classes and classes which are less interesting. Lots of people would skip "Boring" topics like data structures and databases and focus primarily on just piling into learning Swift or Kotlin to build apps on the platform of their choice. 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.
- robbyking 6y agoI absolutely, 100% regret not studying computer science in college, or at least learning CS fundamentals earlier in my career. I spent years struggling to write quality code, and I couldn't figure out why: I knew syntax inside and out, but still struggled with tasks my peers could do while watching YouTube videos and chatting with their friends. It's like I could spell but didn't know the first thing about grammar. I eventually went back and took some classes online to fill in the gaps, but I feel like I would be much further in my career had I just went ahead and done it in the first place.
- nickel_8448 6y agoI believe that could also be the case because of the amount of practice your colleagues could have had during college.
- stan_rogers 6y agoIt's not knowing what you don't know. Sure, you can stumble into things, reinventing the wheel from time to time, but life gets a lot easier when you know what wheels are going in. I'm put in mind of Konrad Zuse finding out that Boolean algebra was a thing while he was wrestling with the mechanisms needed to make his first machines - just knowing that there was an established formalism and a calculus for binary made a huge difference in how and how quickly his work progressed. If he'd also learned about recurrence relationships, Z2 nd Z3 would probably have been Turing-complete by design rather than merely in potential restrospectively.
- rikroots 6y agoI don't know what degree courses are like elsewhere in the world, but in the UK they tend to be single-subject (eg "Applied Biology") studied over 3 years. Depth, in the UK, is more important than breadth - a view I strongly disagree with. 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-degree-qd 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 https://en.wikipedia.org/wiki/Open_University
- legerdemain 6y agoRegarding the lack of a degree, the author writes "I believe it matters less over time." This is a narrative I've been hearing for twenty years. 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.)
- weego 6y agoCS degree demands are absolutely quite biased towards US company mentality. I self taught at 18 and have never had anyone from a European company, some of which would certainly be called globally known, mention my CV doesn't list any education, ask about it in interviews or subsequently mention it during employment, and i know a fair few people at those jobs had similar stories. To be fair I'd note a number of people I got to know did have degrees in other STEM fields. My only run in with a similar issue was not being suitable to be presented as CTO for one company because it was STEM related and everyone else has PHDs.
- azinman2 6y agoSome people are able to learn in the field and grow accordingly... especially if your specialty ends up being something like Linux kernel engineering where you can learn from how others do it. That said, most people aren't super talented sponges that can excel and push themselves without proper structure and guidance. You might have an exceptional mind; we also need solutions that address the rest of us, and I'm not so sure that a MOOC is long-term a great solution for most.
- yardie 6y agoIn my experience it has been the opposite. US companies are quite liberal about education requirements: lots of experience + no degree, some experience + unrelated degree, STEM degree, or CS degree. My experience (French and German companies), you either have the degree that matches the position or you have an overwhelming amount of experience they can't ignore you. I was turned down many times over not having a CS degree from top US university (majority of Americans go to local state colleges).
- omarhaneef 6y agoI agree with almost all the comments here. The standardized curriculum (or, as some people put it, making you take even the classes you think you won't enjoy), and the coaching (having someone hold you accountable to deliver) is a key aspect of schools. 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)
- paulie_a 6y agoI've helped hire people and I might be in the minority but after you worked in the industry for a few years, your degree is meaningless.
- tarentel 6y agoAgreed, I removed where I went to college on my resume a few years ago to make room for actual work stuff, no one has even asked me if I went to college. I also review resumes and unless it's a junior position I don't even really pay attention to where they went to school.
- jmchuster 6y agoIf cost isn't as much of a motivator, and you just want the fastest way to get into the industry, I would recommend a brand name coding bootcamp instead. The time span is much shorter, many companies already have a sense of your expected skillset, your salary hit on your first job is often not that much (maybe nothing) and should be gone by your second job. 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.
- swyx 6y agowhat exactly is a "brand name coding bootcamp"? i dont have a particularly high opinion of General Assembly and its one of th ebiggest.
- deleted 6y ago[deleted]
- jmchuster 6y agoHack Reactor, App Academy.
- 908B64B197 6y agoI really can't recommend bootcamp; They almost always teach "tricks" rather than systematic thinking and consider CS fundamentals to be in the way of practical "applied" learning. It's pretty depressing once you get a few resumes that all have the same portfolio, because the whole bootcamp was about building their portfolio website.
- jmchuster 6y agoNew grads also all have the exact same resume as well. I'd go through OCR and interview 16 carbon-copy resumes every day. I'm not convinced that bootcamp grads are particularly worse at CS fundamentals than many college grads. If you care, you'll put in the time to learn using the infinite amount of free classes and resources out there. If you don't, being forced to take the minimum number of core classes and get passing grades in them doesn't change much about how you think and approach problems.
- Ologn 6y agoWith Covid prevalent in the United States, I don't know what the situation would be for students looking to take the fall 2020 semester. 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.
- blackrock 6y agoI don’t understand the requirement for college degrees for most jobs. 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.
- mesa8 6y agoLoans can be at least partially discharged in bankruptcy, so that is incorrect. They are more stringent, but with the current public perception of college loans, judges are more likely to agree that the conditions this must meet are true. Secondly, college is free for a lot of people, as in some states anyone making less than $20k/yr goes to a state university for free. This isn't incredibly obvious, and some grants received may be relatively unknown, such as a grant from a college that's not on their website of $7k a year for low-income students. You also can't generalize everyone's feelings. Some people aren't compatible with trades.
- non-entity 6y agoI would be so much more supportive of the recent trades push if it wasnt riddled with misinformation. Saw a guy I knew in school post a pic where there were two people. On the left was a person who was clearly supposed to represent some sort of business man, perhaps and executive. The image claimed this man made made $120k per years and had $100k in student debt. On the right was a linemen. The image claimed there made $130k a year with 0 debt. The average salary for a lineman? Decent, but definitely nowhere near $130k. Both BLS and Glassdoor have it around $65k. There seems to be some myth going around that certain trades are an instant path ot size figures. Sure, after many many years of experience, in a specialized trade and/or in an expensive state with strong union protections you can maybe make six figures, but most trade apprenticeships I've seen dont pay much better than entry level office admin jobs I see.
- wiz21c 6y agoUnless you want to work in internet facing stuff, there are many places where IT is part of another domain. For example, bioinforamtics, simulation, finance, etc. Many of those requires computer science + a good understanding of maths (calculus is useful in many geo stuff, discrete maths is useful in many computing tasks, entropy is useful to understand where you are when you compress data, etc). So, many of the maths courses that usually go with a computer science degree are helpful. Unfortuntaly, understanding maths by oneself is not easy and online courses quality greatly vary (I've tried to understand expectation-maximization algorithm using various online courses and it's not easy : sure, you'll get the big picture, you'll understand how to apply the algorithm, etc. but if you want to understand why (not how) the algorithm actually works, then that's another story, maths are necessary and the way they're explained is very different from courses to courses, and with different level of quality.) It also helps to not reinvent the wheel : many problems were analytically solved long before most of us were born.
- throwawaygh 6y agoIndeed. My advice for a career in computing is "either become world expert in some durable technology with a high barrier to entry, or else find a secondary specialty" (math, finance/econ, natural sciences, an engineering discipline, pre-law are all good choices). My advice for a career doing generic undifferentiated software development is "don't", or at least "move into management during your 30s".
- waldohatesyou 6y agoAs someone who more or less did a generic CS degree in their undergrad, how would I go about correcting for the lack of a secondary specialty? Would I have to get a masters later on? Focus on taking jobs at companies in specific domains?
- joshvm 6y agoMost job requirements specify a suitable undergrad degree or equivalent work experience. At some point what degree you have doesn't make any difference any more. It's what experience you have, be it through research or on-the-job. So either route is open to you. Do you have something particular in mind?
- pizza234 6y agoThe author has a surprisingly naive vision of education, in spite of being a hiring manager. 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.
- deleted 6y ago[deleted]
- person_of_color 6y agoWhat course did you take?
- pizza234 6y agoNAND2Tetris, Part I :-) The difference I mention between real-world and MOOC is that in the former, [I suppose that] the teacher(s) will give better grades to students who come up with better chip designs. I paid the course for financial support, and challenge, but it can be finished identically without certification; as I wrote, specifically for this course, grades are practically - but not theoretically - binary: the projects work, or not.
- f00zz 6y agoI think you can go a long way towards grokking data structures and algorithms by solving problems on competitive programming sites. I don't have a CS degree, but some time ago I became somewhat addicted to SPOJ (an "online judge" with problems taken from ICPC and the like) and solved hundreds of problems, filling the many gaps in my knowledge with lecture notes from .edu sites. Definitely made me a better programmer (even though I've never actually used stuff like dynamic programming in the "real world").
- austincheney 6y agoI disagree with the article. Universities already offer DIY degrees. They are called General Studies or Liberal Arts degrees. They offer, in my opinion, a much better education than a CS degree. 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.
- deleted 6y ago[deleted]
- 908B64B197 6y agoMaybe DIY degrees using MOOC make sense to replace "amphitheater style" universities but I really don't see how it could be any better than the education at most serious institutions. 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.
- ghaff 6y agoLectures in big rooms can be trivially replaced. And, arguably, are improved upon by even a relatively modest digital effort. You get time shifting, acoustics and video can be better, you can rewind, and you can get the best lecturer to do it. 8.01 or 18.01 or 6.001 (Intro to physics/calculus/algorithms) doesn't really change YoY. You could do that on VHS tape if you wanted to. The hard part is problem sets, recitations, grading, peers, etc. And MOOCs do very little there. Automated grading is better with programming than it is wirth other things. But it's still just looking at the result.
- 908B64B197 6y agoThere's always MOSS to spot suspicious entries. [0] [0] https://theory.stanford.edu/~aiken/moss/ https://theory.stanford.edu/~aiken/moss/
- ghaff 6y agoI'm not even really worried about cheating in this context (although that matters when you get to certification--a lot). I'm thinking more of: It gets the right result but it does so in a really crappy way. (And, yes, in some circumstances you can measure CPU time but you still mostly in RIGHT/WRONG grading.)
- Pete-Codes 6y agoYou'd be in good company. Honestly for lots of people especially those who want a career change and aren't 18, going back to college for four years and the debt that goes along with it doesn't make a while lot of sense. 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
- bollu 6y agoSo I actually went ahead and decided to build "curriculum" that I would be happy to study, instead of trying to take potshots at the idea. For reference, I'm a to-graduate-undergrad who's studied a pretty theory CS-heavy course curriculum. I work [in terms of research] in compilers, formal verification, and dabble with some NLP on the side. I personally find knowing pure math, theory CS, and algorithms/data structures (the ones that are derided often here on HN as "leetcode") to be an _insane_ force multiplier. 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-spring-2010/ https://ocw.mit.edu/courses/mathematics/18-06-linear-algebra... - Basic Combinatorics: https://www.coursera.org/learn/combinatorics#syllabus https://www.coursera.org/learn/combinatorics#syllabus - Introduction to Algorithms by Erik Demaine: http://courses.csail.mit.edu/6.006/fall11/ http://courses.csail.mit.edu/6.006/fall11/ - OR, Introduction to Algorithms by Robert Sedgewick: https://www.extension.harvard.edu/open-learning-initiative/abstract-algebra https://www.extension.harvard.edu/open-learning-initiative/a... - Complexity theory/theory of computation: https://web.cs.ucdavis.edu/~rogaway/classes/120/spring14/ https://web.cs.ucdavis.edu/~rogaway/classes/120/spring14/ - Structure and interpretation of computer programs: https://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-001-structure-and-interpretation-of-computer-programs-spring-2005/video-lectures/ 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/ http://courses.csail.mit.edu/6.851/fall17/ - Graph theory: https://www.coursera.org/learn/graphs#syllabus https://www.coursera.org/learn/graphs#syllabus - Abstract Algebra: https://www.extension.harvard.edu/open-learning-initiative/abstract-algebra https://www.extension.harvard.edu/open-learning-initiative/a... - Nand2Tetris, where one builds a computer "from scratch": https://www.nand2tetris.org/software https://www.nand2tetris.org/software - As much math, physics, and computer science as can be learnt!
- mcguire 6y agoTech career tips for the 21st Century: * 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.
- AnimalMuppet 6y ago2. Embedded isn't going anywhere. If you want a career, not just a job, embedded is going to be here in 20 years. As opposed to the "hot" things... where will they be?
- dhuk_2018 6y ago"Look for things that are hot, but relatively unknown." What?
- ZephyrBlu 6y agoI.e. up-and-coming as opposed to well established.
- throwawaygh 6y ago> Remember, it's a career, not a job. ...how do the suggestions you made factor into "building a career"? TBH your suggestions sound more like "remember it's just a job" advice than "how to build a meaningful and high-impact career" advice. I don't see how you either reach "principal" or reach executive positions by hopping through commodity IC roles in "whatever's hot".
- ipnon 6y agoIf you study and make 1 project for each subject of https://teachyourselfcs.com/ https://teachyourselfcs.com/ you can go toe to toe with any Stanford or MIT computer science undergraduate. You will have spent an order of magnitude less and will have an order of magnitude more experience. But you won't be able to slack or coast through, and you will mostly still be excluded from elite institutions just as you were before you began. 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.
- throwawaygh 6y ago> If you study and make 1 project for each subject of https://teachyourselfcs.com/ https://teachyourselfcs.com/ you can go toe to toe with any Stanford or MIT computer science undergraduate. That better be a hell of a sequence of projects.
- etothepii 6y agoSadly the certificates matter. 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.
- 908B64B197 6y agoWould you care to elaborate on how hiring is still broken? Has anything actually changes with the pool of candidates and hires the company is making?
- etothepii 6y agoVery few of the metrics that are assessed during interviews are quantified (making bias correction very hard). It's highly unusual (except maybe at Google) to compare how well someone is doing in a job to how well they were thought they would do that job. The idiosyncratic nuances of most jobs is hugely underestimated (in the sense that the more specific the prior experience the more it should be discounted). My suspicion is that we'd all do a lot better if we took all the candidates that applied that we thought "would do" and then drew lots. We'd probably do even better if we agreed "no fault" severance packages in advance that could be triggered by either party.
- readme 6y agoAs someone who's very gainfully employed with no degree, but went back to school anyway, here is my perspective: 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.
- jeffreyrogers 6y agoDon't do this. The value of a degree is largely in what it signals, and you have no signal if you don't have the degree. I know some very smart people without degrees. I also know a lot more losers who didn't have the discipline to finish school because it bored them or just weren't smart enough to finish. And when someone only knows that you don't have a degree and knows very little else about you, they are going to automatically place you in this latter category.
- peterwwillis 6y ago> No college life: you will be missing on the college experience. This one is a big one. 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.
- lucasgonze 6y agoAs a hiring manager, I can tell you that degree standards are going up and up. When I was starting as a dev a quantitative degree was totally optional - fortunately for me. Now it's common to have an MA/CS, somewhat likely a BS/CS, and the absolute least a BS in any quantitative field. 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.
- morgtheborg 6y agoHuh. I'm surprised to hear this. I have a liberal arts degree, and I had zero issue getting a job after going through a bootcamp 6 years ago. My brother-in-law did the same 3 years ago. My husband last year. He literally doesn't even have a degree...
- lucasgonze 6y agoThere are oceans of people with those same bootcamp credentials. For hiring managers willing to hire bootcampers, but you are just one drop in that ocean. Over time you will have a harder time finding work, you'll get lower salary offers, and you'll be passed over promotion. If that's the credential you have, it'll have to do. But if you're choosing whether to pursue a full-blown degree, the answer is clear. Yes, absolutely, yes.
- zumu 6y agoIs a "weak education" == no quantitative degree? Does this hold even after you get a few years of work under your belt? In my experience, there are some good people with CS degrees, but there are a _ton_ of duds. If I had to choose between someone who's parents paid for them to get a CS degree and someone motivated and interested enough to teach themselves CS and math in their free time, I'd 100% be more interested in the latter.
- lucasgonze 6y ago
- baron816 6y agoSome time ago, I looked at my alma mater’s course list to complete a CS major (I was an Econ major) since I was curious to see how useful those classes might have been to me now as a SWE. Not very much, IMO. 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.
- hackermailman 6y agoYMMV, but if you find a real university course and not a mooc that does not have public solutions, and you complete it, if you email the instructor they may give you a sort-of letter of competency, if you approach them straight and show them you have completed all the work, and tell them why you need need their recommendation. I hesitate to write this from frauds spamming professors demanding letters but somewhere is somebody who was me 10 years ago who had no legitimate work history, no university class credits but put in the work, and might need this advice. It has to be an esoteric theory subject that does not have easy to find answers, in my case it was the experimental dbms that a well known professor was designing that I had contributed to with PRs. He provided this recommendation and it was responsible for where I am today. Just saying if you really are a self-learner, and not some fraud doing bare minimum effort and just wanting money, specifically you are actually interested in the content of these kinds of courses and solving the hard problems in this field, you can indeed become successful teaching yourself ... to a point of course, you need to work somewhere and learn from people who have been to school but getting your way in, it is possible.
- reportgunner 6y agoI don't get the point of calling it a "degree" if one of the cons is "you don't get a degree". How is it different from just "learning online" ?