The author's comment on access to a mediocre/unknown university instructor for a high fee vs free access to a very good set of lectures (Khan) is one of the doubts that led me to quit my job as a college instructor. I had kind of the existential "what are we doing here?" question -- why are students coming here and paying us money when better instruction is available for free online? Combined with a couple of education futurists predicting the imminent demise of in-person college (to be replaced by canned lectures from the best speakers and an army of automated or mechanical-turk graders), I decided to be first out rather than forced out and quit. That was five years ago and the landscape hasn't changed much.
The school I taught at, a community college issued associate's degrees in computer programming, is still going strong largely as it was back then. I still don't have an answer to my question, though: why are students paying for that?
There's a big difference between having an instructor and learning things from a book or video lectures. An instructor can correct your mistakes and give you feedback. A book or a video can't do that.
Some people presumably don't have a right kind of discipline to study on their own. This is why remote study programs can be a lot more difficult to complete vs. on-site programs.
EDIT: There's a known effect, discussed in the Coursera "Learning How to Learn" course, where you read through the material/watch a video and think that you've actually mastered or learnt it while in fact you have not. If you're aware of this and test your knowledge you can fix that but it's another reason why a structured program with an instructor can have an advantage...
Some people presumably don't have a right kind of discipline to study on their own. This is why remote study programs can be a lot more difficult to complete vs. on-site programs.
I needed the structure and social interaction of the college environment. But oddly enough, it depended on what discipline I was studying. I would not have been able to learn math and physics on my own, and those were my majors. On the other hand, I easily taught myself programming and electronics.
A friend whose daughter got an online degree (while at home with a baby, living in a small rural town with no other options) said that the hardest thing about studying online was the sheer boredom of sitting at a computer all day with no one to interact with.
A particular advantage of going to college for me, was that I learned how to teach by observing my professors in a variety of settings, and imitating their methods. Today, a lot of my work is surprisingly similar to teaching: Presenting ideas to people who are not experts, mentoring younger colleagues, etc.
Programming and electronics have clearer outcomes and feedback mechanisms than physics and math. Unless you have a lab setup, you can't test out your physics knowledge to the same degree you can electronics and programming. Math is similar. You can try to recreate proofs of various things to demonstrate a capacity for proving or an understanding of the underlying system in which you're constructing proofs, but ultimately you're not creating anything novel for quite a while.
With programming and electronics, self-study offers the opportunity to make things, both novel and derivative, and immediately (or near enough) see whether or not the function. Similar to setting up an experiment in a physics lab, but again, who has a home physics lab? Programming can be done on a cheap (< $200) laptop. A large portion of electronics can be accessible with a similar investment in (mostly reusable) parts.
One other possible difference is that, at least for a time, the subject matter itself was getting easier to learn. For instance the inventors of programming languages have tried to figure out what makes a language good for teaching. (I studied Pascal, which originated as a teaching language).
For electronic components, "easy to learn" meant things like designing op amps and logic chips that behaved more like their textbook symbolic representations without weird tricks and pitfalls.
In contrast, you can't change electromagnetics just because you want something that's easier to learn. Nature won't approve. Progress has been made towards explaining it better, for instance, today's notation is simpler than what Maxwell had to grapple with. But such progress comes slowly.
My undergrad and grad were in liberal arts. After earning my PhD I took an mpa online as I was bored and able to pay for it out of pocket easily enough. One of the things the stood out for me at least is that I really missed just browsing the rare book collections and all the various microfilms and archives the library the university had. The digital pdf articles weren't really anything special. I probably learned more from the stacks than I did even while working on my dissertation. Actually my one professor one time brought me to the archives and taught me in detail all the numerous odd tricks in researching old paper documents. This has been an important lesson as I research a lot of older non-digitalized archives on personal time for side projects.
In hindsight, I have this conflict of views sort of. If automation goes the ways in which some fear, then physical institutions will provide a place for people to go instead of rioting out in the streets. To build on Salman Khan's thoughts about online education becoming the Aristotle/Plato model while the physical area acts as a place to build projects and so forth.. this could be one way to go [0]. At the same time, I've read a number of books about the atmosphere of campuses pre-1960s. Personally I feel we protest too much these days. So perhaps a focus on online campuses while limiting fewer people to the physical campuses can allow for the protests to die down and perhaps a return to the pre-1960s era. That said, I have my doubt that people are just going to be content sitting at home in mass learning.. so perhaps Salman Khan's ideal will be what emerges. Then again, it would also be ideal that we don't throw out the old way completely. It would be ideal with some smaller liberal arts colleges could be dead set in their ways in just teaching old liberal arts. Ideally without the computer so to encourage actually reading texts in whole and producing critical thinking. This would be the elite probably due to the cost of that education.
My bias yields to the hope that the majority of all jobs are destroyed by automation and that people having nothing else to do but to get phd's in the subject that they are interested in. Perhaps though the access of education will depend on the level of talent and knowledge; for the masses a khan/coursera style approach, for the mid-level an approach that is a hybrid of khan as Plato model and physical interaction for project development. The upper end, the elite would be in person primarily, small classes in cohesive campuses with lack of protests that disturb the open learning environment; of course moocs would be available to these students but the primary purpose would be more old form to develop better critical thinking skills. The moocs, even if PhD programs are developed will suffer the hive mind problems as one can see in say many social media platforms (reddit, facebook, twitter etc).
Problem is that in many of the top CS universities today the lecturer is just a top researcher who's forced to read off of slides for a couple of hours a week and doesn't have the time, desire, the skills or the incentives to be a great pedagogue to the hundred or more students sitting at his/her lecture.
In many universities it does feel like you're basically paying for a very expensive real-life recording of something you could have just watched online. Sure, there are TA office hours, but is waiting in line to talk to a TA for 10 minutes a week worth tens of thousands a year?
IMO we should focus on teaching meta skills as soon as possible, teach people HOW to learn, and then let them be auto-didacts with opportunities to practice their craft and be surrounded by other people struggling to be great at the same skill.
This is obviously not talking about high stakes professions such as surgery, where perhaps the traditional approach is the best we can do until computers can vet our skills.
I studied computer/electrical engineering at my institution. A year or two after I graduated, the CS department lost their accreditation. I wasn't surprised when I heard the news. Of the CS classes I was required to take, one was ostensibly on operating systems. It was taught in C, the grad student lecturer only knew Java. Another instance, we were studying MIPS architecture. The professor was moonlighting in a start up that was going under, and couldn't be bother to show up to lecture, and the TAs he sent were clueless. The EE/CPE students that had already studied this stepped up & taught the class because the TA was inept and the prof never showed. I was super pissed when I got a D on my project on a minor technicality, despite having basically taught the class in the absence of the prof and a competent TA.
What institution was this if you don't mind me asking? I can't say that I much enjoyed the CS courses I had to take as part of the computer engineering program myself, as it was mostly taught from power point and definitely the material in lecture was mostly useless for projects and such. MIPS architecture, though, was really fun and the instructor was great but kind of a jerk at times.
If the dropout rate is 87% with 100,000 enrollees, but if a university is 90% with 5,000 enrollees, the Open University still wins. And then you take into account the number of people who enroll for OU who enrolled because of the lower barrier to entry vs their level of commitment.
As an OU graduate (late 90s), my first thought was that a lot of people just try the OU, others just like to take some classes without sticking to a program and with no intention of getting a degree...
> the cost for an equivalent course for a resident of England is £2,786
The OU used to be about giving a chance to education to everybody. This is sad...
To be fair OU courses are eligible for student loans in the same way going to university is, but the price tag certainly put me off when I was looking into doing some courses recently.
I completed an OU Maths degree three years ago (at 49), I'm not surprised the rate is high, there were a lot of people who started it without any idea of how much or what sort of work was entailed, I remember one student in the first tutorial asked if we would be learning Excel.
It does sadden me to see them struggling with the new fees, I'm not sure I would have done it at the current rates. I certainly wouldn't have taken a loan for it.
If that dropout rate is the fraction of people who take at least one OU course but don't get an OU degree, it seems kinda misleading; some people may take OU courses with no intention of getting a degree.
(I followed the THES link but didn't find anything about the OU dropout rate at the other end of it.)
> There's a big difference between having an instructor and learning things from a book or video lectures.
Absolutely. Anders Ericcson makes this point very clear in his research and also the book "Peak"
In order to become an expert, you need feedback from other experts. I used to think "well who broke through the field first? who became the first expert?" and to that I say that is how human knowledge works. It's built on top of one another, whether we think about it consciously when trying to learn a new concept in a new field, or we are using it subconsciously in the form of an abstraction.
As an anecdote, my first "real" job after getting my CS degree out of college, I worked at a place for about 2 years. In 1 and a half of those years, I felt like I was barely getting by, not meeting my knowledge goals. Then we decided to get crazy, and try this agile and pair programming thing. I worked under one of the most productive developers we had there at the time for 3 months. 5 years later, I still contest, I learned more in that short 3 months under his guidance than I have in my whole career on my own. I have been searching for that experience again ever since.
When I was in school, I struggled heavily with certain concepts. I had one really smart math teacher who couldn't have cared less for average math students (e.g. me), and another math teacher who was not that knowledgeable with math. So after struggling for years, I stopped advancing in that direction. Keep in mind this was a long time ago, pre-YouTube.
But now? I can take an online course taught by people who actually know how to teach. And if I don't understand something, I can rewind and play the lecture over again. Or I can take it a slower pace. Or most importantly, I can go on YouTube and find other teachers who explain a concept differently. It is highly improbable that any single teacher can explain everything perfectly to everyone so it's quite amazing that one can basically go on YouTube for alternative explanations that make more sense to them.
In fact, if you look at highly rated videos on say, math concepts, you'll find plenty of students who leave comments like, "Wow, you explained this better than my teacher did" or "I wish you were my teacher." Students MAY have the capacity for concepts, but the teachers could also be poor at teaching. How many students actively blame themselves for being 'too stupid' or 'bored' and instead give up because they don't feel empowered by their paid teacher to overcome the knowledge gap?
No doubt there's clear advantages in having an innovator or brilliant person guide you in your studies. And certainly if one were to do a Masters or PhD, having an advisor is essential and invaluable. That said, for a lot undergrads / students, I would be surprised if the majority of them had a strong relationship with their professors/teacher.
I believe that online courses and college should exist out there in the world, as there are advantages to both. But I think because the feedback portion of it so dependent on the quality of the teacher, that it's not a guaranteed advantage.
I agree. The physical interaction between a teacher and a student is irreplaceable by MOOCs. There's all of these externalities -- instant feedback, relations with peer and faculty, pressure to keep up with the course. That being said, the cost of a college education is too high right now and attending college is not right for everyone.
> There's a known effect, discussed in the Coursera "Learning How to Learn" course, where you read through the material/watch a video and think that you've actually mastered or learnt it while in fact you have not.
This explains a lot of people I've worked it. "Oh I read a tutorial/watched YouTube videos of it, let me do it".
I've found the illusion of understanding particularly pernicious where coding is concerned. As I learn, I read tutorials and do little exercises and think I understand. But then I have an idea for something practical, sit down to code it, and realise I haven't a clue.
I've learned that I can't say I understand something unless I can explain it to someone else and apply it to solve a practical problem.
Having someone to talk to on a regular basis is kind of the idea behind teaching assistants, at least for many types of work. There is definitely room to innovate between paying the cost of a full blown degree and 100% self study. Effective or not, I think dev bootcamps became popular for this reason.
I attended Tealeaf Academy, now LaunchSchool, to kick-start my own self learning, and I thought it was an excellent investment. Their model is (or at least was) to provide a structured program, with email & chat support, and a few hours per week of live interaction. I also liked how they framed learning as the entry point to a path which required a lot of learning, and not a "be an employed developer in 90 days." It worked well for me.
> Some people presumably don't have a right kind of discipline to study on their own.
Won't these people just "drop out" early on in their careers anyway? Someone that can't do any self directed study will not last long in almost any IT role.
I can't comment on this specific MOOC but I've done MOOCs where there were a lot of quizzes, active forums, extra-curricular activities, and involvement from the course staff (E.g. Dan Ariely's on Coursera). Those are certainly better than just reading a book or watching a video. I think there was still a very high dropout rate. Having any sort of online community certainly helps as well.
I've learnt to play the guitar online. I did a couple of music related MOOCs. I use YouTube resources like JustinGuitar and Lick'n'Riff. But I still felt like I needed a real teacher and went and got one. Even though this teacher is probably not at the same level of some of the YouTube "gods" :) I still got a lot out of that.
In general, I've found the forums on MOOCs pretty useless other than for dealing with specific technical issues with the course itself. They just don't scale well and there's a huge disparity in the level of the participants a lot of the time. In programming courses, you've got some people asking about some nuance of an algorithm while others aren't sure how to install a text editor. Any course built around having meaningful discussions in the forums has been a tire fire in my experience.
Automated code checkers are definitely useful but, other than that, I'm not sure I've found MOOCs much different from watching YouTube videos. Nothing wrong with that--especially with top-flight lecturers--but they're hardly revolutionary. Videos of lectures have pretty much been a solved problem since VCRs went mainstream.
Honestly, at this point I found reddit a much nicer place to go then stackoverflow for technical questions.
SO users demand that your question be "correct". Note, I didn't mean that it should be clear what your problem is, it's just that if you ask a "noob question", for an explanation, or if five people think it can't be done, you'll get down voted and closed in a second.
It's sad because other (smaller) SE sites are quite nice.
This is incorrect. SO is polluted with "noob" questions and answers, which is why SO is so useless. Google and now even MSDN search results are also polluted with SO hits which are mostly just noise. If anything SO needs more strict moderation.
I completely disagree. I'm an experienced dev from C++ learning Android/Java dev. Literally 90% of what I need is on SO (the rest usually from mkyong), thanks to google some of the answers even bubble up to the search page so I dont even have to click on them. I would be much worse off without SO.
That says more about you as a developer than SO. In just about any SO answer I find numerous things that are either wrong or bad advice. The difference between me and a lot of SO users, especially novices, is that they don't know a good answer from a bad one.
A lot of people on SO seem to be answering just for points, half the time, or more, they don't actually know what they are talking about all or have experience with what they are explaining; they have often literally just "researched" the question and now they condense a couple of sources into an answer. Without having a proper understanding of the subject.
SO is bad for the whole industry. And there is not much that is worse than a "developer" copying an answer off SO and putting it into a production code base, without even understanding the answer they just copied.
Not going to argue the general case, but for Android in particular the documentation is also full of bad advice and half-explanations. Plus it's not uncommon to hit a long-outstanding SDK bug. SO is great for Android development to fill in those gaps, provided you can sort wheat from chaff.
Because the majority of people in this world, are not the type to proactively self learn things on their own. They require structure, teachers, and environments to force them into learning, and then being told what to do.
Hacker News is a very small slice of proactive individuals, who are what I would consider the exact opposite. A lot of us are constantly trying new things, building new applications, doing whatever to progress. Most of the people that fall into this category, were probably ALREADY programmers, and went to school just to have the special piece of paper. But would do very well without it regardless.
While everyone else is completely content, with going to an office, being told what to do, doing it, coming home, and not doing anything related to computers / software until 830am the next morning. These people went to school to learn to be programmers, so they could get a job, and get paid. That's it.
It's a completely different mentality, and that is why formal education exists. It's the difference between a job, and a passion.
I don't learn very well sitting in a class, and listening to someone yap. I prefer jumping into something, and learning as I go. One project, building upon another.
The actual education part of a university is really a small part of what students leave with. What you're really getting is a network of professors (with ties to employers) and other students that become your friends. Once everyone leaves the university you now have a large network of people that can vouch for your technical knowledge and personality.
What you don't get with an online education is the proximity to other students and professors that facilitate strong relationships.
Well I feel cheated, as an introvert that never stayed in touch with anyone from college and who went into a wildly divergent field from my major. I didn't experience either of the major benefits you're touting; the education was everything. I still think it was worth it, but I absolutely think it could have been done better and cheaper online.
I also didn't get any networking opportunities through professors, and not a lot through friends. I think my undergrad degree was worth it just as a signal to employers, but I would gladly trade back my graduate education and the right to say I ever attended in return for cancelling all the student loans I (stupidly) took out to fund it.
The value of networking in undergrad is grossly overstated. Sure, you make friends, but you don't need college for that. And the overwhelming majority of friends I made in college haven't kept in touch with their professors. In fact, outside of one guy who graduated at the top of his class, I doubt said professors would even remember them.
Respectfully, I will disagree (and I was never a frat member). Most of my post college jobs (in terms of years served) have resulted from recommendations from class mates . I started grad work, but never finished, but it has never mattered for me.
The error you make in your reasoning is that all learning is equivalent for all students. This is clearly not the case given the various surveys of the effectiveness of MOOCs, Universities, and 'trade' schools.
I think it is great that the author was able to make this work for their learning style and their goals. Some people require the 'deadline' aspects of turning in assignments getting graded. Others learn best by exploring a topic and experimenting with it to test its limits and to test their understanding. Still more learn best by working with an expert and watching their work and asking questions to understand their process.
None of these are 'best' or 'worst' or even moderately comparable. It can help a person to be more successful if they can identify what environment is most effective for them to learn something and then optimizing around creating that environment.
So to answer your question, the teacher/lecture/lab/homework environment works well for some learners. They can readily exchange money for additional knowledge which they can then turn into more money by applying it to a job.
Because it's a LOT better than online courses are at the moment. I've used Coursera/iTunes U/Udemy etc. a lot since they came out and only ever finished a couple of things. Motivation is a big issue. Also very little of the knowledge I gained through it has stuck because it is not very engaging. I recently started University (mature student) and the things I'm learning stick much easier as you are constantly forced to pair with people to debate problems and work as teams to answer questions. This repetition and group debate is invaluable. Despite participating on the forums when doing online courses they don't come close. Previously, as a self-taught programmer I couldn't see the value in 90% of university courses and thought they were going to start struggling thanks to MOOC's. Now, as a student, I can see that they do offer quite a lot of value (by value I mean increasing my knowledge, not salary after degree). They are certainly very inefficient, but I would certainly consider my program value for money (although I am a student in the UK so fees are lower than a lot of places).
It sounds like my experience with school is similar to yours - I also felt that being self-taught it was helpful to have a program of courses, to round out deficiencies in my own knowledge.
Among the things you can get for free online, I think conference talks can be a better value for the time than some of the online classes. They are more self-contained, so you don't have to worry about finishing an entire course, and generally more focused on real-world use cases.
I've also found that browsing at random, and watching things that sound interesting works well for increasing what I remember. I'm currently building a search engine around this idea-
>Combined with a couple of education futurists predicting the imminent demise of in-person college (to be replaced by canned lectures from the best speakers and an army of automated or mechanical-turk graders), I decided to be first out rather than forced out and quit.
How do you get students in fields without easy lab set ups to get lab experience?
CompSci/Software? We can build entire networks with a single script that were managed by dozens of people 10-20 years ago. We have millions of programs and scripts available to us freely through public code hosting providers.
Structure Engineering and Architecture could conceivably simulate a lot of things.
Chemistry? Doing this at home without people qualified for safety is a recipe for disaster. Same for microbiology, medicine, nursing, and psychiatry. Also for many trade skills. You can study a lot, but the practical, hands-on knowledge is essential because it is muscle memory or social practice too.
Colleges could become hubs of hands-on and bespoke learning and trip-taking lectures while the classroom material and tests are sourced elsewhere. I would be completely fine with that evolution because you are right -- there's certain reasons I go into work, but it's not because I can only do my work at my workplace.
People are still paying because the sheep-skin still opens doors that Kahn doesn't. Until that reality (or perception) changes its still the way to go. Note that the author had a degree (and a fairly prestigious one at that), it just happened not to be a CS degree.
Ultimately its for a piece of paper that opens doors. It may not be a job, it could be a visa. That being said, after my incomplete stint at college I came away entirely unimpressed. The model for teaching medicine (for example) is completely unsuitable for CS - yet that is how it is done. Tertiary CS could really use a renaissance.
I have been teaching a free live code bootcamp on YouTube over the past couple of days (https://lambdaschool.com/mini-bootcamp). I've noticed a couple things:
1. People get stuck. A lot. Especially in the beginning.
Perhaps the biggest difficulty of learning on your own is the "I'm stuck" problem. I learned by hassling people in IRC, but man they were saints and I feel bad for constantly bothering them with my stupid questions. We use Slack to connect the students, and it's a constant flow of people getting stuck and getting help (about 4,000 people in there now).
2. Credentials and requirements have been drilled into students' mind far past a rational level.
I probably get asked 20x/day if we offer a certificate for graduates. I eventually started saying "yes" because so many people would be shaken up if I said "no." I can create a certificate and put your name on it, sure. It's not worth anything, but it's almost a compulsive need people have now.
Along those lines I probably get asked 20x a day if something is "required." I don't understand the mentality of joining a free code bootcamp and asking if something is required, but maybe that's just me.
3. Material isn't the hard part anymore.
I'm sure there are better teachers than us out there, but I'm convinced the number of people who can learn that way are a small fraction of the population. Most people aren't motivated and/or disciplined enough to go through that on their own.
I personally dropped out of college, but if I think back to my Shakespeare class, for example, would I have worked that hard if I were self-educating? Even though I think a lot of the assignments were relatively worthless, there is something about the forcing function of deadlines, social pressure, and working at the same time as peers that really does a lot for human psychology. I can't imagine the other students in any of my classes working that hard to learn anything on their own.
I look at the completion rates of MOOCs and other online programs, and it's tiny. Sure, you might say, some people are just sampling, but I would guess than this doesn't tell the whole story. There's something that's missing from the "here's a book teach yourself" method for most people.
My personal thesis for a high-quality, low-cost education for the masses includes material, but material isn't the point. The point is incentivizing people to do things they normally wouldn't do by "forcing" them to do so somehow.
As for your second point, I don't fully agree with that one.
I think that credentials and requirements are indeed wanted by many students, but not by all of them. If you already have a degree from a university, and you take some MOOCs for fun, why would you bother with it?
In my case, I have my degree in compsci, but later realised I do have an interest in philosophy as well. Due to working I could not go study the full-time course, but my uni offered me to study philo at my own pace (each semester, just take courses a,b, whatever). Without having a degree at the end of this.
To conclude, I believe some students do MOOCs purely out of interest, and don't attach as much value to the certificate because of that.
I don't disagree that some do MOOCs purely out of interest. But I'm shocked by the number that do really want some kind of certification, even when that certification is worthless. I've had people with a Ph.D asking if they'll get a certificate for completing a free four-day bootcamp.
I agree with all your points. I can't help but wonder though: is it a GOOD idea to force people to do something that ultimately helps them, instead of letting them filter out? That is, is it better for society to have two layers, successful self-made people and unsuccessful people who were incapable of improving without being forced? Or is it better to force the second type to learn something, at the expense of this degree inflation?
I haven't decided for myself, and in fact am struggling with this as the parent of two under-achieving daughters :)
Allow me to play Freud here for a moment. Perhaps that question more points to anxieties about not knowing 100% of the material (which, I think we can both agree is ok. nobody retains 100%. But the student may not realize that).
So maybe they ask that question seeking approval, hoping to hear "No, thats an advanced concept for advanced students wanting to learn {special advanced concept}". Obviously thats not the case, but I could see a student asking that to soothe their worries that they understand other things, but not the difficult concept.
> why are students coming here and paying us money when better instruction is available for free online
I'm paying for it.
Cause I can get government assisted loans and go full time.
Also I get classmates that I can study together.
The environment of school, at least to me, enable to me to study and concentrate instead at home distracted.
Also I network with tons of people and all but one of my professors is my friend now. I have connection, hook up, network, etc... In fact I getting an internship through one of them working with the gov.
I could study online and continue as a programmer. But I rather go full time.
Also paying for a university via online degree I feel cheated. I want to see my professor face to face during office hours and ask for help and such.
I can think of a few reasons. First, because personalized instruction and discussion makes a big difference in actually gaining real understanding. Second, because most people won't push themselves as hard on their own. Third, because having someone with personal knowledge of you and your capabilities means something, especially with online things when cheating is trivial.
A college degree, in my opinion, has little to do with the degree or the technical material you learn.
the value of attending college and completing a four-year degree at an accredited university comes from the environment you're ingrained in for that time. The people you meet, the conversations you have and experiences you expose yourself supersedes the raw material in the curriculum.
Don't get me wrong, the stuff in the textbox are important but I think you get your real value from the experiences and the relationships you make with your peers and instructors.
Is it worth going into debt? I'm not sure, I'm Canadian and was able to get a CS degree for 50K (Not that crippling of a debt). For me, it was worth the time and money.
the value of attending college and completing a four-year degree at an accredited university comes from the environment you're ingrained in for that time. The people you meet, the conversations you have and experiences you expose yourself supersedes the raw material in the curriculum.
Don't get me wrong, the stuff in the textbox are important but I think you get your real value from the experiences and the relationships you make with your peers and instructors.
This is an extremely romanticised view of university, IMO. Maybe you went to a particularly good one.
I studied computer science. My experience was nothing like that at all. The vast majority of the people I met had no real interest or passion about the subject. They took no interest in anything outside of the course work, and certainly weren't up for any interesting discussions about our field. The motivations seemed to be purely financial - jump through these hoops and get a job.
Not that there's anything wrong with that, but I just hope people considering attending university consider that their experience may match mine. You may walk into a lecture full of shy people, who have divided themselves along ethnic lines, who are not interested in the subject, or stimulating discussion, or being friends, or anything outside their grades. The lecturer will pick up on it and be appropriately unmotivated.
YMMV, but for me it was literally just getting a piece of paper that stopped recruiters and HR deleting my CV. I learned far more chatting in IRC than I did in my courses. I'm 3 years out from university and no longer speak to anyone I met there.
When I was in college, CS was not in demand as much as it is now. It was shortly after the 2001 bust and the whole industry had become 'toxic'. I guess given the circumstances of the time, it attracted people who were more interested in the subject matter than getting a job.
I had a great experience and the people I met really helped me with my success after college.
This is where most CS departments are heading because "if you study CS you'll get a job!!!!". My experience was similar, though I at least made some friends.
A college degree signals to an employer that "this person can finish something". That's why the worst thing you can ever do is put on your resume "Some college". That signals "this person cannot finish something". It doesn't matter what the reason is, just don't put it on. I have to interview a lot of people and I look for qualities that signal the person has the type of personality that can work on a problem, even an extremely boring one, until it is _done_. It doesn't necessarily have to be a degree, but that is an easy signal. A PhD is even better. That person worked on something for very long and had the discipline to write it up. That speaks volumes for someone's work ethic.
I'm not saying this is the best or only way, you will get outliers. If you are a betting man, this is a very good strategy and you will be right more than wrong.
An alternative way of judging a degree (I'm not just playing Devil's advocate, this is what I believe) is that people who finished college - or worse, have a PhD - are people who do well in artificial, hierarchical environments, where prestige is overwhelmingly more important than knowledge or "getting things done". (You can see a similar mentality with government employees, for example.)
A good exemplification of this is in the Big Bang Theory show, where "Dr." Sheldon is obviously superior to any non-doctor around, no matter how badly adjusted he actually is in the real world. The fact that a lot of people believe that Sheldon is a good model to follow is seriously baffling to me.
Yeah that's definitely a possibility. I personally know a guy who took 8 year to finish his Masters degree. It wasn't especially difficult, he's just overly pedantic and perfectionist. But I'd probably ask someone why they took so long to complete.
Actually come to think of it that type of person you describe is perfect for a corporate environment. They want someone that can follow process, not rock the boat, and eventually get something done. Perfect for government too.
I spent 5 years teaching English as a foreign language in a Japanese high school. In Japan, the school system is keen to hire foreigners who are fluent in English because they recognise that their students lack fluency. They think the problem lies in the instructor.
However, the teachers at the school I taught in were almost all very accomplished English speakers. Yes, they had an accent. Yes, they made mistakes. But they were all fluent and proficient to a very high level.
One of the things I asked the teachers was, "How did you get to be fluent in English?" As I expected, not one replied that they became fluent at school. Then I asked, "Where did you learn most of your English?" Again, not one replied that they learned most of their English at school.
In reality, it is impossible to learn English in a classroom. The subject is too big. There are about 1500 common grammar rules in the language, so it is common to ask the students to memorise that grammar. It's achievable in 3-5 years. But you won't get fluency. Neither will you get proficiency with the 20,000 word families that you need to achieve adult level proficiency. In the end you get students who can tell you what a subjunctive clause is (well, they can tell you in Japanese, anyway), but who can't order a drink at MacDonald's.
This is not really a failure of the system because while we can teach fluency, you still won't get students who are proficient to any degree at the end of 3-5 years of classroom study. There just aren't enough hours. The students do not have enough desire or even need to learn the language. Only those who study independently will learn English.... and they would have learned English anyway.
Or would they? At the end of my tenure, I decided to change tracks. Luckily I was given free reign at my school. Instead of teaching English, per se, I taught my students how to learn English on their own. For a 50 minute class I kept my instruction time down to 5 minutes (which was hellishly difficult, I can tell you). The rest of the class was a series of explorations in things like, "If I don't know, how can I find out?", "How do I read a book to get information out of it?", "How do a read a book for pleasure?", "How do I watch TV and understand what's going on?", "How can I improve my pronunciation without paying someone to train me?", etc, etc.
My hope was not that my students could speak English at the end of the class. That was impossible. My hope was that my students would feel, "I can learn English if I want to. I know how to do it." It's now about 5 years since I left teaching and many of my students can speak English very well. Several of them got jobs where speaking English was the key component of their job. I like to think that my classes helped them out, but of course the reality is that the thousands of hours they put in after my course is what taught them English. I hope I was able to nudge them into a place where those thousands of hours were possible for them.
Or would they? At the end of my tenure, I decided to change tracks. Luckily I was given free reign at my school. Instead of teaching English, per se, I taught my students how to learn English on their own. For a 50 minute class I kept my instruction time down to 5 minutes (which was hellishly difficult, I can tell you). The rest of the class was a series of explorations in things like, "If I don't know, how can I find out?", "How do I read a book to get information out of it?", "How do a read a book for pleasure?", "How do I watch TV and understand what's going on?", "How can I improve my pronunciation without paying someone to train me?", etc, etc.
This is really interesting to me. I haven't been an ESL teacher before, but I am trying my hand at being one unofficially one for someone close to me who is trying to reach fluency, but has plateaued at an upper intermediate level. These are all things I am trying to encourage myself, but I have no real idea how.
Is there anything out there on the internet about this, or do you have any pointers?
I was actually writing a text book on this material. Some people asked me for a copy and when I went to look at it... it seems that I lost it somewhere between machines (you'd think 20 odd years as a programmer would encourage me to make backups... :-P).
But very, very basic pointers: Free reading is actually the key. Read whatever you like. Read every day without exception. If the person is learning English, you're in luck because there are thousands and thousands of graded readers. Those are a great place to start.
Research has shown that you need to understand 95% of material before you can learn from context. This is massively important to understand. The advice of "If you don't understand it, skip over it and eventually you will understand" is well meaning, but is especially bad advice for learning a language which does not share a root as your native language. It can work well if you are learning French from English, for instance because the average English speaker knows something like 10,000 French loan words and can generally figure out what things mean from context. If you are going from Chinese to English, for example, you do not have that advantage.
When reading something above your level, scan the text for words that you don't understand. When you get to about 20, enter them into a spaced repetition program like Anki. Memorise them. Then re-read the text. The next day, re-read the text and get 20 new words. The next day, re-read both and get 20 new words. Keep doing this until the text at the beginning is as easy to read as your native language. Then start skipping that part. Every once in a while go back and read earlier chapters, etc.
Once you have read one book all the way through, find another book by the same author. They tend to use the same vocabulary and expressions from one book to another. You will almost certainly be able to read this book for pleasure without the need to look anything up. Switch to a different author for studying, but keep up the pleasure reading. Bootstrapping yourself to the point where you can read for pleasure is really important because it allows you to "study" without undue effort. For some reason, allowing your brain to relax is important for assimilating the information (at least in my experience). All work and no play makes for a person who is not fluent in the language.
As soon as possible, stop using dictionaries that translate from one language to the other. Instead, find a children's dictionary in your target language. Use that in Anki (yes, it's a royal PITA to enter definitions like that in Anki ;-) ). Also, if you wish to learn grammar, purchase a grammar text book for children in the target language and learn it exactly the way school children learn grammar.
For watching TV, keep a pad of paper next to you at all times. Whenever you hear a word you don't know, write it down (as best you can). Look up the words later. Start with children's shows. Watch them exactly like a 3 year old watches TV: "How on earth can you watch that same cartoon 500 times in a row?!?" In the same way as the book, as soon as one episode is as easy to watch as it would be in your native language, you will be able to watch the entire series for pleasure.
If you are very low level and you can't understand anything, use subtitles in your own language and watch for understanding. Once you've watched it a few times and have basically memorised it, watch it again with subtitles in the target language. This makes it easier to pick out phrases to study. Keep going like this.
Of course, it's easy to get bored with this stuff, so feel free to give up on a book/series for a while, or do something else. There really is an infinite amount of stuff to read/watch -- especially in English.
I won't really talk about how to read something to get information. This is really just scanning, but it's kind of an involved topic. I actually taught my students this so that they could game the university entrance exams. However, the main thing here is to get very, very good at question forms. Be able to convert between a question and and answer and back again. Then once you have a question, you should be able to locate the text that answers that question.
In a sibling message I described how to improve pronunciation.
I hope those things will help. One more thing you can do to really help your friend is to invite them to join you in as many normal events as possible. Take them out to the bar. Take them out to picnics. Especially when you have a group of friends going out, bring them along. For a long time they are likely to sit there in a corner and not say anything. It's important to tell them that this is completely OK. It's practically impossible to insert yourself into the conversation at first. Eventually it will happen though. Tell your other friends not to worry about whether the language learning friend is having a good time. Just keep including them on everything. This will help more than anything else you can do.
I have a friend who married a Chinese girl and now lives in China. He's worked off-and-on as an English tutor. He says he found the most effective approach wasn't to stick to some curriculum - the kids get that in their English class at school - but to talk with them in English about subjects that they were motivated and enjoyed to discuss. The topics he generally chose were aspects of English culture such as music lyrics, TV shows, films, jokes, engaging stories about figures from British history. That struck me as genius - make learning the language the road you travel on to a destination that's worth going to in it's own right. It also gives them natural topics they can use when talking to native speakers.
Yeah, it's crazy. Language classes are probably the most universally hated in any high school. But if you tell the students, "Come in to the class room and we'll talk about anything you want all class" it can be a different experience. The biggest thing is that students get frustrated when they can't express themselves or if they can't understand. The key is to ensure that all the students understand 100% of what you are saying all the time. This is quite tricky to achieve, but not impossible.
> How can I improve my pronunciation without paying someone to train me?
Find a youtube channel or something else with many, many hours of someone talking in an accent you find pleasant. I use librivox audiobooks for German (free, in many languages). Try and imitate them in sentence sized chunks. This is slow and boring. Listen. Pause. Try and imitate them .
This will work but it's pretty boring. More effective, faster and much more boring is the short text approach. Take a short text and just say it over and over again trying to improve your accent. Listen to the original. Say it yourself. You can read it until you have it memorised, no problem. Record yourself. Compare the original and your latest try. If you keep trying you'll improve very fast.
1) Find some songs in the target language and get the lyrics. Sing along with the music. Have the music coming in on earphones. Once you think you're good at it, record yourself at the same time. Listen to yourself and try to improve.
2) Find some material where you have both audio and written versions of the material. You can often find children's stories on the internet like this. Also some news channels will have both written content with video. Also you can get audio books. Listen to the audio. Then read the material. Once you think you can read the material out loud, try to read the material at the same time as the audio. Try to match pacing and intonation exactly. Once you think you are good at it, do the recording and listening trick.
You can imagine that my Japanese students enjoyed doing karaoke in class :-)
Meeting a new and somewhat like-minded group of peers is an element of college that I could not have attained with online coursework.
Also, I personally can not stomach day after day, year after year, of staring at a monitor with talking heads. I just can't do it. Computers are great, but they are only one element of a learning environment.
I suspect that to have structure in your life imposed is a big factor in that. I know some very clever people that could not learn even the simplest things on their own with a book or a network connection. But put them in a classroom and they shine.
In many cases mediocrity is assigned because of the lack of "pedigree". But if the student cares more about the actual learning and content rather than elite badge, it makes sense to come to such universities.
People are paying for that because employers are demanding it. Sure a few are begrudgingly realizing that an alma mater is irrelevant pedigree (the fact they can pay qualified people less without a degree surely helps), but the lion's share still filter for those with undergraduate degrees or higher. I have no idea how to change this, although personally I have two degrees and believe I would be orders of magnitude better at my profession had I simply worked on my own for the duration of my studies.
Because it gives them a piece of paper that some people care about. That is, compared to learning more but not having the paper, it improves the odds on them being hired.
How do we fix that? We need somebody to become credentialed (or some institution that already is credentialed) as an institution of higher learning, that will curate a list of online classes (not necessarily their own), provide some way of grading those classes (online testing), and issue a diploma that is recognized by the offline world.
For every one student who is very driven and motivated to self-study, there are 99 who are not and need the coercion of a teacher and threat of a bad grade to study.
See my other comment - is it a good idea to force them to get a degree? Doesn't it make the degree worthless? Instead of signalling "this person was able to learn something important" it says "this person has been forced to spend X years in a place where he was bored to death".
(I think there was an Army joke saying something like "private X is able to work when cornered and closely supervised", or something like that.)
As someone who's in school now, I feel one of the advantages of being in a physical class is that lectures are interactive. There are also the motivational advantages mentioned other places. There also also advantages to being surrounded by people that are also learning new things, you can study together, help each other, and encourage each other.
To be frank, it's also probably in part a social thing.
Although my understanding is that, at a number of large schools that routinely video their big lectures, a lot of students just watch the videos. My recollection of 100+ person lectures is that the interaction was pretty limited.
The other points you make are certainly true. Whether or not you attend the lectures in person you're still in an overall environment that can help learning.
This is true, class sizes at some schools are just ridiculous. I attend a smaller state school, it's a great environment. Largest CS class I've had after the intro was 30-40 people.
I am quite excited about my project that I have been working on. Do you think presenting all the knowledge of the world in this visual way (https://github.com/nikitavoloboev/knowledge-map) can be of benefit?
I'm going back for a masters in IT. For me: Job fairs, Internships, and the 'stamp of approval' that a degree translates to for hiring managers. Basically its a way to get my foot in the door. Also If I weren't getting a spouse-discount I probably would do the Khan academy thing.
Automated homework/exam creation and cheat-proof (or cheat-resistant) grading needs to catch up. In my opinion, it is making progress but isn't quite there yet.
Generally yes. My gripes in assessment were mainly with science classes that asked subtly different questions on exams than what was covered in class, and english/humanities teachers who had broad reign to judge your performance based on whether you found some highly subjective moral or nugget of wisdom in the literature material. Both cases to me felt more like Three Card Monte [1] than a straightforward "Here's some information, learn it, we'll test you on it."
Damn, that guy busted his butt. I got a creative writing degree from a decent but relatively unheard of Texas state school, spent a month studying Javascript, got into a bootcamp, worked for the bootcamp as TA for 3 months, then got a ~120k/yr job in the bay area within a month of leaving the bootcamp. I had 3 projects on my resume and absolutely nothing technical to show for the time period prior to the bootcamp, other than a single Intro to CS MOOC.
I always marveled at the people like this that seemed to do so much more concrete things than me. I leveraged my strength - talking, knowledgeably - and that worked well, but many of my peers got in on their technical ability and work ethic alone.
I haven't written as in-depth a blog post as this guy but I have a couple articles for those interested:
May I politely say "fuck you" for getting a 120k job after completing a bootcamp. Starting salary of 120k/yr for someone with a 3-month vocational program and an unrelated undergrad degree? That is literally insane.
Hah, you may, it does seem pretty crazy, doesn't it?
I would say that the reason it seems crazy isn't rational, however. If I was forced to break down the reasons that this worked, I would condense it to three:
1. I focused entirely upon a single skill that is highly desired right now (Javascript / Web Development in JS/HTML/CSS/JS Frameworks). I didn't "waste" any time learning other programming languages, systems designs, or even anything beyond the most basic of algorithms and algorithm design. These things are not necessary to build webapps in Angular/Backbone/React/Vanilla. My bootcamp (hack reactor) assisted with a very focused curriculum.
2. I was able to condense this learning to a short period of time by being utterly focused on it and nothing else, all day, every day. I was learning the one skill I needed to be employable from 8a-9p Mon-Sat for 3 months, and then 8a-5p Mon-Fri for another 3 months (when I was a TA).
3. I am a highly sales-trained ex-recruiter, and know through experience and training exactly what I need to do to get a job, fast. This includes being an annoying little bastard ;) but also includes streamlining my processes (never spending more than 10 minutes on a single application, etc) and being very good at turning a "no" into a "oh, ok, let's talk more."
Be a recruiter for a bit :P or any sales job, really.
Best advice I can give is treat every "no" like a probe from the other side to learn more. They're not saying no, they're saying "I don't know enough about this to want it." Obviously use common sense to avoid harassing someone, and don't waste your time where no opportunity exists (Mark Cuban reacted to the infamous "sell me your pen question" with "Do you need a pen? No? Ok, have a nice day.")
So every "no" has a response -
1. "No, you don't have enough experience."
Response: "I understand that this role requires the right experience. I applied to the job because I'm confident I have the experience you need. What about my background makes you feel otherwise? Do you have a coding challenge I can complete to demonstrate my ability?"
2. "No, we've had issues with bootcamp grads in the past. "
Response: "Hm, I can understand why having an experience like that would make you wary about bootcamp graduates. Was there something specific about why that grad didn't deliver? (choose response based on further information gathered, then: ) Hm, that does sound challenging. I think that my x y or z demonstrates why that issue wouldn't arise with me / I would love to demonstrate via a code challenge why I wouldn't x y z / If you go to myproject.calebjay.com you can see that I have quite a bit of hands-on experience with x y or z, so I'm confident that a b c wouldn't be an issue.
I'm remembering now an old sales training "no" breakdown:
1. Acknowledge the concern. Make the client feel that their concerns are valid, do not challenge or attack them, but at the same time avoid perfectly validating their belief that this is a harbringer that all similar solutions warrant "nos." So: "Yea, it is quite frustrating when recruiters send candidates that aren't even close to a good fit. You should see some of the resumes we people send to us when we open a job!" === good. "Oh man recruiters are so annoying, yea I would definitely never use them" === bad (when you're a recruiter trying to sell your services. Also, "psh, recruiters never act that way, you must have done something to annoy them" === bad.
2. Information gather. Always good all the time anyway. Usually the first "no" gives very little information and you could make some bad assumptions. "We've had bad experience with recruiters in the past" tells you literally nothing. The answer they give you can lead you straight into one of the fifty sells your company has drilled into your head. "What happened with the previous agencies?" "Well, they were sending bad resumes." --> "Oh, we get some hilariously off resumes. We like to think of ourselves as a filter for our clients, so we get maybe fifty resumes for a posting which allows us to hand-pick the best 3 for our clients." "Well, they would have three or four recruiters constantly calling us." "That is frustrating, we decided two years ago to only allow a single recruiter point of contact for our company because of that exact feedback from our clients." Etc.
I'll take someone without a CS degree and an intense rabid desire to solve problems way beyond their current capabilities any day over a pedantic PhD who can't be bothered to even put together Ikea furniture. Yes, I know a couple. They are useless.
Attitude and approach is far more important than knowledge. The latter can be gained in many ways. The former comes from childhood and, generally speaking, is hard to reprogram.
Maybe I'm a lazy asshole, but I how can anyone cram-learn like that? 8am-9p everyday? Come on?! I applaud your effort. I really do. As long as your employer, and you, have the proper expectations about your skill set then I guess it's the perfect match.
I certainly wouldn't recommend it for all sorts of learning. It worked for me because I had literally gambled everything on it - if I dropped out or got kicked out, I'd be 17k in debt living in the most expensive city in america with almost no savings. Failure wasn't an option. Furthermore, my fallback options were shitty. 40k/year doing sales or recruitment, busting my ass to reach 6 figures, being stepped on the whole way up the ladder. Maybe teaching english abroad, end up being that 40 year old white dude trapped in Taiwan, stuck every night in the foreigner bar and droning about what could have been. Nope no no thank you.
> Maybe teaching english abroad, end up being that 40 year old white dude trapped in Taiwan, stuck every night in the foreigner bar and droning about what could have been.
At 5 years short of 40, doesn't sound half-bad if you cut out both the teaching and the bars =) there's gotta be worse "traps" than Taiwan, it's a comely-enough place, and one of the few capital cities in the region where cycling is as conveniently practical as it is in Western capitals
So I guess you should do something that makes you happy (good for you!), but please do consider that actions actually have other implications than money.
The fact that you can make more money making webpages than teaching some poor kid english is mostly sad.
There's probably not too many "poor kids" in Taiwan.. as for the 20-something "English teachers" roaming the likes of Cambodia, Laos etc, unless actual NGO workers they're overwhelmingly teaching the better-off locals' offspring for comparatively slim pay --- more than accounted for by incredibly low and highly tweakable cost-of-living, lots of public holidays, low-to-zero minimum standards (other than "a proper attire" ie dress shirt, and saving everyone's faces at all times) --- which when motivated gives them great freedom to evolve their own didactic approaches and when not (such things ebb & flow after all) easily let's them approach the task at hand in a very laidback, relaxed, low-effort manner.
Not saying it's the best model for all societies, but it's assuredly not without it's charms for all parties involved. Different flow.
> The fact that you can make more money making webpages than teaching some poor kid english is mostly sad.
You're right in a sense; things that matter the most seem to pay the least. Teachers shape our kids tremendously and yet it's common they need donations just to buy simple school supplies.
Now I'm not sure it's fair to necessarily compare the two but it is still sad.
At least though it's not without merit that this glaring gap between what people claim to value "most" and where funding flows the most remains as visible as it is. Reality is the best reality-check for most of us. ;)
Well, I won't disparage those that are actually teaching poor kids, but in Taiwan I was teaching the top 25%, aka those that can afford to attend a cram school. I was making 2x the monthly salary working 20 hours a week that your average college educated Taiwanese grad was making working 60-70hrs a week.
So a $120k salary may be on the high range but graduating from a boot camp in the Bay area and going straight into a tech company job is actually crazy common. I work with people who have done it. Now it'll be a junior position most likely but in the Bay area a junior position is typically around $100k.
Also I have yet to interview at a tech company out here that actually cares at all about my degree. Might as well not even put it on my resume at this point and it's only a 2 year degree. Many of the devs I know have similar experiences.
There's about 1,000 Web-dev specific jobs posted to Linkedin, daily, in the SF Bay Area, so yes if you're interested in getting a job fast I recommend it. But if you're a CS undergrad I'd target some of the more niche stuff that you can leverage your degree to get, like Machine Learning, Machine Vision, AI type stuff that are inaccessible to me until I get projects under my belt. If you're halfway, in two years you'll be up against even more bootcamp grads than I was - not something that would be much fun.
We focused on:
Javascript
Node
Express, and building a server/routing
HTML
CSS
Angular
React
Backbone
MVC client-side
Security and XSS basics
Auth basics (I wish they had focused on this more)
Basic algorithms and data structures (your binary search trees and whatnot)
Interview Prep
SCRUM stuff (couple group projects)
Git
Deployment (mostly heroku)
To condense it down, I'd say you should be able to, upon graduation: Build from scratch a functioning web application, with a backend that you wrote, that is accessible via the internet one way or the other. You should definitely have some projects published by the time you graduate, because you'll be going up against bootcamp grads with 2-3, or more, demonstrable projects. A big sell the bootcamps go on is that their grads are actually more "job-ready" than someone fresh out of a CS program, the perception being the CS person will have a spotty knowledge of actual hands on programming and deployment. Obviously your program results may vary, but just be aware that's the perception bootcamps and their grads are exfiltrating into the tech community, so it'd be a very bad idea to fall on that radar.
EDIT: I'm remembering now that a lot of CS applicants to my bootcamp would have projects on github, but would need to be pulled down and compiled to actually work (python projects and whatnot). If you end up with a lot of these from your classes, see if you can use that language's server systems to set up a simple API, with a very basic front-end, that allows interaction via the internet. Being able to, in a job fair, literally pull a project up on my phone and show it to a company rep was a very powerful tool.
> I'd say a lot of luck, too? I did the same but my salary is only half that.
Depends on the area. In the Bay area it's not uncommon to start at a job as a junior for around $100k. Living expenses really push this up. In the MD / DC / VA area, in my experience, juniors can start at most tech / consulting companies at $65k or higher.
I studied finance and logistics despite the fact that I had been programming since grade 6. I have no idea why.
So when I started working in finance the ball dropped that I actually wanted to be a programmer.
Well trying to become a software developer with no relevant qualifications and only a grade 6 award for programming in Pascal is difficult, especially when you are located in South Africa.
Luckily I worked for a fortune 500 company that would do anything to reduce employee turnover except pay a decent wage. So I leveraged off that and got them to move me horizontally into more and more technical roles automating what I could and just getting involved in as many technical things as possible.
I'm also in SA, and although I can't comment from a personal level (have degree), I don't think we have it as bad as some other countries in terms of degree snobbery. Sure, it will definitely lock you out of many large corporations at an HR level. But many more are just hungry for developer talent, and wouldn't think twice about hiring those without a degree. If it was up to me, I'd hire anyone who a) shows a lot of interest in programming, and b) can actually back that up in some fashion. Sadly it's often not up to us techies, so it's definitely a disadvantage if you don't have one.
(Come to think of it, I've worked with a dev at one of the big 4 banks who didn't even have a matric / grade 12. There may have been some protectionism in the initial hiring, but nobody batted an eyelid after that since he was a very good developer.)
> " I eventually found what I was looking for: by changing a few lines of CSS, I could hack the layout of the page to push all the ads off the screen"
I remember doing stuff like this. I had a Geocities account back in the day as well as one on a number of other providers like Angelfire, etc.
One of the simplest hacks was to just leave an opening <noscript> tag at the bottom of your markup. Since the ad code and scripts were appended to the bottom of the page markup, they would never execute or show up. One of the free hosting providers started fighting back by putting a bunch of </noscript></noscript></noscript> tags in a row right before their ad code started. Savvy developers of course responded by placing even more opening <noscript><noscript><noscript> tags. I forget which provider it was, but those were some good times to be a rebellious teenage coder. :)
A bit odd to put "dream job" in the title and start the article with a picture of him in the Googleplex...
But in the end find out he doesn't work at Google.
In any case, I meet people on the regular working at top tech companies without a STEM degree, some without any degree at all. The stories are all pretty similar:
My path, with an allegedly irrelevant degree (History and Philosophy of Science) was
1) tinker with computers as a kid
2) go to university and study something I wanted to learn about, randomly learning C in passing (from a friend and a stolen copy of turbo c) because I was interested
3) get a job at a small local ISV, qualified by having a degree in anything and knowing how to write simple code
4) spend 4 years as an apprentice (informally) taking every opportunity to learn
5) get a job at a startup
6) join Microsoft through acquisition
7) ...
Up until step 6, my resume probably didn't look that interesting, but once you have one of the household name software companies on your resume the rest becomes irrelevant
Just curious, how close are you and pacaro to 40? Congratulations on your success but you guys might find the smooth sailing become much less smooth the older you get.
I was in my mid 20's when I quit my job to learn programming.
Do you mean if I tried to enter the industry in my 40's it would have been much harder? Or now that I'm in the industry, the smooth sailing will eventually get rougher as I approach my 40s? If the latter, I don't really believe it...
This article is so much more inspiring than the title suggests. The fact that this guy got a job at FutureAdvisor after graduating with a business degree... isn't really all that interesting. But the thought process and out-of-the-box thinking he showed at every step, was awe inducing. Getting a business degree instead of just sticking with something he had already mastered, was both smart and brave at the same time. I may not agree with every decision he made, but the fact that he abandoned well-trodden paths, and instead created his own roadmap, is what impressed me the most.
Bill, if you're reading this and would like to collaborate together on any side projects at some point, just shoot me an email (it's on my profile).
If you think about it, him working at FutureAdvisor and getting a business degree is, if nothing else, consistent with what he finds interesting and rewarding.
I just wish I could be 10% as productive as he is in this story. It's really incredible, and there doesn't seem to be a "magic sauce" to it, other than the obvious dogged persistence.
Don't get me wrong, I'm glad OP is happy with where he is right now, but his story's ending is underwhelming.
> Instead of emailing as many black holes as possible, I would spend a week deeply researching a company and the business problems it faced, then put together a working prototype that I would cold-email to the CEO as a product improvement. ... My strategy was working!
Really? Interesting, let's see the outcome.
> I made my cold-emails insanely customized: for the language-learning company Duolingo I sent them a video of me speaking four languages.
Seems like it's not really working, Bill.
> Getting attention is only the first step. The next step is to interview.
.... right. So OP wasted a lot of time on something that yielded the same result as spam (applying to every job).
> I met Aline in San Francisco and she remains to this day the best recruiter I’ve ever worked with.
Ok, so it seems those weeks spent deeply researching companies were a huge waste. Ouch. But at least the recruiter helped you get a job, right?
> Not only did she personally introduce me to companies, she helped me recognize that the recruiting practices of top Silicon Valley companies are largely based on superstition. This meant that if I wanted to interview well, I had to put in an unreasonable amount of practice.
Oh, so still no job. Tell me you found a way to avoid the bullshit interview preparation and used your time to improve the skills you'd actually be using in your job.
> I bought all the popular technical interviewing guidebooks and read them cover-to-cover.
Huh, dived head first into that one... might've just gone and gotten yourself a CS degree then.
> At the same time, I continued to scour Hacker News and AngelList for companies with open positions, and continued to cold-email CEOs.
In for a penny, in for a pound.
> I also signed up for Hired which ended up having the best response rate—their platform is where I eventually found my current job.
... so why'd you put all that effort into making personalized emails for companies? Ugh.
> In the end, after hundreds of awkward sales calls, hundreds of rejections, and thousands of hours coding, I was able to choose a company that best aligned with my personal values. I’m now working at FutureAdvisor.
Ok... never heard of them, but I do like the rose-tinted glasses. Not sure what Bill's secret for being positive is, but it seems to be working for him.
These were my exact thoughts almost word for word...also the thoughts below make zero sense back to back.
"At the same time, my old clients started referring me to other clients and everything snowballed into a big, unstoppable avalanche of steady consulting work. I took this as a clear sign that I found my calling in life.
Now that I was confident with the flow of consulting work, I began looking for a full-time job."
What?! Why are you going to look for a job after finding your calling with an overflow of consulting business?
I'd guess he was charging peanuts and rather than raising his rates he figured a job paid more.
Then again, I think every programmer needs to work with people better than them for a few years.
Most of the worst code I've seen is from programmers who have always been one-man bands, or have been a one-man band for a very long time. It's often a case of not knowing what you don't know.
I think a much more self-aware article from him would be "Personalized emails didn't work. My recruiter didn't help. But studying the crap out of Data Structures and Algorithms did. My personal projects might have helped but I can't really tell."
I guess the downside is that's the advice freely available anywhere advice is given to fresh grads, and so is much less exciting.
I don't think most of us want to be "Computer Scientists" as the colleges define it.
I think most of us want some kind of Software Engineering degree which is not what a Computer Science degree is. Most colleges want to teach "Computer Science" as they see it which is basically just "Math with Data Structures and other BS thrown in to make people hirable".
I think at this point what needs to happen is colleges need to stop branding "Computer Science" as something that will get you a job and stick to what they want to do, the hard algorithms and theory stuff and someone else needs to offer a "Software Engineering" course that teaches all the stuff that colleges threw in to make people hireable. If that happened we'd all be more happy.
The only way to make this happen is to stop posting job profiles asking for "Computer Science" unless you acctually need a Computer Scientist (theory-side). You should instead say "Software Engineer or similar" in the posting. Colleges will see this, parents will see this, students will see this and after that all happens we'll all be able to make better choices. Students will find colleges wanting to teach what they are interested, the stuanch theory CS professors will be able to teach at colleges, and employers will actually find programmers who can program after they've graduated from college. Maybe we'd be able to kill off a few major zero days, save a chunk of change in the global economy, or make something cool by making this small change.
I also don't think Software Engineering is as much of a "science" as it is a "trade". Programmers program, painters paint, carpenters carpet.... I mean build. We all have a skilled knowladge and tallent and know how to use that to shape the world around us. Most of the information that must be taught is experiance based and can be given in a trade-school enviroment. I think that's also another way forward.
There are some 'buillshit' classes in C.S. which are highly theoretical which and has nearly zero real world applications for an average programmer but data structures is not one of them. The schools don't teach data structure just so a graduate can answer related interview questions.
I also don't think Software Engineering is as much of a "science" as it is a "trade" ... Most of the information that must be taught is experiance based and can be given in a trade-school enviroment
I disagree. Software Engineering is not just about experience. It is not something that a master can pass to his students. It is also about constantly improving yourself and learning new things.
A master probably could pass it onto their students though. Imagine if we had apprenticeships for software dev the same way we do for other trades. A first year would come in and see how things are done, work on some minor things. Later on when they have skills they can handle more projects themselves and eventually take on their own apprentices. Most of the programming people do is the same old crap and anything new can be learned by self-education there are science components but overall I think we're far closer to trades than a lot of people want to admit.
> The schools don't teach data structure just so a graduate can answer related interview questions.
At my university, "Data Strctures" is one course where you write no code, another corse that is just about discrete math, and then at your senior year you actually do a Data Structures class.
I have no problem with Data Structures and I of course think they are important. I have a problem with what colleges think Data Structures are, or how they should be taught.
Why would writing code matter? Data structure aren't "code", they are a way of organizing data. Sure, in our jobs we use them practically, but the purpose of college is to explain them and (the really important part) when to use them.
There is a core difference between implementation and theory.
I enjoyed the article and the determined attitude of the author, but he failed to answer some important questions. What makes this employer worth all the work? And the job? How long is the long time he expects to work there? And what leads him to anticipate that about himself and his employer? Neither are likely to be the same in a few years.
I stayed with IBM for 4 years out of university. In hindsight, I wish I left after two years as it was in those first years I learned the most about how the large operate. The next two years was me getting too comfortable. I could have kept my energy and learning higher by seeking new professional experiences that are not available within an org.
This is the main reason I love being in IT - I myself have a MSc in Computer Science but whenever I come across folks in IT who don't have CS or IT-related degree (most of whom are as-smart-as or smarter then me), I look at them as motivating and inspirational individuals.
This is the beauty of IT and the core of our industry's success - the experience and thought processes of all the individuals from diverse academic and work experiences combine to make IT a truly multi-dimensional job field.
I believe that the general public does not understand the term computer science. I also don't believe that any CS grad is better off in the job market as a result of the courses taken, but rather is only highly sought after as a job candidate because of the degree's title. I often wonder if HR/hiring-managers will eventual wake up to the fact that a large part of the work that is typically required for such jobs can be accomplished by any dedicated individual willing to put in the time building a portfolio (aka ~10,000 hours) and then learn on the job.
Why did he have to go through hundreds of applications and interviews? I feel like someone should have hired him _much_ sooner. Just on the basis of his words alone.
I too managed to get into programming without a degree but for me the path was as simple as convincing an employer (while I was a cold-calling salesman) I could write a better product than the one they were using.
I don't think getting a programming job without possessing a degree is that rare of a story anymore. You can teach yourself anything online. I am actually self-taught developer and when I started, I was working primarily with people who had degrees, occasionally coming across another self-taught developer. I started about 12 years ago, but now I am increasingly encountering self-taught programmers who can run rings around developers with degrees.
Back in 2010 I quit my banking job and took all of the undergrad computer science courses at a state college. This was still at the bottom of the recession, before all these coding bootcamps got started. I learned a ton and taught myself python/django on the side. Then I built a saas product and have been doing that full time ever since. I'm not a great programmer, but I'm good enough to work with developers I now hire. Back when I did this everyone thought I was crazy and most finance people still thought programming was lame. Now that seems to have totally switched and everyone wants to be a programmer. It's a bit surreal looking back, but if I could do it again I'd probably consider one of the programming bootcamps. Of course now you're probably better off doing the uncool thing, like becoming a banker.
My main takeaway: the author was tremendously motivated and with perseverance and skill he succeeded. That perseverance part is something I have to remind myself of when I face setbacks.
> I also signed up for Hired which ended up having the best response rate—their platform is where I eventually found my current job.
Would the author of the article mind sharing their Hired.com preferences? I've been trying Hired.com for 5 months and still receive the same response:
"You have great experience! Unfortunately, at this time we don’t have enough opportunities that match your role and location preferences. We’ve added your name to our waitlist and will be in touch as soon as we’re confident that we can provide you with quality opportunities!"
First of all you don't need a college education to work in software development. I have a Bachelor's, but not in CS and I have known some great developers who have no college at all. I am completely self-taught. You have endless time to learn this stuff on military deployments. Developers, who don't suck, are in crazy demand... particularly if you have web skills and don't suck. I rarely see CS graduates writing original JavaScript applications without large frameworks, for example.
Secondly, it appears his dream job is in the bay area. If you are young and single this might be true. The Y Combinator folks claim it is the place to be to start a company, but for everybody else it is expensive. I can have a larger house in Texas for 20% of the cost and reduced cost of living across the board. That said I see little value in moving to the bay area because I doubt there is a corporate dream job that is going to pay me 5x more to live just as well. I have known several people who have moved from CA to TX just to afford a house (any house).
Finally, there are major differences between development skill and marketing skill (promotions). You can suck at one and rock at the other, but only one of those is going to make a solid first impression and only one will actually define your value after a year of employment.
Hiring is full of so many biases, in this industry in particular. Maybe your employer is using that to their advantage by hiring good candidates other people turn away for no good reason.
Great story! It kind of makes me wonder about my own story to be honest, since I also do not have a CS degree yet I've learned to love coding. I am not really sure what my "dream job" would be though. I've thought about it on a few occasions and I always fall short of coming up with something that really "wow's" me enough to start down a new career path. Would be interested if anyone else has that same sort of existential crisis. I enjoy my job enough that I can't seem to come up with anything else that I'd love doing with my time, but I'm also not "in love" with my current job.
Your career does not have to be the great love of your life.
It's okay to have a job that's just a good day job and let your real passion live outside of it: family, hobbies, volunteering, maybe religious practice if you're so inclined. There is so much more to life than just your career.
What I got from this was that you got your job because you learned to say the right things and show off the right stuff to the person(s) interviewing you, after 100's of failed attempts. I guess statistically, you were bound to get a hit eventually.
"Do a huge volume of work. It is only by going through a volume of work that you’re going to catch up. And the work you’re making will be as good as your ambitions."
- Ira Glass
Yeah well... That doesn't necessarily translate into quality work in the real world now does it? I'll even go as far as saying that that quote in particular is the TLDR of this story.
Love these stories. That's the way you do it. No whining. Pick a goal and work harder than others to achieve it. Plain and simple.
Also very much related to another discussion where the top n% (the rich) are blamed for just about everything. Here's where I get pounded [1] for daring to say opportunity in the US is what you make of it and the top n% have nothing to do with it.
I am sure there are a thousand people who want to be Bill Mei. Yet few are willing to take the risk and invest the time and effort he did in order to rise well past the average. What's sad is when some choose to blame people like Bill for their own failings.
Want a formula to be rich by the time you retire at, say, 55 years of age?
Work your tail off so that by the time you are 20 you can start to put away $1,000 per month.
In other words, be Bill.
Be frugal.
Invest the money somewhere relatively safe where you can earn at least 7% per year on average. If you pay attention that is not difficult at all in the long term.
Marry well.
Be frugal.
Do this and you'll reach 55 years of age with around two million dollars in the bank.
Continue to do it until you are 65 and you'll have nearly four million.
Or, if you actually start drawing $25,000 a year from your investment at 56 years of age, you will reach nearly $3.4 million by age 65.
It's actually better than that because I compounded interest annually in my calculation.
With the opportunities available today in the US (and other places) almost anyone can work hard for a couple of years and get to the point where they can save $1,000 a month. This is particularly true for a couple. The key is not to burn cash on stupid shit, which can be hard. After a while you make it part of your normal process. I drive a car with over 200,000 miles. I can go out and pay cash for just about any new car in the market today. Waste of money.
Not that hard folks.
I wish they taught kids about finance and money in high school.
I know many people who studied life science subjects like Chemistry or Physics and got jobs in top cs companies. Most of them were self taught(physics dudes use some level of programming )
To be a programmer, you need to have a solid problem-solving skill. Pick up a language(invest money in books in any one programming language, DS and Algo, OOPS) and invest time in websites like hackerrank.
You can easily build anything on the above skills. No matter how well you studied basic database and os stuffs, you will always need a google search before using in real life.
Very inspirational, but I'd be interested in knowing what exactly the author was optimizing for in his job search, and how he decided that FutureAdvisor "best aligned with [his] personal values." In the current hiring climate it's not exactly hard to find a software development job in the Bay Area if you show a bit of talent, so I'm assuming with the number of contacts he made he wasn't just looking for the first company that would take him on.
This exact process is something I seriously considered doing, but then I couldn't convince myself to spend that much time and effort trying to work for someone else. So, I work for myself on behalf of some very grateful clients. And that has turned out to be my dream job. (This became entirely too obvious when I found the espresso machine in my kitchen to be better than those in the most desirable Seattle-area startups).
I'm surprised the author mentioned taking linear algebra in high school. My high school math was bottom-of-the-barrel shitty (we barely touched on calculus, and the teacher didn't even know what an integral was). I don't know a single person whose high school math curriculum contained more than one calculus class, let alone linear algebra.
I was taught simple linear Algebra in year 11/12 in Australia during early 00's. Stuff like Matrix alegbra, vector multiplication and simple matrix transformations (rotations, shear etc). This was in the advanced math class at a public school.
At the time I thought it was pretty poorly taught and I didn't really understand it very well until we covered the same topics in first year of university.
Basic Linear Algebra (Matrices and operations thereon) is in the US High School "Algebra 2" class. 10th grade or thereabouts. It was also covered when I attended school in Scotland a million years ago.
Really heart warming to see this kid. Hope he achieves the success he deserves.
But he has to understand what skill sets him apart. The things that stood out were all the non technical part. He looks like a solid entrepreneur material. Hope he realizes and quit working for others soon.
Speak for yourself, champ. Not everyone's dream is to become rich, or wealthy, or anything of the sort. Some people just want to work on cool problems, be around interesting people, and be paid relatively well to do so.
"Mind your own business" means structuring things simply and in such a way that you get paid more (ie: minimize tax expense... which IS your biggest expense).
Wealth = Time * Health
You basically proved my point with:
"Some people just want to work on cool problems, be around interesting people, and be paid relatively well to do so."
Those things are possible due to time and health.
A job takes the best, sunniest part of the day away from you (usually) and your autonomy (freedom to work on cool problems of Your choosing, being around interesting people of your choosing and when you want to) and then your biggest expense is your taxes.
Wealth as defined by time and health is something we all want. Health is our most precious asset (ie: puts money in our pockets due to intelligence, ability to work) and time is our most valuable resource (can never get more, once it is spent you cannot earn more).
Anyone that does not place Wealth as one of their highest aims is either a complete idiot at worst or grossly misinformed about what Wealth actually means at best.
> "Mind your own business" means structuring things simply and in such a way that you get paid more (ie: minimize tax expense... which IS your biggest expense).
I'm having trouble figuring out what you could mean by this that isn't some variety of "you know how to make money? Already have a lot of money." What do you mean?
Your dream could be to serve another man's or woman's dream. But why?
Quick example:
- get paid $S as employee, government takes X% in income tax
- get paid $S as consultant/corporation, government takes Y% in corporate tax
Usually X > Y and you have no ability to write-off your operating expenses as an employee, but can as an incorporated entity (phone plan, fuel, portion of your rent/mortgage, office supplies, etc)
It is about Structuring your life and professional dealings in a way to keep more money in your pocket (and have your money work for You, instead of You working for money).
He got a programming job without a CS degree. There are so many programmers working without any degree, I fail to see why this blog post was worth writing and posting anywhere. Nothing special here.
Actually he does not even state that the job he got was a programming job, just that it was his "dream job." But what makes it a dream job?
The school I taught at, a community college issued associate's degrees in computer programming, is still going strong largely as it was back then. I still don't have an answer to my question, though: why are students paying for that?