8 ms·
Bootcamps vs. College (2016)
- brogrammernot 8y agoWorks for TripleByte, doesn’t work for the rest of the companies who do white boarding interviews. You don’t learn how to implement various sort algorithms by hand in boot camps (oh weird, I never had to implement or work with anyone who had to implement one yet we all had to pass that during whiteboarding). I’ve hired boot camp grads with success and failure. I’ve also hired CS grads with success and failure. The number one quality that determined their success in my opinion was grit and passion for programming. Programming is always evolving and really hard to master without dedication, time and so much trial/error that you’re so pissed off by the 18th time of trying to solve something that they 19th time when you do solve it the high is so intoxicating you’re ready to do it again on the next task. None of that is taught in a classroom regardless of its a boot camp or CS degree.
- anamexis 8y agoDepends on the bootcamp. The one I went to spent a couple weeks on algorithms and data structures for the express purpose of interview prep.
- randomacct3847 8y agoActually, you do implement sort algorithms in some bootcamps. Anecdotally have seen curriculum with merge sort, quick sort, bubble sort...also binary search and tree traversal (DFS, BFS) and Big O. Especially for the ones where you don’t pay until you find a job these bootcamps are going to optimize their curriculum to help you ace a typical engineering interview, hence a chunk of it will be spent on data structures, algorithms, time/space complexity etc.
- pryelluw 8y agoThats what I call the grind factor. Does the person grind it out until they succeed? Very important in programming.
- spork12 8y ago"The number one quality that determined their success in my opinion was grit and passion for programming." I have always said this as well. The best programmers are the ones who are truly have the passion. For example, maybe they started programming in middle school, they read up and learn new things constantly, maybe they had their own business in college doing web programming jobs, etc. They just can't stand not constantly learning and expanding their skillset.
- scarface74 8y agoNot all companies do white board algorithm interviews. I can honestly say that I have never had a whiteboard algorithm interview in 20 years. I have had to draw out architecture before.
- werber 8y agoI'd really like to see a breakdown by bootcamp program.
- themoat 8y agoThis seems to fit my experience interviewing/hiring candidates over the last few years. There's a certain type of "Bootcamp grad" that seems to fit well with my teams. Those people who got a degree and then found that they hated the field they worked in (biology, law, English teachers) have just come in and killed it for us. I can't say, exactly, how that compares to CS grads, but I do know that every fresh Grad we've hired had to be hired on as an intern first to get them up to speed, while bootcamp grads were able to be productive from day 1. Just my 2 cents.
- caprese 8y ago> If you want to do hard algorithmic or low-level programming, you’re still better served by a traditional CS eduction. or a bootcamp that focuses on these particular skills. Universities imagine they are for people pursuing higher knowledge and not a job, and now this can be true again. Time to divorce universities from the corporate sector, there are enough programs to build now that enough tech companies don't gatekeep this way. On the culture side, technical leaders who hire also don't care because there is stuff to build.
- munchbunny 8y agoBootcamps will not get you to the same point of comfort with low level stuff because it requires a pretty substantial breadth of accumulated academic study plus hands on practice, and there aren't enough low level programming jobs that I'd ever recommend someone spend time on that in a bootcamp. If low level is really where you want to go, you can get comfortable with typical frontend and back end programming, and then as you become more comfortable, it's a short hop to GPU stuff, C/C++, and taking the academic stuff in MOOC's. As an example, I just spent several days last week chasing a bug in C# code all the way down into the native Windows stack inside optimized compiled C and C++ code. While I do not expect a boot camp grad to be able to do it, I think they're perfectly capable of picking it up with time. But to do what I was doing, you had to have spent substantial time working with C/C++ debugging and be comfortable staring at memory dumps. That's just not a good ROI on bootcamp time because most jobs are app development, not troubleshooting low level stacks. But since 4 year programs teach low level stuff, it gives those grades more career flexibility.
- caprese 8y agosounds like an unfulfilled niche to me. existing 6 month boot camps "can't" do it since they are just recruiters that create the pipeline instead of making excuses about it, 4 year university still probably not the most optimal either.
- munchbunny 8y agoI think MOOC's fill that niche. In some ways, 4-year university is actually the ideal place, because it allows you to to spend four years traversing a conceptual dependency graph in parallel without making it your life. Assuming you're not just partying it away, you're getting a bunch of other valuable skills, personal growth, network, etc. out of those 4 years. I think MOOC's are the cheaper option. Bootcamps, even at 6 months, have an issue that it's really not enough time to cover basic algorithms, basic systems programming, basic circuit design, linear algebra and graph theory, advanced algorithms, then finally specialized topics. It's just too much and too subtle to blitz through. But MOOC's don't have that limitation.
- _hardwaregeek 8y agoI could see bootcamps working if they teach the process of learning and fixing one's own problems. Focusing too much on the actual content is a mistake imo. Programming is a constantly moving field and a good developer is always learning and self teaching. I suppose the total immersion and the sink or swim connotation of bootcamps could force students to learn on their own. Meanwhile, at least in my case, schools don't appear to teach their students anything about figuring shit out. Students have to be hand held through a series of prepackaged projects that don't have any real context or motivation in the real world. Most importantly, they're never taught that programming is a skill. They don't understand that to get good at programming, they need to practice. Maybe most of them don't want to become world class programmers. But even a mediocre soccer player needs to practice dribbling. A CS student who just takes classes and doesn't write any more code than what is necessary is setting themselves up for failure, much like a fencer who only takes group classes and never practices.
- AndrewKemendo 8y agoI've hired both and the major limitations of bootcamp folks come out when you start doing things that are either: 1. Very hard, or... 2. So obscure that you can't find examples of doing it in the past As an example I'm wrestling with now, I am trying to come up with a way to describe applications as finite state machines by evaluating their event streams and then evaluate with PCA across multiple of these state representations. That's something that doesn't really come out of anything but theoretical computer science.
- anonytrary 8y agoIt's not limited to theoretical computer science either. A math grad with basic programming knowledge could easily help with something like that.
- AndrewKemendo 8y agoVery true and in fact a lot of great hires, as most people have seen, are Physicists/Mathematicians who can code.
- jussij 8y agoOr Electrical Engineering.
- skwb 8y agoOr bioinformatics. Or bioengineering.
- BucketSort 8y agoMost development work doesn't require CS knowledge at all, just programming ability. Open source libraries are also reducing the need for rolling your own implementations. Having me prove things about Turing machines to get a job making websites is almost like a slap in the face. I welcome boot camps for filling these types of roles because it's ridiculous to have someone so educated doing such rudimentary work.
- aboutruby 8y agoI've found HackerRank to be great at acing the algorithmic/data structures questions during interviews. You don't even need to finish Cracking the Coding Interview (which is incredibly hard to do with ruby as it's mostly performance based).
- manfredo 8y agoA lot of the bootcamp candidates I've met can code just fine, but often lack a deeper understanding of software development. Often do just fine on interviews that test the application of a specific skill, but struggle to answer more free-form questions. One of my favorite interview questions is "how would you design a text editor?" Bootcamp candidates and recent grad candidates often struggle a bit. Recent grad candidates often jump into a straightforward solution like breaking characters into contiguous arrays by line. More experienced candidates take more effort to put the task into context. Is this a text editor for the web? Is it more geared towards editing plain text? Can we assume relatively frequent line breaks? The best candidates think of improvements on their own. One candidate suggested automatic saves every 10-15 seconds, and could explain the backend changes necessary to make it such that the saved copy was retrieved when the user navigated back to the page. Others talked about locality and caching when talking about optimization. This sort of question is more like a foundation, and the interviewer is looking to see what the candidate is building on top of that foundation. Granted, this isn't to say that bootcamp candidates aren't good. Not being able to effectively answer those sorts of interview questions signals that the candidate is better fit for a junior role - which bootcamp candidates and new grads are probably looking for anyway. Realistically, probably only 20% of my university time was spent learning how to develop software - maybe 30-35% if we include club and personal projects and not just class assignments. A decent 40% on topics wholly unrelated to software development, and 40% was spent on more academic areas of tech not really related to writing code. The latter is useful and has given me a deeper understanding of a lot of topics (ML, Operating systems, compilers, network infrastructure) but probably doesn't add nearly as much value to my employer as coding ability. I can see how a bootcamp could teach someone to code as well as a new grad in 3-6 months.
- dccoolgai 8y agoThere are exceptions abounding to the "rule", per se, but IME the biggest problem with bootcamp/self-taught engineers is that they tend to not recognize when they are in the lane of an "already-solved problem" from the CS space and try to address it with their own overengineered approach. Not the case with everyone, of course- the guy I report to now was self-taught and knows as much or more from CS as I do... but it's still a general trend I've noticed.
- aphextron 8y agoThere’s absolutely no comparison to be made between a CS degree and a bootcamp program. One is vocational, the other almost purely academic. The main difference really is in mathematical training. There’s a wide gulf between the skills needed to succeed in CRUD web development, and the ability to succeed in a four year degree program that requires passing calculus, linear algebra, discrete math, and differential equations. I’d wager greater than 90% of working developers without a CS degree could not pass a test in any of these courses, or even discuss the topics at an intelligible level. If the role you are hiring for requires these skills, you need a CS or other hard engineering grad. The problem is that the vast majority of companies don’t need that, yet somehow feel like they are lowering their standards by accepting that fact.
- randomacct3847 8y agoI’d wager 90% of working developers with a CS degree also could not pass a test in some random mathematical topic they studied X years ago in college either. Also, while there are those that go from bartender to developer via bootcamps, a lot of people who do these camps have technical undergrad degees (other engineering, math, physics, etc.) and probably took as many math classes for their major as a typical CS grad. And let’s be real...most developers, maybe especially at FAANGs, are frankly overqualified for their day to day job and aren’t doing much more than things they learned in a CS 102/103 class.
- phillipcarter 8y ago> maybe especially at FAANGs It's hard to say how it is in the large, but at Microsoft I do apply CS principles fairly regularly, use statistical tools, and think fairly regularly about different data structures and algorithms. A lot of this is due to working in performance-constrained environments. If that were not the case, then I would say the academic side of things would be less prominent.
- randomacct3847 8y agoI should say many, but not all. I hear too many stories from angsty mid-career FAANG developers who do little more than write a bunch of Protocol Buffers all day, every day.
- abrinsmead 8y agoThis article is from 2016.
- discordance 8y agoAssuming University is too expensive and bootcamps are too short or vocational, where is the best education found these days? MOOCs are great but lack the physical contact which is so important.
- gumby 8y agoI’m a fan of boot camp education not a fan of most boot camps. Not only do the graduates from good ones learn skills, but they are typically the kind of students who want to learn and then get something done. I see this in community college students too: little screwing around, lot of determination. Unfortunately most bootcamos make outrageous claims as to the job opportunities post completion, and also the quality is uneven. Both are serious problems.
- noego 8y agoFrankly, the more I reflect on my University and High School education, the more I think it was poorly thought out. I've spent an enormous amount of time learning advanced Math, Sciences, or other such topics that are utterly irrelevant to my practical career. And I'm saying this as someone who's successful enough to be making mid-6-figures. The only useful skill I've picked up from all those classes, is grit and hard work. I've learnt how to put my head down, and grind my way to success. Useful skills to be sure, but I could have learnt that by doing literally anything. "Build a Facebook clone" would have taught me grit just as well, while also teaching me practical skills relevant to my career. I see a lot of posturing about how college education isn't meant to be "vocational" and should teach you how to think, but I don't buy it. The free time I've spent volunteering at my college newspaper, and reading/writing philosophy, taught me far more critical thinking skills than the majority of college classes that I've taken. Looking back, 80% of the value that I got from my college classes, came from the 20% of courses that are "vocational" and relevant to my career. If not for the resume-padding benefits of going to college, I would have been better off going to a elite bootcamp and then spending another 6 months self-teaching myself anything that the bootcamp didn't.
- dang 8y agoDiscussed at the time: https://news.ycombinator.com/item?id=11731564 https://news.ycombinator.com/item?id=11731564.
- hw 8y agoI've had friends who 'graduated' from a bootcamp and ended up with jobs at Google, Uber, Facebook, etc. The quickest way to a good salary job (in the Bay Area at least) is just to take a 3-6month coding bootcamp and apply for a job at the big tech companies, who are really desperate in growing their workforce and hiring.
- learc83 8y agoI've worked as a bootcamp instructor, I've hired people from bootcamps, and I worked as self-taught programmer for years before going back to get my CS degree. From my experience, the very top tier bootcamps basically function as an extended job interview. They select for people who either already have most of the skills needed, or who possess an extreme natural aptitude. Graduates from these programs can be effective programmers out of the gate. However, the pool of people who can pass these programs is extremely limited. The failure of many top tier bootcamps to scale points to this. As for graduates from other programs, I place them in 2 buckets. The first is people who have substantial additional experience--they’ve been programming as a hobby for years, they learned python to automate work in their old career, they have a related career or degree etc... These candidates can also be extremely effective. The second is candidates who have little to no experience beyond the bootcamp. These candidates from what I’ve seen are almost never a good fit. They generally come in below the level of a 2nd year college intern. 12 weeks just isn't enough time--barring extreme outliers. The problem is that people who fall into the first set of candidates tend to be effective with or without bootcamp. My advice is that if you want to be a programmer, don’t pay thousands of dollars for bootcamp. Either take the time to go to school and learn the theory, or learn on your own through free or lower cost materials if you’re happy with CRUD jobs. There are other ways to level up into more interesting work, but most people won’t learn the boring parts without external motivation and structure, and a CS degree is the easiest way to provide that.
- F147H34D 8y agoThanks for the insightful comment. I’ve been considering changing careers in about 4 years. MS is computer forensics. When I retire from law enforcement (as a computer forensic examiner) I will be about 45. I can program lightly in Python and other languages — enough to automate my job. If I want to do software development is it plausible to teach myself in 4 years? Am I hirable at 45?
- manfredo 8y agoReally depends, getting into programming from bootcamps isn't super easy and can be a bit of a crapshoot. One of the biggest pluses is if you have authored projects that you can show publicly - ideally open source. Try putting together projects on your side time. Even relatively simple ones can be impressive. For example, I whipped up a program that used selenium and ChromeDriver to automate exploration of YouTube recommendations [1]. Things like that can make your application stand out. 1. This is what inspired me to build this project. Hopefully I can build up some data and present my finding on HN: https://news.ycombinator.com/item?id=19524645 https://news.ycombinator.com/item?id=19524645
- itsdrewmiller 8y agoIn my experience boot camp grads are way more likely to wash out on basic programming problems (not particularly algorithmic) than CS grads. I think the "has already passed the triplebyte quiz" factor is really doing a lot of work for this article.
- TP4Cornholio 8y agoMy experience with bootcamp graduates has been that they struggle with any non rudimentary problems and lack knowledge of any of the fundamentals required to do non CRUD applications.
- scarface74 8y agoMy experience is the same with junior CS grads....
- purplezooey 8y agoI think community colleges are the dark horse of all this. Same (or better) education as at a four year for the first two years at a fraction of the cost. No need to go to a boot camp.
- ryanjodonnell 8y agoProb the best use of time if you’re trying to optimize for a career as a developer would be to go study CS for 2 years at a top school, then drop out and do a bootcamp for 3 months. Best of both worlds!
- kevintb 8y agoI really dislike the comparisons between boot camps and college, as if they are substitutes for another. They’re not, and 100% depends on your goal. If your goal is the fastest track to employment in any programming job, then web development/CRUD is probably the easiest route to get there, and a bootcamp is the most economical. However, you’re limited to only frontend web development or Rails or various js jobs. On the other hand hand, so many bootcamp grads have had astounding success transitioning from minimum wage jobs to 100k salaries in 4 months’ time. A CS degree, on the other hand, is a long-term investment. Done properly, it sets you up for success for a wide variety of roles, and gives you hard earned understanding of the big picture that comes with years of studying. The blog post specifically advises you to hire CS grads (or grads with academic CS backgrounds) for anything remotely more specialized than javascript, like databases, etc. but, it involves 3-4 years of full time studying. These are not substitutes each other: they are dependent on your goals! Each involves trade offs. Because I’m biased towards academic CS education, I’ll say this: tech is one the fastest changing industries, and I think it is crucial to be grounded in the fundamentals, not just for your future employability, but your overall understanding of CS and where your work fits in.
- erikpukinskis 8y agoDon't forget everyone, people are just like the average of those in their demographic! It's good to talk about huge groups of people as having common properties. It's a convenient shortcut that helps you understand people faster.