Cover image a compilation of images from Cal Poly, NESA by Makers on Unsplash, and me!
One cool thing about programming is that there are many dif...
For further actions, you may consider blocking this person and/or reporting abuse
I did a bit of formal CS and then was mostly “self-taught”. If you’re already in university either way, I’d say it’s cool to just take a handful of very useful CA or coding classes, and only go deep if you really feel like it’s the right time. You can catch up later (like I did) if you are not yet ready to totally dive in.
Yup -- same here. So many good ways to learn how to code, there's no one right solution.
Definitely. Good advice for sure.
In Europe, a degree might be, in fact, the cheapest way to learn. College fees are low or none in many countries, and in many cases you can work at the same time. So getting a CS degree might be a slow-but-cheap way of learning programming.
There's also another hidden advantage to universities: you'll get to network with people that are going to be hired pretty much at the same time as you. They might even create their own company. So there's that.
Plus, universities are community hubs around which many user groups are created and nurtured. So they are the best way to engage the local free software scene.
In the US, colleges have become outrageously expensive over the past 20 years. There are several reasons for it, but most of it comes down to the way student loans are structured and excessive, non-academic, overhead costs.
The loans has served to enrich the companies that have provided them along with college administrators and politicians (left and right) who assist in the process while hurting students, their families and even college professors. This process is crippling US higher education and causing a slower economy.
Overhead costs come from excessive spending on sports teams, primarily football (US style). Head football coaches are typically one of the highest paid employees at most colleges. The infrastructure costs of building stadiums is huge. There are other high costs in the university system but this is perhaps the largest one.
That's bad. Higher education should be the equalizer of people coming from different backgrounds.
That’s cool. Thanks for the international perspective 😁
Good breakdown of these options.
One of the self-learning options I use are MOOCs. I've found they work well for me when I want to learn something new.
The quality of courseware available completely for free is mind-blowing. I'm basically auditing MIT 6.006 from my couch - all the lectures, notes, supplemental reading, problem sets...it's nuts.
Yeah, resources like edX are great. Taking Harvard’s CS50 was one of the best decisions I’ve ever made!
I'm of the opinion that bootcamps are an overpriced way to jump into a narrow segment of web programming. I point to the closure of some of the best known ones as evidence that it's not a productive way to join the field: twitter.com/codinghorror/status/90...
Being self-taught is certainly a thing, and everyone needs to be a self-directed learner eventually in order to keep pace with changing technology, but a university degree is very nearly required for professional work. That's where you're going to be exposed to computer science theory and algorithms in ways that bootcamps don't have time for.
That said, I've interviewed plenty of candidates with university degrees that couldn't code their way out of a paper bag. But being self-taught makes you a bigger unknown during the hiring process; we have to target questions to see if you have knowledge gaps that we would have assumed you'd have covered in a degree program.
I went to a Bootcamp back in the era when they were relatively new, and I think the thing that they help with the most is teaching you what questions to ask so you can be an effective self-paced learner in the future. However, there are just too many boot camps now, producing too many grads for the market, and they’re of varying quality.
I’m going to disagree that you need a college degree for professional work. If you want to do well in the field, you’ll study and learn low level stuff and algorithms on your own time, after a class or Bootcamp has helped you get a feel for the unknown unknowns ahead of you.
Definitely agree though, that while I wholeheartedly recommended my Bootcamp (which is now dead) back in 2014, I don’t think I’d recommend a Bootcamp to a new learner now. The market for juniors is totally different, in large part because of those very bootcamps.
What a great article - thank you. I’ve been on track #3 (“self” taught) for 10 months and it’s been amazing. But I did agonize over options 1 & 2 for a long time.
A couple of things I’ve heard indirectly from people who’ve done CS degrees is that while it can be great for gaining a deep understanding of CS theory, some programs don’t focus much on actually coding, and if even they do, these programs are sometimes less-able to update their curriculums at the speed that technology & languages are changing.
Yeah, I have noticed that so far in my program (2 classes in). We’re using Java and the instructor had us all install Eclipse at the beginning of the class. So far, I’ve gotten away with using Vim instead without much problem 😉 Not that there’s anything wrong with Java. I just like working in other languages better. It would have been cool to do algorithms in Go or Rust!
I am a self taught React dev turned boot-camp mentor and I have to say I agree with all of this! lol
Great! Thanks!