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!
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.
Yet, people who need to cover their own living expenses have a far smaller success rate, need to drop out more often or need to pause studies to work.
Programs to cover these living expenses exist, but they are limited, and not everyone who is not eligible for these can easily cover all expenses.
When access to education is considered an actual right, living expenses tend to be included in the conversation (as you just pointed out). Unlike merely incidentally affordable education.
As an unrelated observation, the effect known as Berkson's Paradox would probably trigger along the way which is an interesting and little-discussed factor in this sort of thing. Two factors for getting in to college being wealth/connections and intelligence/ability.
Link for the lazy: https://en.wikipedia.org/wiki/Berkson%27s_paradox
As a counterexample: Dutch universities can’t select for students (for most studies), and annual fees are ~€2k annually (regulated). There will be some bias towards wealthier backgrounds that are more able to invest that money and time, but compared to the US/UK systems I expect it is minimal.
This is not unique, I think systems in the Nordics and Germany similar.
Wealthy students get the best grades since their parents send them to expensive schools designed to maximise this system. They then get into the "best" universities.
What do the Dutch do if there are 10k spots available in a given university and 20k people apply?
Exceptions happen: eg the popularity of CSI lead to a huge boom in people wanting to study forensic sciences. IIRC they were allowed to limit the seats for those studies back in the day.
Similarly, dentistry and doctors have a fixed amount of seats. They have a lottery that is biased based on your high school grades.
Overall I think this system has the better outcomes ‘on average’, but that the true top students are not challenged as much as they would be in a more selective system such as the US/UK
I didn't know that the Dutch had unlimited money. Weird that the portion of the population with degrees (44%) is comparable to the US (46%).
My family could afford neither, and I don’t know what I would do if it weren’t possible to work in my favorite field without a god forsaken degree.
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.
'Common sense ain't so common' is a trite aphorism, but very true.
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
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.
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 don't don't, I've been hearing people make this claim for a decade now. Hasn't happened yet.
Quite the opposite, people keep saying this, yet salaries continue to skyrocket.
Maybe basic programming skills are just really valuable, and when people learn them, they become able to do much more productive work?
Programming salaries are now very bimodal.
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.
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'm not convinced you learn any faster at uni than you do on the job. Uni seems like a good way to get started if you have nothing but if you have the chance to take a job that seems to always be the better option.
It was about stuff like cryptography on a theoretical level and learning some assembler to understand the basics on a lower hardware level.
That's just two examples of things I'd maybe never have learned just by working at the company.
I didn't say it's faster but then I'm not a big fan of things that move too fast - as neuroscientists know learning works with restructuring the brain and that needs some time.
And I'm happy I didn't start this journey with university because then I might have quit. I learned to program before in a funny way just like you learn how to play with any toy. Think that might have helped to start studying and for me it was a good combination I think.
In the end it's your choice and you'll find your way - I can just say how my path looked like and what was good about studying for me - it doesn't have to be the same for you of course.
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.
Doing research is by all accounts difficult and draining to a ridiculous degree but if you did well in undergraduate coursework graduate coursework is more of the same.
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.
I usually start with the question: 'What data would convince me that I am wrong?' If I can't answer that for myself - I know I have a problem.
[1] https://en.wikipedia.org/wiki/Receiver_operating_characteris...
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?
I found the material and tests straightforward but you absolutely needed to put in significant time to complete the assignments.
I'd already been working for years as a programmer before I went back as well.
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).
This statement seems deliberately obtuse.
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.