Hacker News new | ask | show | jobs
by Brainix 3745 days ago
We're painting in broad strokes as there are exceptions to every trend. But in my experience, bootcamp graduates are more like tinkerers and university graduates are more like engineers.

Most bootcamps don't cover computational complexity, for example. Or functional programming, or objected oriented design, or music or ethics or philosophy. Instead, most bootcamps focus on tools rather than ideas.

4 comments

As a CS/EE grad, and having worked as an EE for 7 years then several more since then as a fullstack developer (I got sick of the EE world) as an individual contributor, lead, and manager, I have to completely disagree with this characterization.

Honestly I think being a good engineer is 10% domain training (CS Degree etc), 45% learning good practices on the job from more senior people, and 45% individual temperament. I have a degree from a very good CS program and yes I learned a lot about languages, theory, algorithms, logic, etc and I use about 1% of it.

I've worked with tons of CS, EE, etc from good programs who were terrible engineers because even though they had a more formal background, they were sloppy, didn't practice decent engineering rigor, didn't follow good practices for code management, weren't good or methodical collaborators, etc, etc.

In the last few years I've hired several bootcamp people and several CS grads with varying degrees of experience and the best people are just the best people, independent of their education, because of their passion and discipline for their craft. Of course on day one an AppAcademy grad doesn't know jack but 2 years later they have every opportunity to be as good or better than your average CS grad with the same experience.

My college was far from bad, and covered lots of theoretical[1] ideas. I'd be surprised if 10% of graduate students understood them. Unless you are very abstract and passionated, 5 years aren't enough to connect all the dots I believe.

[1] surprisingly we didn't have a complexity course per se. We had optimizing compilation, type theory/interpretation, abs.alg/cryptography, all forms of relational algebras/calculus[2] etc, formal systems/symbolic processing. more than 50% of students failed, 25% struggled to get points, 25% kept their head above the water.

[2] which is funny, some concepts like transitive closure of relations and db normalization seemed hard and ideal toys, but much later I found that the first is similar to an abstract recursive fold (and folds are nice to have), and normalization gives you a better 'object' modeling theory better than most floating OO principles you read in books.

Well, I cover that stuff. I think it's foundational to learning to program, rather than just assembling toy projects. Exposing students to the real implications of their high-level code can only make them stronger, better programmers. They don't need to write an OS to do app development, but they sure as hell need to know their big O, how to do estimation, their data structures, and some fundamental algorithms and techniques. We try to give them the tools to continue exploring as well- those who are interested tend to follow up with MOOCs, having been well versed enough in programming that they can use videos and exercises to learn on their own.
Also, to clarify, I'm the author :D
I'm a recent graduate of Fullstack Academy, and I also happen to have a bachelor's in Computer Science. While at Fullstack we didn't spend weeks on end going over object oriented design or learning algorithm design, we did have lessons on it. And I found it to be delivered in a better format than any of my computer science classes. I'm sure not all CS classes are created the same, but they are usually the same length and only a few days a week. The difference being that at a boot camp, you're there 10 hours a day, 5 days a week.