My friend dropped out of college. My girlfriend is in college. I was talking about how she has a few years left and he starts shaking his head. "I just don't get it. So long and for what? To get a job?"
When he dropped out of engineering school he went to manage a restaurant. Made good money. Then started to build a house. Quit that too. He almost had occupancy on it and said, "I'm done. I'm out."
That's also what college is about. If you come to me looking for a job and didn't go to college, why? Did you drop out? Why? Do you not think learning is important? Do you not understand sticking it out until you have accomplished the goal?
Do you give up before you are through?
Not only that, but of course, I meet folks all the time who think "you don't need a degree to be a programmer." Sure. You don't need a degree to put Ikea furniture together either. I don't need programmers. I write programs to write programs. I need folks who know how to think... for themselves and learn and go out and find knowledge they need to solve problems and then solve the problems.
No, I don't give up when the going gets tough. That's not why I dropped out.
I dropped out because it simply was not feasible to go any farther: I could not juggle full-time undergraduate pure math at Berkeley while working multiple low wage jobs in the SF Bay Area plus all the other responsibilities and commitments I had accumulated at 27, along with the stress of being able to afford my next meal, let alone rent.
I failed math thru high school. Barely graduated. Worked in grocery stores thru my 20s. On a whim I bought myself a trig book and self taught to calculus before deciding to go back.
After dropping out I taught myself to code. Night after night I learned SQL, built shit in Python and node and tinkered with Heroku and AWS and Docker while trying to fill gaps in my CS knowledge by reading SICP and the algorithm design manual.
The job hunt process was pretty brutal and lasted about a year and a half. Rejection after rejection after rejection. Take home projects to work on and technical interviews to study for after work when I was exhausted from super demanding physical jobs that time and time again wouldn't pan out
Finally I got hired into a remote position at a great company, and left the bay for a place where life is slower, cheaper, and less crazy making. Now I'm going back to school on a part time basis at a local university.
There are so many stages between where I was a few years ago and where I am now where I could have given up, and where I think a lot of folks do. You don't really read those stories in manic Medium articles about learn to code success stories, how one guy (with a trust fund and a credit card and a network of ivy league grad friends) learned to code and got offers from every FAANG. I don't blame the ones who give up.
And I think if you have access to financial resources, and have friends who have them too, it's also much more straightforward, or at least less frustrating and painful, to finish school, and get a job that will pay you fairly.
But otherwise it's a tough road to walk, one that's physically and emotionally exhausting, and I suspect the level of commitment involved to walk it isn't too different from that needed to graduate with a degree. I wouldn't know tho -- that's not me (yet)
Dropping out of college wasn't quitting for you, it was simply a reality of life. I also was not able to get my degree at first -- it took me 22 years of working my ass off to finish my BSCS, and a few more years to finish my "starter career" in the military, get my MS, and get a job in software engineering like I always wanted.
Kudos for finding your own path. Your drive and determination will take you far in life, much farther than if you had just went with the flow, went to college, and followed the normal script.
I've been writing code since I was 10. Everything I learned about software was knowledge I went out and learned on my own time, through my drive to become a better and better engineer.
In the middle of my senior year I got a job at a startup that demanded so much time I felt it was better to pause college, and the hard work I've done since has paid off tremendously. I am going back to school, but there is nothing I regret about leaving initially, there is nothing I am learning that I didn't already study on my own time.
For every story about engineers who dropped out and got a menial job and had no ambition to become a better engineer, there are stories of engineers who had that ambition from the start and the degree became a nuisance. You shouldn't hold it against them until you know why they chose the path they did
I believe the poster you're replying to addressed this point:
> If you come to me looking for a job and didn't go to college, why? Did you drop out? Why?
You, clearly, dropped out because you had an amazing opportunity that you jumped on, not because you decided you were "done with it" and aren't capable of seeing things through until they're done.
I think the important question is "why?" -- for basically any career decision!
> If you come to me looking for a job and didn't go to college, why?
There is an obvious and common answer to this: college is expensive, both directly and in opportunity cost of not working. It's an expense that few people can easily afford without significant family support or loans.
Filtering by college degrees is filtering by family wealth more than anything else (or otherwise someone's willingness to get into debt).
> Filtering by college degrees is filtering by family wealth more than anything else
I assume you have the US in mind? This is less true in the many developed countries where education is free and/or programs exist to cover living expenses during studies.
> Filtering by college degrees is filtering by family wealth more than anything else
I'm not sure it's wealth as much as filtering by situation. My family was not and still isn't wealthy. Quite the opposite in fact. I was fortunate enough to be born near a local college so I could live with my parents while going to school, and working 30 or so hours/week to pay tuition.
I definitely didn't have the 'college experience', but I graduated with almost no debt.
I got my first programming job when I was a sophomore in college through people I met there. A couple different companies asked me to put college on hold for a semester in order to work more, but I'm glad I said no. College is not the only path, especially today. But, it was the best path for me.
I dropped out of college. Then I wrote more than 20 books about computer science (and various other topics), maintained a programming language for about 10 years, and finished many other long-term projects against lots of resistance.
Sometimes it is a good idea to give up, sometimes it is not. It is not a function of the individual, but a function of the circumstances.
Dropping out of college can actually be a very smart decision. There's an opportunity cost to being in school, and if you can do what you want to do without it, better to not waste all that time and money and get maybe get the other benefits elsewhere.
I've hired dropouts who had a good reason, and were otherwise qualified. I'd do it again. But there are plenty of people who drop out because they can't make it, because we idolize founders who dropped out, etc. And it's not automatically an admirable thing if you don't know why you're dropping out.
Yes, success on your level, without college, is possible. However, your experience is very much an outlier. Someone that is internally motivated, has goals & direction (even if they change) will often find a way to a professional career. That is not the situation for a vast majority of students though. I think if someone gets to college and says, "I know what I want to do, and it doesn't require this", then there's no issue with getting out of there. Heck, you could always go back. Most students I see leaving college though have no direction and immediately enter low paying jobs with few better prospects on the horizon.
On the other hand, colleges do need to really rethink their education model. I fully believe in the value of a core or liberal arts education, it provided useful analytical & communication skills, but there needs to be a significant pivot towards more concrete marketable skills. At the community college level, there is an excellent degree type for this: The Associates of Applied Science, or AAS. It has some, but reduced humanities requirements and focuses much more on career skills of the chosen area, all of which have specific, immediately accessible job opportunities. The really unfortunate part of this degree, however, is that is very hard to build upon later at a 4 year school to finish a bachelors if you so choose: the credits either don't transfer or transfer as electives, not requirements towards a degree. Again, a major pivot is needed for traditional 4 year schools.
I didn't give up, the school I was attending had completely crap computer science program. The networks class was a HTML/CSS and PHP website. The other schools in my area for computer science is better but way too competitive, as in, could only accept 100 students a year, a school of 20,000 people attending. The only way for me to get going in learning is to learn on my own based off of online courses, tutorials and projects. What I did on my own was better and more relevant compared to the school I was going. I'll show my dedication to completing a problem by the projects I've completed, certificates I've achieved and the online courses I took on my own time. If anything, that should say to a hiring manager that I took responsibility of my own career and went above and beyond, that's an employee you'd want imo.
Why leave college? Could not afford it, did not enjoy it, thought more could be accomplished outside of it, etc.
There are many reasons beyond just weak character for why someone would not go to college and it's not up to you as an employer to make that judgement call on someone's personality until you've dissected their real reasons for leaving.
This is something that takes a lot of time, way longer than an interview has to offer, so it's best to not make assumptions.
That's a genuine question I have of any interviewee. What was their thinking behind studying for 3–10 years at universities vs developing themselves through other avenues?
For someone with a master's degree, I'd like to witness their critical thought process. Their problem finding skills. Their ability to research outside their own field. Nothing would be a bigger red flag of mediocrity than someone who has spent several of their best years having gained no more than what mere vocational training would.
I never consider having a degree a "plus." It is only a plus if one has something to show for it.
If you think about it, formal education for many professions works a bit like a cast system.
It acts as a social filter preventing a large number of people from persuing a given profession that they otherwise could do just because their parents couldn't afford to rent a flat to their kid in another city for several years.
I don't think that there is any relation between the type of education that someone has (online vs formal) and a personal characteristic like perseverance.
There could be many people that could not afford formal education, learned online and are still perseverant. The two things are unrelated it just sounds like prejudgement.
I think there is some truth in both what you and GP are saying.
Speaking from personal experience, my team has hired college dropouts who have turned out to be some of the best learners and problem solvers we've got. I have also interviewed candidates who seemed to be under the impression that their Ivy League degree entitled them to the position despite having no experience working on "real-life" projects to speak of. Candidates should never be discounted on the basis of not having a college degree. If they've got a strong application, the interviewer should be able to determine the rest of these more qualitative things over the course of a conversation.
On the other hand, if done right, college can be a place where some very intense, sustained personal growth can take place at a level which cannot be rivaled by supplanting it with e.g., taking a series of online courses. Taking advantage of the resources around you (seeking mentorship, research experience, forming study groups with colleagues, doing co-ops, etc.) can help put you far ahead of a person who pursued a self-study route in the same period of time. I agree that it is unfortunate that college is financially unviable for a lot of people who have a lot of potential. However, I don't necessarily agree with the people who allege that college is nothing more than paying for a piece of paper so that you can get a job.
This only applies in places like the USA where college is expensive. In places where is not expensive, the barriers are much lower. Perseverance is important and can be measured, in part, by how people go about completing long term projects like getting a degree.
These "is college necessary" posts suffer the same problem as "why are programmers making 200K right out of school" posts. The job title covers everything from hacking out WordPress plugins, to leading a team building an MVP, to building large distributes systems, to designing the software that goes into medical devices and autonomous vehicles.
Some programmers really do need a CS degree with at least a few years of math and a couple years of physics. Sometimes programmers need to know a minimal amount of PHP and JavaScript. The job title captures a huge range of actual jobs.
> Sometimes programmers need to know a minimal amount of PHP and JavaScript
I'd say that covers the majority of programming jobs. The problem, though, is that the are a vast number of people who can meet that bar and salaries are bound to collapse to reflect that at some point. What happens to them then?
Not all people are like your friend, not all colleges are like your girlfriends, and most importantly not all career trajectories benefit highly from a college degree. My wife for example, her degree gets her a poverty level salary in the states, whereas in Switzerland, Germany, Sweden, she makes near 6 figures. Going to school for CS, and having to take all the other dumb shit that will never, ever help you in any real world CS job, is why the alternatives are coming to a rise.
I guess this line of thinking might be reasonable when hiring young people, where college is still a recent memory.
I dropped out of college. There were a number of reasons, but really it just boiled down to the fact that I was not a mature adult at 20 years old. I was enjoying my life and my freedom living alone (arguably too much!). I don't regret any of it. I started learning to code about 3 years later and worked my way into doing it professionally.
At almost 40 now it feels absurd for me to be judged based on my 20 year old self. I know I'm biased here but, if anything I feel like the college you went to and the number of years attended say just as much about your level of privilege and rigidity of your upbringing than it does about your character.
I did one year of uni and found it to be too slow paced and overly pedantic about meaningless rubbish. I decided to just apply for a job since I already know programming pretty well and I got the job and things have been going pretty well ever since
College/university is supposed to be about getting an education. For most people it isn't. It is about getting that piece of paper and its clear they learned next to nothing.
I take graduate degrees seriously, because people tend to take those seriously and focus on the education more than the paper at the end. I don't take 4 year degrees seriously at all. If all you've proven is that you can survive with minimal effort for four years before losing patience then you certainly have more potential than the lowest side of a bell curve, but you haven't proven you bring added value.
This doesn't make any sense. Just like you demoted the master's curriculum and all it's requirements to pass the classes on the way, you can say the same thing about the doctorate. You put in a few more years of minimal effort before losing patience to become a professor or having any kind of tenure.
There you go. You haven't proven you bring added value.
As someone who’s getting a Master’s at the moment, trust me, it’s just a marginally harder Bachelor’s degree, year 5 or 6. The main difference between it and Bachelor’s is that people are older on average.
Graduate degrees are pieces
of paper too. Masters are shameless money grabs. Most doctorates will kick you out with a degree if you sit around long enough.
>Not only that, but of course, I meet folks all the time who think "you don't need a degree to be a programmer." Sure. You don't need a degree to put Ikea furniture together either. I don't need programmers. I write programs to write programs. I need folks who know how to think... for themselves and learn and go out and find knowledge they need to solve problems and then solve the problems.
I've found university to be somewhat of a bad predictor for whether people think for themselves. It is however from my experience a good predictor for following instructions and follow-through (which, as you mentioned, is not unimportant).
If I see somebody with no degree, but experience, he might also have follow-through though, and often more resolve to solve problems themselves.
I had a university education myself, and while I think it's not strictly necessary for programming, it does give you a good overview of related fields (mathematics, algorithms and maybe others) that often come in handy as part of solving a problem more elegantly or efficiently. And self-taught programmers often don't touch on these topics and have a big blind spot there.
College, for me, was never about becoming educated. I am in a constant state of becoming more educated. College was about getting a job. As soon as I got a job, I dropped out.
College for me was simply a means to earn a living. I am more interested in building my startup but the reality is that unless you have funding out of the gate or a well connected group who will fund you, then it is not realistic. I studied accounting simply because I knew it would be stable and consistent. Once I got my BA, I was out of there ASAP. Forget getting a masters degree, experience is more important once you have your foot in the door anyways.
For folks who don't know what Type 1 and 2 errors mean:
> In statistical hypothesis testing a type I error is the rejection of a true null hypothesis (also known as a "false positive" finding or conclusion), while a type II error is the non-rejection of a false null hypothesis (also known as a "false negative" finding or conclusion). Much of statistical theory revolves around the minimization of one or both of these errors, though the complete elimination of either is treated as a statistical impossibility.
The replies to this post are amazingly defensive. Did you not get the theme? WHY is the theme. You folks stating your specific case seem to have a "why", and a need to defend yourselves even though you weren't specifically attacked.
Relax, you have done well. You have a good "why". Now consider someone who doesn't have a good "why" and also doesn't have a college degree to at least prove they can complete something. It's not a perfect indicator, but it's an indicator.
Self-taught here. I dropped out of college because I was already making 6-figures and I just didn't feel like doing the school work any more.
I make top-tier money outside of SV, I get to go to all the cool conferences, company-paid international travel. Most of my vacations all the flights are free thanks to the miles.
I might finish school one day, but it's mostly for the piece of paper and 0% for the knowledge. if WGU had a linux-track I would consider that as the path of least-resistance.
Went to college, did my best until proper graduation. Dug my way into FP and semi advanced topics at the time. No job because I'm not mainstream (and barely insterested by REST and similar).
On the other hand some gigs can accept barely educated juniors, train them for one thing, they get a cute career and raises along the years and by the time they get to my age they're comfy and set (potentially, not every life is bluesky and easy)
There's no clear better path. Even if you consider college academic education, yes we had good classes (DB normal forms, optimizing compilers, computer graphics etc) but we also spent half the time on obviously horrendous 2000s OOP that led the world at the time and will soon be forgotten. So it's not even great on that side too.
>> I need folks who know how to think... for themselves and learn and go out and find knowledge they need to solve problems and then solve the problems.
So, is going to college and earning a degree the only way to do that? In fact most of the college education is not designed with the idea of inculcating learning as a skill, in fact college may be a bit late for that skill and as a consequence/side-effect earn a degree.
Should we reject someone who still can give you the signals (thinking, persistence) one could be looking for, but hasn't attended or dropped out of college?
There could be more optimal ways to learn to think, and solve problems and being reasonable enough in not giving up. Going to college, incurring debt, doing things where the dead end is a degree is not optimal.
> If you come to me looking for a job and didn't go to college, why
How about "because it is really expensive, and not everyone is provided enough to pay for it, or take out the debt, and there are other ways of learning that stuff".
I dropped out because I was interested in more advanced topics than the ones my 3rd world college offered, often times I ended up introducing new stuff to the class and lecturing and it just wasn't worth it for me. I had to work to pay for my studies
I didn’t drop out because the going got tough, I dropped out because I needed to make money and was finding I didn’t learn well in a typical classroom. I ended up working tech support and climbed my way up into a Dev role in under 2 years.
Weird comment. You can get a college degree just for showing up.
Do you have a PhD, or did you give up? Do you have a high school degree, or did you give up? Do you still work at the first job you ever had, or did you give up?
Total agreement. College is largely about trading money for status. I have a comp sci degree from a good school, don't see what the big deal is, if I had to do it over again I would have skipped it and just hustled my way into a programming job at 18.
I wish my Computers and Society professor got the memo that you can get a degree just for showing up. Could have skipped that 20 page paper on software patents.
> You can get a college degree just for showing up.
Highly depends on the college and major. My CS degree had a ton of out of class homework assignments and projects not to mention the need to study to pass the tests preventing you from coasting by. Add onto that the fact that at least 10 of my math and cs classes were bell curved based and Cs are the minimum passing grade so if you try to coast by, you will need to retake a bunch of classes or switch to an easier major as everyone else is working really hard to not be in the bottom (i had to retake 3 classes myself).
The statement seemed anything but obtuse to me; to me it highlights one of the bigger problems that people who hire have, finding someone who is able to "meta up", someone who sees not just problems, but classes of problems and how to systematically classify problems and derive suitable systems that can solve those problems in a generic way. In other words, write programs to write programs (an obvious case of which is a compiler).
The real take away is that structured exercises and projects are both a great way to develop and display your abilities and being able to demonstrate these is more important than holding a credential within the tech industry.
The barrier to entry for most people to tech jobs isn't whether or not they can get interviews, it's whether or not they can pass the technical assessment that's become a standard part of the process. In other industries, GPA, school rank, highest degree earned are hard pre-reqs to inteviews, even for entry-level jobs. That isn't necessarily the case in tech.
I work in a field that falls under the "data science" umbrella and I take issue with a lot of online courses compared to traditional education because almost all of them overpromise and underdeliver and take advantage of naive students that don't know any better. I can't tell you how many applicants I've interviewed that list dozens of online certifications for this and that skill, but can't demonstrate any knowledge of it when asked or assessed.
Just my $0.02, but online tech courses and degrees are akin to the MBAs of a decade ago: exploitive, expensive, and often entirely unnecessary. I would still hold that a technical computer science degree from a 4-year university is worth it, however, for the benefit of being in a collaborative learning environment with peers (Note: That doesn't mean you have to go to Berkeley - I went to a top 50 state school and got the same education and job opportunities as all of my friends that went to top 10 schools, but I graduated with a positive net worth.)
(Disclaimer: I know there are always exceptions to everything. I have generally heard very good things about GT's courses - Udacity's I'm more skeptical of.)
I completely agree. Personally I think some form of online education/self-study hybrid type of system is the future of education simply due to efficiency of such systems. The reality is that there needs to be something more to actually be in the form of credentials. We need something that allows people to display their mastery of certain subjects similar to how accounts have their CPA or lawyers have their BAR exam.
I think that what most of them are missing are testing hard questions and projects without hand-holding. Many of the courses I have taken have been good, but they will just graze the surface of anything approaching harder mathematical questions on tests and projects are too "fill in the blank (function)" rather than requiring critical thinking. I took one Udacity class and I certainly felt like I had been cheated, more cutesy animations and polished videos than real content.
I would use them for an introduction, but would definitely pick up a well recommended textbook after, or do a medium sized personal project after. Although the Coursera Cryptography class I took was just as good as my University one so I guess it really depends.
[OP here] I agree with you. Even if GT's courses, the course material is pretty standard and doesn't actually drastically increase your understanding. It's the assignments that give you the most value, which are similar to Udacity Nanodegree's projects.
You're right! I didn't want to delve into it too deeply, but for me and my friends who weren't CA residents the tuition was extremely steep, even after certain scholarships/aid. I think people in the US don't consider their state schools enough when looking into getting a college education. Again, my public school's CS department was ranked top 50, which certainly isn't the worse in the US, but it isn't prestigious either. In the end, the prestige didn't really matter in terms of getting job opportunities compared to my friends that went to much higher ranked schools.
I think it really depends on what you're trying to do and learn.
Lots of folks who have taken my Flask course[0] said they learned more about web app development in 10 hours of self paced videos than they did in 4 years of university. Lots of them felt like they finished the course really knowing how to build something, and many of them have gotten hired for work shortly after.
But the course doesn't touch algorithms or any theory around computer science. It's just 10 hours of exposure to building a real SAAS app in stages.
I personally believe experience trumps almost everything and courses can be very good for people who consider themselves self guided learners, because you always have the power to research the theory while treating it as something that's on a need to know basis. Taking a course on a specific subject lets you focus your time on the exact thing you're trying to accomplish and some course instructors also provide free support (I do), so you always have an out or 2nd set of eyes to help get an answer for things you can't figure out alone.
I never went to college but I do sometimes regret missing out on the social / networking experience, but I have no regrets about taking a self guided approach to web development for the last 20 years and I'm happy with how things turned out.
Motivated real world exposure > real world exposure > motivated self education > traditional education
As someone who mindlessly "self taught" through tutorials, then did half a bootcamp, then did a MSCS-- none of those things were anywhere near as transformational for me as a dev than my first year as a software engineer.
But of course, building AlgoDaily has probably taught me even more than the many years of work at this point, purely because there's been a strong impetus.
The "need to know" basis is huge. I think with a strong enough "need to know", any method works.
as someone who did not attend college, or all of highschool, but has worked in an engineering role in tech (electrical, electronics, firmware, systems, saas and mobile) for almost 20y, i agree with the thrust of this comment.
i will say that there is an interesting social component on-the-job, especially early on in a (my) career. more than once i had a colleague who would zero in on a gap in theory (almost always algorithms) and talk down to me. in one case i had someone jab their finger at my face and yell (yes...raised, angry voice in a large cube farm environment) "I got my masters from MIT and you dropped out of highschool". The fact that this person was, in the end, completely wrong is immaterial to my point. About a year post-conflict we were (and still are) great and supportive friends.
The issue boils down to a need to "prove yourself" to certain people when you lack an undergrad degree. If you bounce jobs, regardless of reason, the process starts all over again. Someone stepping into most of the environments I've worked in with a fresh BSCi in CS/EE/whatever have not been placed in the same position to justify their existence.
For me, it resulted in a multi-year personal issue of harshly judging engineers with degrees from well-known schools like Stanford, MIT, and so on. I would think to myself "why can't you do this? I dropped out of highschool, learned on my own while working crappy paying jobs as a teenager before getting a shot...mommy didnt send me to a fancy school...i worked my way up from the assembly line to the engineering team" and other such toxic inner monologues. Harsh judgements based on the fact that everyone has a different melange of life experience. Super unhelpful.
As time went on I realized that a papered engineer, especially one who was only a few years out of school couldn't possibly have covered all the things in their coursework...there is enough volume of knowledge it would take decades to learn it all in school...assuming that was all you had to study!
By now I have been around the block so many times that my lack of a degree is less of a barrier, outside of passing the resume-gatekeepers at larger tech orgs. It resulted in my career focus being in the startup-SMB sized orgs. Mostly people seem surprised I didn't go to college, maybe a little amused by the fact they took on a debt load to be sitting next to me.
I hear a lot of "damn, i could have saved so much money". My reply tends to be along the lines of "...yeah...but it took almost 10y for HR to stop trying to low-ball my pay based on my lack of a degree...so i think it may be closer to a draw than either of us realize".
Traditional universities have 3 advantages over online course providers like Udacity, Coursera and Khan Academy:
1. They act as a coach: The professor and your peers expect you to attend lectures. The assignment is due by 5pm on Wednesday. If your performance isn't satisfactory you will be dropped from the course.
2. They get better feedback about their teaching. If half the students can't do the assignment on a particular topic, the professor can schedule catch-up lessons. Watching a group of students struggle with a question can give valuable insights about how to teach that topic effectively.
3. They act as a high-quality filter: Only high-quality applicants will be admitted to the university course, while anyone can pay $10 and start doing a Coursera course. The university also offers the opportunity to become part of a valuable alumni network.
(Some online bootcamps like Lambda also have these advantages because they insist on strict online attendance and are willing to drop students who don't put in the effort)
The 2nd point really resonates with me. I was reading this book called “Ultralearning” and feedback was one of the biggest points mentioned there. People who get prompt feedback can immediately use it to learn from experience. People who don’t have to keep guessing of what they’re doing is right or wrong.
I think most of these points are mostly debatable and can easily be solved through technology. Yes, there are positives to traditional universities but there are almost major negatives. It is simply unrealistic to think the system of massive student loan debts will be sustainable going forward.
1. Online coaching can be provided through video conferencing or similar. An online course perhaps could have the added benefit of allowing students to experiment with a subject. If they need to be forced into staying on track then they're probably not interested in the subject to begin with. They could also come back to the course at a later time when they're more motivated.
2. Adaptive algorithms can solve this problem and do it in real time.
3. A well crafted examination/certification can do the same for less money. See the accounting industry's certified public accounting exams or the legal industry's BAR exams.
Ultimately though, I see a hybrid system being created. If you want to take the traditional class, you can, for a fee. If you can self-study then you do the online course and only pay a much smaller fee plus any supplemental services you buy. Overall everyone wins.
>3. A well crafted examination/certification can do the same for less money. See the accounting industry's certified public accounting exams or the legal industry's BAR exams.
Only four states allow you to take the BAR exam without going to law school (edit: and good luck getting a good job without the law degree). The CPA exam requires either a Bachelors degree or 120 college credits to be taken.
So, in other words, your examples are in fact showing the exact opposite of what you think they do.
Learning complex subjects is often uncomfortable. For me, college was the start of becoming comfortable with feeling stupid while learning. You learn to learn. You learn what parts of learning are normal.
I started college in 2001 as a computer science student and didn’t “finish” for over 10 years because of job (sysadmin for university) and consulting opportunities (travel). I’m glad I finished because it’s behind me and I don’t need to think about it any more. I still have the common nightmare of not knowing where my final exam room is located.
Anyways, I am a big fan of online courses. In early 2000s I had learned and built many PHP sites and started with Rails. There were no classes/courses on PHP or rails!
Fast forward to early 2010s and I find myself watching Stanford’s iOS development courses. I leveraged the knowledge to become a successful mobile app developer consultant.
A few years ago I purchased a handful of online courses on React/Redux. With that knowledge I’ve built a successful Electron JS app available on app stores.
These successes are not because I’m smart. It’s because I have a high tolerance for pain and boredom. When I see a challenge I keep digging at it until it’s solved.
Protip: Watch lectures at 1.5X speed (2X if review). Anything slower and my attention becomes highly distractable.
It’s quite simple really. There are some careers where you can learn and advance far more on your own.
Software engineering is one of them. The amount of tutorials and videos available on the internet far surpasses any curriculum at school.
But on the other hand, anything that requires hands on training that you can’t get at the comfort of your house, like medical or scientific careers, those you probably need to go to a school for.
Further more, in terms of software engineering, I don’t think the school system can ever keep up with the fast pace of the tech world. It’s just a rigid system and too slow for anything fast changing, like the web/app development.
[OP here] You're right. I actually did my bachelors in Electronics and Telecommunications engineering, which can only be done in college because of the expensive equipment required to learn anything of value.
Interesting take. I am a graduate and former TA in OMSCS, and used to work at Udacity building Nanodegrees (worked on ML & AI mostly). My experience is from a different perspective than the article, but I appreciated the differences without disagreement.
What I found in my time in both environments is that Nanodegrees appeal more to students who don’t have access to traditional education (college is too expensive, or grad school requires an undergrad degree, etc.). That makes most MOOC students less experienced, less qualified, and higher risk (in the sense that they mostly don’t have the profile of successful college students). Udacity, et. al., then appear to have a very important role to play in satisfying the need for education unencumbered by academic gatekeeping.
But the _other_ constant undertone in the MOOC community is the “get-rich-quick” crowd who expects a Nanodegree to make them a 6-figure AI engineer in three months at 5 hours per week. The dirty secret is that we already have a fast-paced learning environment that can give you a good crash course on the required core skills to make you a useful apprentice: it’s called “college”. It’s arguable that the typical BS could be abbreviated a bit or focus a bit more on “job-ready” skills. But I think the time required for most people to get there is much closer to a 48-month BS than a 4-month Nanodegree.
The other dirty secret is that no one wants to hire you as a junior developer at SV rates if you don’t have experience and need a visa or want to work remotely in your low CoL hometown. Unless you already have strong qualifications, you’re fooling yourself if you think an ND or Udemy course is gonna help you break into Google as a fully remote worker.
> It’s arguable that the typical BS could be abbreviated a bit or focus a bit more on “job-ready” skills. But I think the time required for most people to get there is much closer to a 48-month BS than a 4-month Nanodegree.
A US Bachelor’s is not 48 months, at most 9 months a year is spent officially studying, the rest is holiday. That would be 36 months. If we pretend the average student treats it as seriously as a full time job, ignoring all research on how students spend their time, we can still cut that 36 months in half, because half of the average US Bachelor is general education with no professional impact. That’d be 18 months.
If we want to look at the real world for examples we can see the UK, where most Bachelor’s are three years, with the extensive breaks and holidays you have in the US, but two year, full time, non stop degrees exist, or at Lambda School, which takes nine months to turn people into software engineers. They also demand more and more consistent work than well over 90% of university courses.
> A US Bachelor’s is not 48 months, at most 9 months a year is spent officially studying, the rest is holiday.
I went to college year round as it was the only way to balance my work schedule. I was a minimal full time student during the typical semesters and took classes all summer.
> because half of the average US Bachelor is general education with no professional impact.
I disagree. The general education is probably what everyone should go to college to learn. Reading and writing (communication) is the basis for almost every single job a person may have. It's also a skill that lasts forever. When I was in undergrad I took random business courses for my electives. I still use and have built upon concepts I learned in economics, finance, and accounting.
> because half of the average US Bachelor is general education with no professional impact
People that talented and motivated about CS should take computer engineering instead; much fewer general education courses are usually required.
Aside from that, there are two obvious ways to turn the general education requirements to your professional advantage: 1) writing courses, since the average developer can't write or put together a logical worth a damn and a lot of writing is needed as they get more senior and 2) foreign language courses, which open up job opportunities if you take the time to achieve basic proficiency.
“Cost of Living”. What I mean is that you may have to be willing to move to where the jobs are rather than expecting to find a local job if you’re chasing a big paycheck or a “hot” field.
I work in the realm of higher education analytics. My comments here pertain to undergraduate students:
For the vast majority of students, online courses are not a good vehicle for learning. Not because online courses are, in themselves, ineffective, but because success in them requires a much higher degree of internal motivation. Without the structure afforded by the traditional classroom experience, a very large number do not engage with the coursework, especially beyond the first week or two. We see a rapid drop off in activity & assignment completion.
When he dropped out of engineering school he went to manage a restaurant. Made good money. Then started to build a house. Quit that too. He almost had occupancy on it and said, "I'm done. I'm out."
That's also what college is about. If you come to me looking for a job and didn't go to college, why? Did you drop out? Why? Do you not think learning is important? Do you not understand sticking it out until you have accomplished the goal?
Do you give up before you are through?
Not only that, but of course, I meet folks all the time who think "you don't need a degree to be a programmer." Sure. You don't need a degree to put Ikea furniture together either. I don't need programmers. I write programs to write programs. I need folks who know how to think... for themselves and learn and go out and find knowledge they need to solve problems and then solve the problems.
Until they are done solving the problem.
Not until they've given up.
I dropped out because it simply was not feasible to go any farther: I could not juggle full-time undergraduate pure math at Berkeley while working multiple low wage jobs in the SF Bay Area plus all the other responsibilities and commitments I had accumulated at 27, along with the stress of being able to afford my next meal, let alone rent.
I failed math thru high school. Barely graduated. Worked in grocery stores thru my 20s. On a whim I bought myself a trig book and self taught to calculus before deciding to go back.
After dropping out I taught myself to code. Night after night I learned SQL, built shit in Python and node and tinkered with Heroku and AWS and Docker while trying to fill gaps in my CS knowledge by reading SICP and the algorithm design manual.
The job hunt process was pretty brutal and lasted about a year and a half. Rejection after rejection after rejection. Take home projects to work on and technical interviews to study for after work when I was exhausted from super demanding physical jobs that time and time again wouldn't pan out
Finally I got hired into a remote position at a great company, and left the bay for a place where life is slower, cheaper, and less crazy making. Now I'm going back to school on a part time basis at a local university.
There are so many stages between where I was a few years ago and where I am now where I could have given up, and where I think a lot of folks do. You don't really read those stories in manic Medium articles about learn to code success stories, how one guy (with a trust fund and a credit card and a network of ivy league grad friends) learned to code and got offers from every FAANG. I don't blame the ones who give up.
And I think if you have access to financial resources, and have friends who have them too, it's also much more straightforward, or at least less frustrating and painful, to finish school, and get a job that will pay you fairly.
But otherwise it's a tough road to walk, one that's physically and emotionally exhausting, and I suspect the level of commitment involved to walk it isn't too different from that needed to graduate with a degree. I wouldn't know tho -- that's not me (yet)
In the middle of my senior year I got a job at a startup that demanded so much time I felt it was better to pause college, and the hard work I've done since has paid off tremendously. I am going back to school, but there is nothing I regret about leaving initially, there is nothing I am learning that I didn't already study on my own time.
For every story about engineers who dropped out and got a menial job and had no ambition to become a better engineer, there are stories of engineers who had that ambition from the start and the degree became a nuisance. You shouldn't hold it against them until you know why they chose the path they did
> If you come to me looking for a job and didn't go to college, why? Did you drop out? Why?
You, clearly, dropped out because you had an amazing opportunity that you jumped on, not because you decided you were "done with it" and aren't capable of seeing things through until they're done.
I think the important question is "why?" -- for basically any career decision!
Deleted Comment
There is an obvious and common answer to this: college is expensive, both directly and in opportunity cost of not working. It's an expense that few people can easily afford without significant family support or loans.
Filtering by college degrees is filtering by family wealth more than anything else (or otherwise someone's willingness to get into debt).
I assume you have the US in mind? This is less true in the many developed countries where education is free and/or programs exist to cover living expenses during studies.
I'm not sure it's wealth as much as filtering by situation. My family was not and still isn't wealthy. Quite the opposite in fact. I was fortunate enough to be born near a local college so I could live with my parents while going to school, and working 30 or so hours/week to pay tuition.
I definitely didn't have the 'college experience', but I graduated with almost no debt.
I got my first programming job when I was a sophomore in college through people I met there. A couple different companies asked me to put college on hold for a semester in order to work more, but I'm glad I said no. College is not the only path, especially today. But, it was the best path for me.
Sometimes it is a good idea to give up, sometimes it is not. It is not a function of the individual, but a function of the circumstances.
I've hired dropouts who had a good reason, and were otherwise qualified. I'd do it again. But there are plenty of people who drop out because they can't make it, because we idolize founders who dropped out, etc. And it's not automatically an admirable thing if you don't know why you're dropping out.
On the other hand, colleges do need to really rethink their education model. I fully believe in the value of a core or liberal arts education, it provided useful analytical & communication skills, but there needs to be a significant pivot towards more concrete marketable skills. At the community college level, there is an excellent degree type for this: The Associates of Applied Science, or AAS. It has some, but reduced humanities requirements and focuses much more on career skills of the chosen area, all of which have specific, immediately accessible job opportunities. The really unfortunate part of this degree, however, is that is very hard to build upon later at a 4 year school to finish a bachelors if you so choose: the credits either don't transfer or transfer as electives, not requirements towards a degree. Again, a major pivot is needed for traditional 4 year schools.
I read your Practical Compiler Construction combined with Elements of computing systems [2] and that was a great combo!
[0] https://www.t3x.org/index.html
[1] https://www.t3x.org/reload/index.html
[2] https://www.nand2tetris.org
There are many reasons beyond just weak character for why someone would not go to college and it's not up to you as an employer to make that judgement call on someone's personality until you've dissected their real reasons for leaving.
This is something that takes a lot of time, way longer than an interview has to offer, so it's best to not make assumptions.
Deleted Comment
Deleted Comment
Did you not drop out? Why?
That's a genuine question I have of any interviewee. What was their thinking behind studying for 3–10 years at universities vs developing themselves through other avenues?
For someone with a master's degree, I'd like to witness their critical thought process. Their problem finding skills. Their ability to research outside their own field. Nothing would be a bigger red flag of mediocrity than someone who has spent several of their best years having gained no more than what mere vocational training would.
I never consider having a degree a "plus." It is only a plus if one has something to show for it.
It acts as a social filter preventing a large number of people from persuing a given profession that they otherwise could do just because their parents couldn't afford to rent a flat to their kid in another city for several years.
I don't think that there is any relation between the type of education that someone has (online vs formal) and a personal characteristic like perseverance.
There could be many people that could not afford formal education, learned online and are still perseverant. The two things are unrelated it just sounds like prejudgement.
Speaking from personal experience, my team has hired college dropouts who have turned out to be some of the best learners and problem solvers we've got. I have also interviewed candidates who seemed to be under the impression that their Ivy League degree entitled them to the position despite having no experience working on "real-life" projects to speak of. Candidates should never be discounted on the basis of not having a college degree. If they've got a strong application, the interviewer should be able to determine the rest of these more qualitative things over the course of a conversation.
On the other hand, if done right, college can be a place where some very intense, sustained personal growth can take place at a level which cannot be rivaled by supplanting it with e.g., taking a series of online courses. Taking advantage of the resources around you (seeking mentorship, research experience, forming study groups with colleagues, doing co-ops, etc.) can help put you far ahead of a person who pursued a self-study route in the same period of time. I agree that it is unfortunate that college is financially unviable for a lot of people who have a lot of potential. However, I don't necessarily agree with the people who allege that college is nothing more than paying for a piece of paper so that you can get a job.
But lots of people do need programmers.
These "is college necessary" posts suffer the same problem as "why are programmers making 200K right out of school" posts. The job title covers everything from hacking out WordPress plugins, to leading a team building an MVP, to building large distributes systems, to designing the software that goes into medical devices and autonomous vehicles.
Some programmers really do need a CS degree with at least a few years of math and a couple years of physics. Sometimes programmers need to know a minimal amount of PHP and JavaScript. The job title captures a huge range of actual jobs.
I'd say that covers the majority of programming jobs. The problem, though, is that the are a vast number of people who can meet that bar and salaries are bound to collapse to reflect that at some point. What happens to them then?
I call BS. I'd be impressed if you could even write metaprogram to answer your own interview questions.
He didn't get the job though.
Deleted Comment
I dropped out of college. There were a number of reasons, but really it just boiled down to the fact that I was not a mature adult at 20 years old. I was enjoying my life and my freedom living alone (arguably too much!). I don't regret any of it. I started learning to code about 3 years later and worked my way into doing it professionally.
At almost 40 now it feels absurd for me to be judged based on my 20 year old self. I know I'm biased here but, if anything I feel like the college you went to and the number of years attended say just as much about your level of privilege and rigidity of your upbringing than it does about your character.
Those contents can be an asset in your professional career and that alone justifies to study.
It's not necessary to study CS to become a programmer or even a good software developer but it can certainly help.
I take graduate degrees seriously, because people tend to take those seriously and focus on the education more than the paper at the end. I don't take 4 year degrees seriously at all. If all you've proven is that you can survive with minimal effort for four years before losing patience then you certainly have more potential than the lowest side of a bell curve, but you haven't proven you bring added value.
There you go. You haven't proven you bring added value.
I've found university to be somewhat of a bad predictor for whether people think for themselves. It is however from my experience a good predictor for following instructions and follow-through (which, as you mentioned, is not unimportant).
If I see somebody with no degree, but experience, he might also have follow-through though, and often more resolve to solve problems themselves.
I had a university education myself, and while I think it's not strictly necessary for programming, it does give you a good overview of related fields (mathematics, algorithms and maybe others) that often come in handy as part of solving a problem more elegantly or efficiently. And self-taught programmers often don't touch on these topics and have a big blind spot there.
I wouldn't hire; work with; or work for somebody who doesn't know how to manage the risk of Type I/II errors in their heuristic.
That signals to me "lazy thinker".
> In statistical hypothesis testing a type I error is the rejection of a true null hypothesis (also known as a "false positive" finding or conclusion), while a type II error is the non-rejection of a false null hypothesis (also known as a "false negative" finding or conclusion). Much of statistical theory revolves around the minimization of one or both of these errors, though the complete elimination of either is treated as a statistical impossibility.
https://en.wikipedia.org/wiki/Type_I_and_type_II_errors
Relax, you have done well. You have a good "why". Now consider someone who doesn't have a good "why" and also doesn't have a college degree to at least prove they can complete something. It's not a perfect indicator, but it's an indicator.
I make top-tier money outside of SV, I get to go to all the cool conferences, company-paid international travel. Most of my vacations all the flights are free thanks to the miles.
I might finish school one day, but it's mostly for the piece of paper and 0% for the knowledge. if WGU had a linux-track I would consider that as the path of least-resistance.
Went to college, did my best until proper graduation. Dug my way into FP and semi advanced topics at the time. No job because I'm not mainstream (and barely insterested by REST and similar).
On the other hand some gigs can accept barely educated juniors, train them for one thing, they get a cute career and raises along the years and by the time they get to my age they're comfy and set (potentially, not every life is bluesky and easy)
There's no clear better path. Even if you consider college academic education, yes we had good classes (DB normal forms, optimizing compilers, computer graphics etc) but we also spent half the time on obviously horrendous 2000s OOP that led the world at the time and will soon be forgotten. So it's not even great on that side too.
So, is going to college and earning a degree the only way to do that? In fact most of the college education is not designed with the idea of inculcating learning as a skill, in fact college may be a bit late for that skill and as a consequence/side-effect earn a degree.
Should we reject someone who still can give you the signals (thinking, persistence) one could be looking for, but hasn't attended or dropped out of college?
There could be more optimal ways to learn to think, and solve problems and being reasonable enough in not giving up. Going to college, incurring debt, doing things where the dead end is a degree is not optimal.
How about "because it is really expensive, and not everyone is provided enough to pay for it, or take out the debt, and there are other ways of learning that stuff".
When person do not has clear target or reevaluate target when already in college, dropping is a kind of damage control
And it is ok to drop when you understand that it is a waste of time or effort
And we assume that college, profs and etc is good, which is not always true
Do you have a PhD, or did you give up? Do you have a high school degree, or did you give up? Do you still work at the first job you ever had, or did you give up?
Highly depends on the college and major. My CS degree had a ton of out of class homework assignments and projects not to mention the need to study to pass the tests preventing you from coasting by. Add onto that the fact that at least 10 of my math and cs classes were bell curved based and Cs are the minimum passing grade so if you try to coast by, you will need to retake a bunch of classes or switch to an easier major as everyone else is working really hard to not be in the bottom (i had to retake 3 classes myself).
Deleted Comment
This statement seems deliberately obtuse.
The barrier to entry for most people to tech jobs isn't whether or not they can get interviews, it's whether or not they can pass the technical assessment that's become a standard part of the process. In other industries, GPA, school rank, highest degree earned are hard pre-reqs to inteviews, even for entry-level jobs. That isn't necessarily the case in tech.
I work in a field that falls under the "data science" umbrella and I take issue with a lot of online courses compared to traditional education because almost all of them overpromise and underdeliver and take advantage of naive students that don't know any better. I can't tell you how many applicants I've interviewed that list dozens of online certifications for this and that skill, but can't demonstrate any knowledge of it when asked or assessed.
Just my $0.02, but online tech courses and degrees are akin to the MBAs of a decade ago: exploitive, expensive, and often entirely unnecessary. I would still hold that a technical computer science degree from a 4-year university is worth it, however, for the benefit of being in a collaborative learning environment with peers (Note: That doesn't mean you have to go to Berkeley - I went to a top 50 state school and got the same education and job opportunities as all of my friends that went to top 10 schools, but I graduated with a positive net worth.)
(Disclaimer: I know there are always exceptions to everything. I have generally heard very good things about GT's courses - Udacity's I'm more skeptical of.)
I would use them for an introduction, but would definitely pick up a well recommended textbook after, or do a medium sized personal project after. Although the Coursera Cryptography class I took was just as good as my University one so I guess it really depends.
Lots of folks who have taken my Flask course[0] said they learned more about web app development in 10 hours of self paced videos than they did in 4 years of university. Lots of them felt like they finished the course really knowing how to build something, and many of them have gotten hired for work shortly after.
But the course doesn't touch algorithms or any theory around computer science. It's just 10 hours of exposure to building a real SAAS app in stages.
I personally believe experience trumps almost everything and courses can be very good for people who consider themselves self guided learners, because you always have the power to research the theory while treating it as something that's on a need to know basis. Taking a course on a specific subject lets you focus your time on the exact thing you're trying to accomplish and some course instructors also provide free support (I do), so you always have an out or 2nd set of eyes to help get an answer for things you can't figure out alone.
I never went to college but I do sometimes regret missing out on the social / networking experience, but I have no regrets about taking a self guided approach to web development for the last 20 years and I'm happy with how things turned out.
[1]: https://buildasaasappwithflask.com/
Motivated real world exposure > real world exposure > motivated self education > traditional education
As someone who mindlessly "self taught" through tutorials, then did half a bootcamp, then did a MSCS-- none of those things were anywhere near as transformational for me as a dev than my first year as a software engineer.
But of course, building AlgoDaily has probably taught me even more than the many years of work at this point, purely because there's been a strong impetus.
The "need to know" basis is huge. I think with a strong enough "need to know", any method works.
Keep up the good work!
i will say that there is an interesting social component on-the-job, especially early on in a (my) career. more than once i had a colleague who would zero in on a gap in theory (almost always algorithms) and talk down to me. in one case i had someone jab their finger at my face and yell (yes...raised, angry voice in a large cube farm environment) "I got my masters from MIT and you dropped out of highschool". The fact that this person was, in the end, completely wrong is immaterial to my point. About a year post-conflict we were (and still are) great and supportive friends.
The issue boils down to a need to "prove yourself" to certain people when you lack an undergrad degree. If you bounce jobs, regardless of reason, the process starts all over again. Someone stepping into most of the environments I've worked in with a fresh BSCi in CS/EE/whatever have not been placed in the same position to justify their existence.
For me, it resulted in a multi-year personal issue of harshly judging engineers with degrees from well-known schools like Stanford, MIT, and so on. I would think to myself "why can't you do this? I dropped out of highschool, learned on my own while working crappy paying jobs as a teenager before getting a shot...mommy didnt send me to a fancy school...i worked my way up from the assembly line to the engineering team" and other such toxic inner monologues. Harsh judgements based on the fact that everyone has a different melange of life experience. Super unhelpful.
As time went on I realized that a papered engineer, especially one who was only a few years out of school couldn't possibly have covered all the things in their coursework...there is enough volume of knowledge it would take decades to learn it all in school...assuming that was all you had to study!
By now I have been around the block so many times that my lack of a degree is less of a barrier, outside of passing the resume-gatekeepers at larger tech orgs. It resulted in my career focus being in the startup-SMB sized orgs. Mostly people seem surprised I didn't go to college, maybe a little amused by the fact they took on a debt load to be sitting next to me.
I hear a lot of "damn, i could have saved so much money". My reply tends to be along the lines of "...yeah...but it took almost 10y for HR to stop trying to low-ball my pay based on my lack of a degree...so i think it may be closer to a draw than either of us realize".
1. They act as a coach: The professor and your peers expect you to attend lectures. The assignment is due by 5pm on Wednesday. If your performance isn't satisfactory you will be dropped from the course.
2. They get better feedback about their teaching. If half the students can't do the assignment on a particular topic, the professor can schedule catch-up lessons. Watching a group of students struggle with a question can give valuable insights about how to teach that topic effectively.
3. They act as a high-quality filter: Only high-quality applicants will be admitted to the university course, while anyone can pay $10 and start doing a Coursera course. The university also offers the opportunity to become part of a valuable alumni network.
(Some online bootcamps like Lambda also have these advantages because they insist on strict online attendance and are willing to drop students who don't put in the effort)
1. Online coaching can be provided through video conferencing or similar. An online course perhaps could have the added benefit of allowing students to experiment with a subject. If they need to be forced into staying on track then they're probably not interested in the subject to begin with. They could also come back to the course at a later time when they're more motivated.
2. Adaptive algorithms can solve this problem and do it in real time.
3. A well crafted examination/certification can do the same for less money. See the accounting industry's certified public accounting exams or the legal industry's BAR exams.
Ultimately though, I see a hybrid system being created. If you want to take the traditional class, you can, for a fee. If you can self-study then you do the online course and only pay a much smaller fee plus any supplemental services you buy. Overall everyone wins.
Only four states allow you to take the BAR exam without going to law school (edit: and good luck getting a good job without the law degree). The CPA exam requires either a Bachelors degree or 120 college credits to be taken.
So, in other words, your examples are in fact showing the exact opposite of what you think they do.
I started college in 2001 as a computer science student and didn’t “finish” for over 10 years because of job (sysadmin for university) and consulting opportunities (travel). I’m glad I finished because it’s behind me and I don’t need to think about it any more. I still have the common nightmare of not knowing where my final exam room is located.
Anyways, I am a big fan of online courses. In early 2000s I had learned and built many PHP sites and started with Rails. There were no classes/courses on PHP or rails!
Fast forward to early 2010s and I find myself watching Stanford’s iOS development courses. I leveraged the knowledge to become a successful mobile app developer consultant.
A few years ago I purchased a handful of online courses on React/Redux. With that knowledge I’ve built a successful Electron JS app available on app stores.
These successes are not because I’m smart. It’s because I have a high tolerance for pain and boredom. When I see a challenge I keep digging at it until it’s solved.
Protip: Watch lectures at 1.5X speed (2X if review). Anything slower and my attention becomes highly distractable.
Software engineering is one of them. The amount of tutorials and videos available on the internet far surpasses any curriculum at school.
But on the other hand, anything that requires hands on training that you can’t get at the comfort of your house, like medical or scientific careers, those you probably need to go to a school for.
Further more, in terms of software engineering, I don’t think the school system can ever keep up with the fast pace of the tech world. It’s just a rigid system and too slow for anything fast changing, like the web/app development.
What I found in my time in both environments is that Nanodegrees appeal more to students who don’t have access to traditional education (college is too expensive, or grad school requires an undergrad degree, etc.). That makes most MOOC students less experienced, less qualified, and higher risk (in the sense that they mostly don’t have the profile of successful college students). Udacity, et. al., then appear to have a very important role to play in satisfying the need for education unencumbered by academic gatekeeping.
But the _other_ constant undertone in the MOOC community is the “get-rich-quick” crowd who expects a Nanodegree to make them a 6-figure AI engineer in three months at 5 hours per week. The dirty secret is that we already have a fast-paced learning environment that can give you a good crash course on the required core skills to make you a useful apprentice: it’s called “college”. It’s arguable that the typical BS could be abbreviated a bit or focus a bit more on “job-ready” skills. But I think the time required for most people to get there is much closer to a 48-month BS than a 4-month Nanodegree.
The other dirty secret is that no one wants to hire you as a junior developer at SV rates if you don’t have experience and need a visa or want to work remotely in your low CoL hometown. Unless you already have strong qualifications, you’re fooling yourself if you think an ND or Udemy course is gonna help you break into Google as a fully remote worker.
A US Bachelor’s is not 48 months, at most 9 months a year is spent officially studying, the rest is holiday. That would be 36 months. If we pretend the average student treats it as seriously as a full time job, ignoring all research on how students spend their time, we can still cut that 36 months in half, because half of the average US Bachelor is general education with no professional impact. That’d be 18 months.
If we want to look at the real world for examples we can see the UK, where most Bachelor’s are three years, with the extensive breaks and holidays you have in the US, but two year, full time, non stop degrees exist, or at Lambda School, which takes nine months to turn people into software engineers. They also demand more and more consistent work than well over 90% of university courses.
I went to college year round as it was the only way to balance my work schedule. I was a minimal full time student during the typical semesters and took classes all summer.
> because half of the average US Bachelor is general education with no professional impact.
I disagree. The general education is probably what everyone should go to college to learn. Reading and writing (communication) is the basis for almost every single job a person may have. It's also a skill that lasts forever. When I was in undergrad I took random business courses for my electives. I still use and have built upon concepts I learned in economics, finance, and accounting.
People that talented and motivated about CS should take computer engineering instead; much fewer general education courses are usually required.
Aside from that, there are two obvious ways to turn the general education requirements to your professional advantage: 1) writing courses, since the average developer can't write or put together a logical worth a damn and a lot of writing is needed as they get more senior and 2) foreign language courses, which open up job opportunities if you take the time to achieve basic proficiency.
For the vast majority of students, online courses are not a good vehicle for learning. Not because online courses are, in themselves, ineffective, but because success in them requires a much higher degree of internal motivation. Without the structure afforded by the traditional classroom experience, a very large number do not engage with the coursework, especially beyond the first week or two. We see a rapid drop off in activity & assignment completion.