by kwi on 5/19/16, 4:51 PM with 435 comments
by brudgers on 5/19/16, 7:08 PM
1. Bootcamps can be selective over a range of non-academic criteria such as interview skills, personal hygene, and prior work experience. Or to put it another way, unlike a public university, a boot camp can select for culture fit both in its internal cohorts and in the workplaces it targets.
2. Bootcamps tend to attract people with previous work experience: someone more likely to have several years of working to keep a roof over their head than a recent CS grad. There's a difference between a junior programmer with their first real job and a junior programmer who has spent six years working crappy jobs [or good ones].
3. Bootcamps have much more latitude to train for employment and employability. Listening to Jeff Meyerson's hours of bootcamp love songs, those interviews have left me with the distinct impression that doing so is common.
4. Bootcamp grads may come out with a stronger alumni network that can provide recent feedback about interview processes like Triplebyte's. Going in with some idea of what's coming is likely to produce better results.
5. Bootcamps don't have to report their "failures". There's no independent oversight or accountability of the sort common in university education. A "C student" may simply find it impossible to graduate a bootcamp. The bootcamps are free to shape their "graduate" pool however they wish.
by lloyd-christmas on 5/19/16, 5:25 PM
I think one key aspect that is missing is that boot camp graduates aren't straight off the barista lineup. I took one at age 28 after having worked in a technical role in finance since undergrad. The average age of my class was probably 29. Beyond just time in the workforce, I had a double major in math and economics with a minor in applied statistics. Had I dropped "Behavioral Economics" and taken "Data Structures" along with some other random course, I could have switched my Econ major to a minor in CS. Many people in my class were of a similar background.
by madmax96 on 5/19/16, 5:28 PM
Sure, bootcamp grads can write a web application just fine; after all, it's usually only CRUD. But what value are they bringing to an organization? Why would I pay them the same amount as a college graduate who undoubtedly has more total knowledge not only in CS, but in other areas as well? Ideally, a college should expose students to a diverse range of knowledge, each tidbit providing additional value to an organization. If I just wanted an application constructed, I could offshore the job and get it done cheaper.
Yes, a well-run bootcamp might be a better __coding__ education than a computer science degree, but coding is the easy part. There are other valuable skills that aren't being taught (i.e. the ability to communicate clearly, how to do research, how to learn independently) that make an organization strong.
We aren't in the coding business, we're in the building business. Code is simply a means to an end.
by AlldenKope on 5/19/16, 11:01 PM
If both of these screened avenues of entry to software development are as promising as these metrics indicate (each with their pros and cons) here are some potential larger takeaways for companies:
1) Invest in the continuous development of your employees, regardless of their background and seniority
2) Hire for teams, and diversify teams with both CS and BC grads
3) Hire more people in general (maybe on a probationary period)
Fit to small teams with the goal of cultivating experientially diverse teams, and spend significant time developing employees - junior and senior.
Any intellectual work should involve continuous learning and development. If the company's focus is restricted to current projects, or on the bottom line, or if managers enforce strict division of labor, an organization will warp to optimize for those metrics and become less adaptable to inevitable changes in the market (or within the company) and the company will fail to compete - or at minimum incur major opportunity costs.
What these metrics suggest is that if you take relatively successful candidates and invest in their individual development, both in depth and breadth, that investment will pay off. You'll create engineers who find better solutions to problems and - more importantly - who find better problems to solve.
by HNcow on 5/19/16, 5:29 PM
1) One candidate had no idea what the terms "Class" or "OOP" even meant. I'm FINE with them not understanding stuff like sorts/advanced data structures, but he ACTUALLY had 0 idea what an int was. No lie!
2) I wish there wasn't such a heavy reliance on MongoDB in most of these programs. Some do have SQL as well, but I feel like 80% of workplaces will be dealing with SQL, so I'm not sure what the focus on Mongo is all about if the purpose of these programs is to make you hireable. I think it's that it's an easier concept to relay since you're working with JSON everywhere already, but I've seen a bunch of people have a very strong bias towards Mongo to the point where they seem to not understand why you even would use SQL.
3) This part might get me in trouble here, but we are a small company in NJ and budgeting 50k for the junior 0 experience position. Most of these bootcamps in Brooklyn or Manhattan instill that you minimum should be making 60k and not to even look for anything else. I disagree with that personally, but I realize it is possible for grads to make this (especially in NYC). I've just come across a few that scoff at us for the pay we have, and I do understand it, but some of my higher ups who don't really feel comfortable with the bootcamp concept don't think they are worth it.
Obviously there are a lot of pros with hiring them as well. I think typically they are the more qualified candidates skill wise. None of the ones we've come across have been a great fit so far though, but I think it's because of how close to NYC we are. These programs are based there, and we have trouble competing with the salaries there. That's why we have been having more luck finding college grads from the NJ area though, they don't have these kind of higher expectations.
by ammon on 5/19/16, 4:54 PM
by Jormundir on 5/19/16, 7:21 PM
I think there's a strong argument to make that university programs are too focused on theory, when the vast majority of their students are going to go out and get practical engineering jobs. I don't want the pendulum to swing too far to the practical side, though, because then you lose the long-term benefits of getting a CS degree. Although, schools can certainly buff up their practical material.
Anecdotally; when I participate in hiring, I tend to discount the bootcamp grads. Maybe it's unfair, but my experience hiring them has been that they know how to interview well, and know their tools well, but when you compare them a year in, they're pretty far behind their university counterparts. I see a plateau, where it's hard for a lot of bootcamp grads to move from doing generic web development to designing more challenging systems. Obviously it depends on the individual, but this seems to be a categorical struggle for bootcamp grads with little technical background. A lot of companies really just need more people doing web development, so being open to the bootcamp pool is essential, and ruling out bootcamp grads is silly.
by jhchen on 5/19/16, 6:34 PM
There is value in being balanced and diversity, but this applies to teams, not necessarily individuals. Not everyone on your engineering team needs to be an architect. After your globally distributed, fault tolerant, realtime, highly available system is designed, somebody’s got to build it. And most startups or software teams have no business even trying to design such a system in the first place.
In the US, my generation was told we all needed four year degrees. We don’t. Some jobs and some roles certainly but the entire population of future adults?
There is an engineering shortage in the US because everyone was too busy getting four year degrees in more well rounded fields. Meanwhile Apple needs tens of thousands of engineers that could have been trained by two year vocational programs that the US was apparently above for our children, and thus cannot meet their business needs.
And yet this data from Triplebyte is incredibly encouraging because while we screwed up the educational policy, it may not be so difficult to fix.
by morgante on 5/19/16, 6:57 PM
Specifically, the average engineer out of either a bootcamp or college is pretty mediocre. But the top 10% of engineers are mostly college graduates and are definitely not bootcampers. This is because the best developers are overwhelmingly passionate about development and have been doing it since high school. If you love programming, you might go to college to get a firmer academic standing. You definitely won't go to a bootcamp—if you've been programming for 5 years, a 3 week bootcamp makes no sense.
On the other hand, when it comes to the bottom tier I suspect bootcampers are a lot better. This is mostly because the bottom tier of CS graduates are atrociously bad. Regrettably, it is possible to graduate with a degree in CS without ever having written a single program by yourself. They slink by mostly through cramming for exams and "collaborating" with peers. My impression is that bootcamps are actually less tolerant of this behavior: you won't make it through a bootcamp without ever programming autonomously.
by caconym_ on 5/19/16, 6:19 PM
The "practical programming" bit is a little more depressing, though it does ring somewhat true based on what I've seen in real life. How people can spend 4 years programming and still consistently fail at building decent abstractions, I have no idea.
Also, where is the "neither" category? There are dozens of us... dozens!
by WWKong on 5/19/16, 7:11 PM
by bunnymancer on 5/19/16, 5:22 PM
Of course 3 months is going to get you running with a solid basic knowledge of your stuff.
In what world would low-level, algorithms and data structures be doable in 3 months?
Point is, I don't think Bootcamps and Colleges are comparable.
It's like being a woodworker and a forester..
There's a place for each and it's not the same positions...
Now, here's my big question:
If your interview includes Practical programming, Web system Design, Algorithms and Low level system design...
What in the nine hells are you hiring for?
Had it been for a trucker position you'd be asking for "driving license, laws and regulations, engine design and car physics"..
For reference: https://i.imgur.com/sh7LJgj.jpg
by felix_thursday on 5/19/16, 8:56 PM
I did the WDI bootcamp through GA, and loved the experience. My motivations weren't to become a full-time web dev, but to become a much better, more well-rounded product manager. It's paid off 5x over so far.
There's a ton of garbage bootcamps out there, and it's unfair to lump them all together -- it's unfair that these exist. period. While, you can't replace the deep technical and theoretical understanding you get with a classic CS degree, if your goal is to build web apps, do you really need the formal experience, or can you learn that on the job?
by avs733 on 5/19/16, 5:21 PM
College is largely about transitioning children to adults (we can argue that separately) the personal and professional development that students go through over 4 years is vast. They are becoming adults in many frames, including understand the world and technology as systems. They aren't just learning to code, they are learning how to think.
To the extent that I know (warning: anecdata) Bootcamps presume a lot more worldly knowledge, attract and expect more grown up students, get students with direct interest in web/software/apps, and are much more likely to get career transitioning students (from the people I know who have bootcamp'ed). They have a much broader knowledge base to build on which will help them in some areas and hurt them in others. I would be curious if Triplebyte has any data they can touch at all looking at that.
Simply said...a 22 year old college student with a CS degree and a 35 year old BC grad may look similar on metrics but function entirely differently as employees in both the short and the long term...caveat emptor, figure out what you need.
by ogrev on 5/19/16, 8:19 PM
Good luck.
by harlanji on 5/19/16, 8:19 PM
I dropped out of high school because I was making good money by 18... kept working, saw my own limitations, and did a BS degree in 3 years, graduating at 26. That was 5 years ago today, actually :)
I see this same distinction in practice, thanks Triplebyte for quantifying it. If I were staffing an engineering team, I'd absolutely take junior engineers from bootcamps and senior engineers with university backgrounds. I like the surgical model from The Mythical Man Month, and have seen elements of it working by hiring junior test engineers of varying technical backgrounds and training them.
I think a BS degree in CS makes a lot more sense when you're hitting the edge of your capability as an independent contributor--many may never need it, some will love going on a few year sabbatical and earning their 'piece of paper' (as I did).
Biggest factor that gave me an edge was I had lots and lots of context for all the content of classes, and I took notes every single day, Beginner's Mind style and didn't try to test past intro classes... even CS 101 with Scheme. I was also able to work on my mentoring/leadership skills with classmates.
by humbleMouse on 5/19/16, 5:04 PM
Ideal bootcamp:
-css/html/javascript
-angular or any mvvc data mirroring framework
-OOP and ntier patterns
-Stored Procs/ORM/SQL training
-Algos
-Webservices SOAP/REST
The college grads I work with tend to have written a couple shitty programs that don't really do anything, and their "final project" was hooking up a database to a business logic layer.
source: I have taught in bootcamps before and work with lots of new college comp sci grads now.
by jedberg on 5/19/16, 6:21 PM
This was the most interesting part to me. I'd love to see more on this.
I've always found it silly to ask algorithm questions of senior engineers. There seems to be an exponential falloff of that knowledge as one gets further from graduation.
by superuser2 on 5/19/16, 8:35 PM
- A multithreaded UNIX-like operating system with user programs, system calls, and a filesystem, with reasonable (if not entirely optimal) caching strategies.
- A TCP/IP stack for that operating system.
- An authenticated encrypted channel over my TCP/IP stack with forward secrecy by building a pseudrandom function up to a stream cipher, RSA with OAEP, Diffie-Helman, etc.
- Network services from the RFCs in C (we did a router and IRC).
- A high-level programming language with support for both functional and OO idioms based on the typed lambda calculus with recursion, lists, records, tuples, ref cells, subtyping, etc.
- A lexer, typechecker, and interpreter for that language using parser generator tools, a recursive descent parser, or a shift-reduce parser in a pushdown automata model.
- A formal specification of the evaluation and typing rules and a type soundness proof for that lanugage.
- A distributed KV store with Paxos, Raft, or Byzantine Generals running on my encrypted channel and written in my language (we used 0MQ and were given a 0MQ broker that could be told to drop messages for testing purposes).
- Greedy, dynamic programming, network flow, and ILP algorithms with proofs of correctness and efficiency.
My class work repositories put me about three quarters of the way there.
I'm sure bootcamps can teach people enough to tread water in a dynamic language web framework, and that meets real business needs and adds real value. But college is a chance to go deeper.
I know nobody is paying us to build our own lightsabers. But - and call me old fashioned if you'd like - I think a professional ought to be able to build his own lightsaber anyway.
by danellis on 5/19/16, 9:48 PM
For the sake of my ego, I'd love to hear that these bootcamp graduates have shallow, fragile knowledge in a narrowly focused area.
by dontscale on 5/19/16, 6:14 PM
Algorithms are commoditized into libraries. Web design has been commoditized with templates.
Open-ended programming is still more complicated, but putting apps on the web today is easier than static HTML just 5 years ago. Parts of programming will continue being commoditized.
So if it's easy to create something and put it out there, the great and all-important challenge that faces developers today is making it matter.
by danso on 5/19/16, 6:32 PM
This class is an elective, which means that students aren't expected to know HTML/CSS/JS before taking it, though the core CS classes (Java, C) are prereqs. This also means that students who don't take 142 could quite graduate without having any practical knowledge about web development.
That said, it's not because the CS students couldn't actually learn practical web dev, and as others have said here, the best bootcampers are often folks who have a STEM background already.
[0] http://web.stanford.edu/class/cs142/
[1] http://web.stanford.edu/~ouster/cgi-bin/cs142-winter14/index...
by nappybrainiac on 5/19/16, 8:34 PM
College is not just about learning to code. You also learn to deal with professors and how to get the best grades out of them. You figure out how much you can drink without the glaring hangout that interferes with your morning philosophy class. You sign those forms to get credit cards that haunt you till you have a job. If you're smart, chose a good college and get really lucky, you might actually learn something and get a job after graduation.
Boot camps are about learning to code, creating networks and passing interviews for tech jobs. You can't pledge, or hang out with the furries, paint your face with your college colors for the football game at the weekend, or struggle figure out if your summer course fulfills the requirement for your social science elective.
These two places of learning can peacefully co-exist and each one has its purpose.
I even think that it would be good for some CS Degrees to walk into a bootcamp to explore something new and expand their knowledge.
Bootcamp replacing college? I don't think so. Not till bootcamps have long lines of students trying to change their course selections at the registrar's office.
There are some options that lie somewhere in the middle...
by pbiggar on 5/19/16, 5:11 PM
by lsadam0 on 5/19/16, 5:46 PM
I feel as though you are attempting to lower the bar of what is acceptable in order to sell something :). The word 'practical' is thrown around in this article without much of a definition. Are we talking about making simple web pages?
I've just finished conducting a round of interviews for a junior level position, and based on this experience I highly doubt I will be considering bootcamp graduates in the future. As an example, for a question which involved sorting an integer array, and providing a method GetElementAt(index)....95% of the bootcamp applicants implemented sort within the GetElementAt method so that the entire array is sorted with every single call. A handful of CS grads made the same mistake, but most of them did not. Is this sort of oversight excused in the idea of 'practical' programming? Or in your definition, is this considered deep knowledge?
by DougWebb on 5/19/16, 5:37 PM
by lordnacho on 5/20/16, 7:27 AM
- Bootcamp lady was very able on the iOS project we were working on. She seemed to know where things were in XCode, and she understood Obj-C and Swift (no embarrassing questions about what classes are). She didn't seem to know about other environments (and said so), but we were doing an iOS project.
- Ivy league guy seems to have touched every common language (c, c++, Python, HTML/JS/CSS, R, and more), along with common tools (vim, pyCharm, tmux, gcc, VC++, laundry list). I was surprised by how practical it was, actually. I thought it would be obscure algorithms the whole way, but I guess they take the theory and essentially force you to learn the practical aspects by implementing things in relevant stacks.
- Bootcamp lady was very good working in our little MVP team. Understood how common management ideas like Agile work. Conscientious with looking at the Trello board, asking questions in Slack. Not sure if this is just her personality, or because they tell you how software teams work.
- Ivy league guy had lots of group projects, but they tended to be dysfunctional. There was always someone shirking. Some people had no clue what was being built or how to compile it. There didn't seem to be any management oversight, just blind "let's get this piece done" type organisation.
- Degree guy has way more breadth. He was routinely looking at machine learning, implementing demos with scikit, setting up VMs for himself, looking at assembly, looking at SQL optimisation, and other diverse tasks. Bootcamp grad didn't need this stuff, but also would need significant training to get to that level.
- Ambitions were similar. My background is in financial code, and they both want to do that. Bootcamp grad has quite a mountain to climb, particularly with things that take more explanation than MVC. She has a good attitude, so if someone would teach her she could do it. My brother is better positioned though, and would need less teaching to reach the same place.
by pbiggar on 5/19/16, 5:15 PM
Or, if I may suggest, a low-level/algorithmic bootcamp.
by somecodemonkey on 5/19/16, 5:29 PM
by RankingMember on 5/19/16, 5:10 PM
It's important to note that this is just my initial inclination. I have no expectation that there won't be instances of boot-camp hires being better than CompSci hires in cases. It really comes down to the particular person, and hopefully any hiring process would do a decent job of evaluating each person.
by partycoder on 5/19/16, 7:23 PM
They have a hard time identifying non-functional requirements, assessing and mitigating risk, and start getting confused when things go low level.
In my experience, all "friendly" technologies have sharp edges somewhere, where you start getting exposed to low level issues. When you face these issues, there's no guarantee the answer will be in stack overflow and you will appreciate having learned some theory.
by madiathomas on 5/20/16, 10:25 AM
Now companies can use people from bootcamps for such kind of jobs and use CS grads for deep and high level stuff. Surely some top bootcampers will be able to do high level stuff too.
by lxe on 5/19/16, 5:36 PM
Don't forget -- universities are also research institutions, while bootcamps are not, and the coursework will reflect this.
by babbeloski on 5/19/16, 6:09 PM
by Mc_Big_G on 5/19/16, 6:18 PM
by enricobruschini on 5/20/16, 8:11 AM
by balls187 on 5/19/16, 5:37 PM
Solution: hire a college grad and send them to a boot camp.
by savrajsingh on 5/19/16, 6:53 PM
by JustSomeNobody on 5/19/16, 6:38 PM
Now, what bootcamps aren't going to give you is the breadth of a CS degree. But if you're getting a CS degree just for the money, you're not picking things up very well either.
So, I can see where a certain % of CS students and bootcampers are roughly equivalent.
I feel if you're very interested in CS and get a college degree and do really well in college, you're going to come out ahead of someone taking a 3 month bootcamp. I also feel there's more opportunity for CS degrees. ie, one probably isn't going to see too many 3 month bootcampers doing real time development. (I'm talk real real-time, not that buzzword web real time.)
by megapatch on 5/20/16, 6:32 AM
by Fiahil on 5/19/16, 8:03 PM
To my knowledge only the top tier of american colleges (MIT, Berkeley, Stanford, ...) come close to that achievement. But, in France, where I live; I had the opportunity to go to a private school "specialized" in computer science (Epitech, 42, if you wanna look it up), that was mostly an "enlarged bootcamp" from year one to year three. It was kind of funny, for me, when my peers from traditional schools ended up discovering version control in their final internship.
[1]: Once you replace the shitty paper exams by actual projects in programming classes, you'll be amazed by how much you'll increase student proactivity.
by shubhamjain on 5/19/16, 6:01 PM
One thing I am curious about is, does a bootcamp make you proficient enough to avoid those mistakes and contribute directly to the application? I am pretty sure, it could have been a lot of help if someone could point out the mistakes I am making in my code, but I am not sure if it would have been enough.
by norea-armozel on 5/20/16, 2:08 PM
by wanderr on 5/20/16, 5:12 PM
There are some diamonds in the rough and some bootcamps are better than others but in general I'd much rather see someone who learned by hacking on things alone than a college or bootcamp grad.
by redschell on 5/19/16, 5:22 PM
Sure, I could learn most of what I need to know on my own time, but this might be a great way to get it done quickly in a batch and then move on to applying it in a very practical way with my customers.
by seattledev14 on 5/19/16, 8:17 PM
In college, most people don't declare a major until their Sophomore or Junior year, so the idea that competition is a 4 year degree is a bit misplaced. Code Schools don't teach music appreciation, though there are a lot of musicians. Bootcamps offer an intensive at 40+ hours a week vs. a two hour class two days a week.
Can you deliver skills based training in 10 weeks? The placement rates would say yes. Do some schools focus on placement while others focus on taking tuition... That's true as well.
Look to find the school that has a placement track record.
by ArkyBeagle on 5/20/16, 12:50 PM
A degree improves the chances of this. About half of what I do is teach these things, on the job. Just being able to classify a systems error can be daunting - is it a show stopper, or an ignore, or something in between?
I see bootcamps as being fine for getting people into seats, but the rest takes a long time.
Finally, employability and what (IMO) CS/programming should be about are diverging rapidly. This was not always so. This is starting to be a real problem.
by egonschiele on 5/19/16, 6:53 PM
I'm hoping this will be an easy to read algorithms book for bootcamp grads. Here's a sample chapter for anyone interested: https://manning-content.s3.amazonaws.com/download/f/a75f93d-...
by Philipp__ on 5/19/16, 5:34 PM
by AlexeyMK on 5/19/16, 9:12 PM
- At what rate do bootcamp grads vs new grads get offers (intro --> offer at portfolio companies)?
- Is the above metric significantly different for different classes of companies (either segmented by company size, field, or "CRUD-eyness" of company?
As a former hiring manager at a "much harder than CRUD" company, I remember looking at some bootcampers and saying "I wish we could interview these people, but the knowledge gap is just too significant".
by kemiller2002 on 5/19/16, 5:59 PM
All those concepts that they teach in CS isn't about knowing the name of an algorithm, it's about thinking abstractly. I honestly don't care if a recent grad knows how to use IDE x or even much about source control. I can easily teach them that. I can't easily teach a person how to understand pointers or pass functions as parameters. I don't need someone who can write code; I need someone who can look at a problem and realize that we can cut the amount of work we have to do by understanding programming concepts at an abstract level. It is very hard to achieve this in a 12 week course. Can some people do this? Sure, they may have the background from a previous career that aids them in this, but they are the exception and not the rule.
by seanhandley on 5/19/16, 7:53 PM
Given how long it takes universities to update course materials, I'm not sure they can compete with this kind of education programme. It's true that a lot of the fundamental computer science is missing but with senior devs on the scene, any gaps can be filled with an afternoon around a whiteboard.
by AJRF on 5/19/16, 6:36 PM
They shop their students and curriculum around to employers all over the county (some on an international level).
There is going to be a lot of inertia involved when it comes to hiring from Universities that most Bootcamps don't even consider or spend time doing. I don't think they give universities any cause for concern, and wont, for some time.
by swalsh on 5/19/16, 5:23 PM
by lyime on 5/19/16, 6:52 PM
by andrewfromx on 5/19/16, 6:27 PM
by vparikh on 5/19/16, 5:38 PM
by baron816 on 5/19/16, 7:54 PM
by kbuchanan on 5/19/16, 5:42 PM
by data4lyfe on 5/19/16, 5:19 PM
by brandonmenc on 5/19/16, 5:34 PM
The results make a lot more sense when you look at it that way.
by personjerry on 5/19/16, 5:27 PM
by puppers on 5/20/16, 4:36 AM
Bootcamps teach students programming, definitely not CS. I highly doubt they could teach a student 4 years of CS material in 3 months.
by Kinnard on 5/19/16, 6:39 PM
Surely they've received some applicants in this category.
by strathmeyer on 5/20/16, 6:15 AM
by emodendroket on 5/19/16, 6:40 PM
by provemewrong on 5/20/16, 9:48 AM
by findjashua on 5/19/16, 7:22 PM
by mmkx on 5/19/16, 5:23 PM
by forgotAgain on 5/19/16, 6:46 PM
by soneca on 5/20/16, 12:42 AM
Is there anywhere a curated list of good, recommended, worth your money bootcamps?
by genzoman on 5/19/16, 7:17 PM
if that's not enough, revise the whiteboard question.
by andrewvc on 5/19/16, 6:25 PM
What, they bred the capacity for abstract thought into you in college?
College attracts a generally higher quality applicant pool. You're mistaking selection bias for an effect.
Let me tell you, I've interviewed programmers from all over. There are boatloads of people with CS degrees with close to zero capacity for creative thinking. There are also boatloads of CS grads who can barely code their way out of a while loop (true story!).
I've spent my career (no CS degree!) working alongside CS grads. I've gone further, faster, than most of them. I've had to deal with this kind of idiotic commentary over and over again.
CS grads are always surprised that I never got a degree (oh, I never would have guessed! you're different, its those OTHER people without degrees who are idiots). Four years of school + the associated debt creates a big incentive to believe that you got a square deal out of college.
by Ologn on 5/19/16, 8:27 PM
Yes, it is very hard to believe. Impossible, actually.
> Bootcamps, are intense. Students complete 8 hours of work daily
In-class time is not the gauge for college. Students are supposed to spend at least three hours studying for every hour spent in class. On top of that are office hours with the professor, as well as contact with the TAs or study labs.
If my courseload for a semester is Calculus 102, Theory of Computation, Algorithms 201, Principles of Programming Languages, and Computer Architecture, I don't see how it is different than a bootcamp because a bootcamp is "more intense". I don't know how you can get more intense than juggling these five topics.
> Traditional CS programmers spend significant amounts of time on concepts like NP-completeness and programming in Scheme...But it is not directly applicable to what most programmers do most of the time. Bootcamps are able to show outsized results by relentlessly focusing on practical skills...How to use an editor is something that a traditional CS degree program would never think of teaching.
Ugh.
I took a course in OS principles and then one in distributed systems. The first course covered mutual exclusion somewhat, the second much more. I spent quite a lot of time writing complex Java programs that handled mutual exclusion well. Guess what I am doing today, years after that course? Writing a complex Java program that uses mutual exclusion. I only took that second course because it fit my schedule, but it has come in very handy over the years.
Insofar as NP-completeness being "academic CS", I have unfortunately seen too many bugs ( https://bugs.freedesktop.org/show_bug.cgi?id=3188 , https://sourceforge.net/p/jedit/bugs/3278 etc.) where people did not heed the polynomial growth of algorithms.
They're trying to dumb down what you can't dumb down.
The reality can be seen if you look around a SoMa startup and wonder where all the grey-haired programmers went. Where did those programmers who were in their mid-20s in the late 1990s, programming for the dot-com startups, in an even more inflated market, go? Where are the grey-haired, balding programmers in your company?
And this bootcamp is the answer. Just look at the real estate prices and you know the market has heated up. Naval Ravikant turned down $600 million last year because he said there weren't enough places to invest that. Despite talk of perhaps some cooling since the beginning of the year, things are pretty hot. So get some kid to go to a bootcamp for a few months. They can only get their hands on one real programmer, but they can hire a few of these bootcamp kids to do a few MVP's, or maybe code some features up, which the real programmer will have to fix later.
What happens to these kids later, who have no foundation in what they're doing, who have no deeper understanding of what they're doing?
> programming in Scheme...How to use an editor is something that a traditional CS degree program would never think of teaching.
That's because a traditional CS degree program teaches you to write your own editor if need be. Stallman went to MIT and wrote Emacs, Bill Joy went to Berkeley and wrote vi.
What the hell point is there to teaching an editor? I was using Eclipse with Android plugins a year ago, now I'm using Android Studio. University is to teach concepts which will exist decades from now, not the Javascript library framework du jour.
The ones who will make out on this are the bootcamps, and the companies who can use these kids when the market is hot and will dump them when their usefulness is over. Just like what happened in 2000 (or 2008). You'll see what your bootcamp and two years working at a failed startup amounts to when the economy cools, job listings dry up and the posted ones say "BSCS required". Being able to cut and paste from Stack Overflow and use frameworks other people wrote and extended is not an educational foundation.
There are a lot of strawman arguments on the other side. Yes, the hardest working, brightest bootcamp graduate is probably better than the laziest, dullest person who managed to graduate from some third-rate college and get a CS degree. And so forth. None of that detracts from the point though.
by eastWestMath on 5/19/16, 7:58 PM
by puppetmaster3 on 5/19/16, 9:07 PM
by DaveParkerCF on 5/19/16, 10:15 PM
At launch, there was a lot of pent up demand. 400 people applied for a Ruby class of 25. Most that took that first class had been self taught and in the surveys said they had been hacking at projects for an average of 18 months. Code school was a way to speed their path into a professional developer role (note developer, not engineer).
The majority of students today already have a degree and are looking to switch careers, average age of ~30. They are looking for skills to transition so in that way, going back to college isn't an option unless it's for advanced degree. The same is true for the veterans that are transitioning to the workforce, they have been in a very structured environment and want to speed through job ready training vs. four more years at college.
"Stack switchers" tend to be the top of the compensation range. If you have 10 years of .Net experience and want to switch to iOS. You'll earn top dollar. If you don't have much real world experience you'll land an entry level JavaScript job with that skill.
The needs of hiring companies has also shifted as the market has matured. There are more "code school grads" in the market looking for jobs, so the process of screening needs to be better, interviews need to be improved and tools like triplebyte.com improve transparency of skills. Hiring Junior developers has never been the preference for employers. Everyone would rather hire both skill and experience. But when you're competing with larger companies in a hot job market, you'll often take Junior talent that is a good culture fit.
By culture fit I mean a combination of past education, work experience and new skills. Combine that with work ethic and desire and you see why most of the strong code schools have a high (90%+) placement rate.
Curriculum have changed as well. Code schools have to be teaching at the front end of the hiring demand. Teaching an old tech stack where job postings are heading down won't work. Review StackOverflows recent survey if you're curious about stack preferences.
Code schools are also required to be licensed with each state where they do business. That's a requirement not all schools follow. It's really about consumer protection in that way so check with your state.
The industry is still immature and you're correct that there isn't any reporting standards, e.g. are placements rates reported at 90 or 180 days past graduation, etc? We're working with a number of companies like the Iron Yard to standardize on reporting and moving to audited results over time. I hope that someday we can apply the same placement rate standards to other academic institutions. As a dad of college age kids that would be amazing (note the White House tried that two years ago with a scorecard and the Universities said no).
Regarding the debate of should everyone learn to code or no one learn to code? It's a skill, it's not for everyone. It's a job that isn't for everyone. There are a lot of online resources, information sessions and one day courses, start with the low risk version and see if it's for you. With an average starting salary of $71k in Seattle, the compensation appeal is a strong draw for people outside of the tech industry. You may be drawn to the compensation just make sure that you are also drawn to the work.
by trich7 on 5/20/16, 4:30 PM
Nothing can replace a 4 yr degree with basis in theory and multiple subjects but bootcamps offer people a way to jumpstart a lagging career or make a step into a new one. Being hirable in this industry is saying something, and that is what a great bootcamp should do.
That being said bootcamps are teaching current real world and career-like solutions. Many argue that you don't actually get the real-world experience in CS 4-year degrees due to behind the time curriculum (due to long approval processes that coincides with accreditation) and long and sometimes boring lectures without a lot of application. Bootcamps take a flipped classroom, hands on, and immersive approach. Less lecture, more project-based learning.
Many developers fall under the 41.8% group on the recent StackOverflow study of self-taught developers. A very large number of developers in the market are finding their skills in very non-traditional ways. What many CS grads learn is undoubtedly useful, I would never take anything away from that, but with software expanding into so many different fields, blurring the lines between who was traditionally an "engineer" and who isn't, and with the increasingly rapid pace at which languages/frameworks/best practices are constantly changing, there are a lot more opportunities to contribute in code than by cooking up advanced algorithms with linked lists.
In fact, many of our partner employers were frustrated by the lack of applicable, modern technology competency by the CS grads they were interviewing. As only one piece of anecdotal evidence to this: we've had various CS grads take our programs because (as they described) they only learned languages that were not anywhere to be found in the companies they were interviewing with.
Companies are starting to recognize that those who apply themselves in a bootcamp are able to learn quickly and adapt to new technologies and projects easily. Employers are looking for someone to get the job done with the skill set that matches the technologies that they practice. Many employers don't care if employees have acquired that skill set in a garage when they were 12 years old, at MIT, or at a coding bootcamp.
But, bootcamps aren't for everyone, you really have to apply yourself and consume content quickly. But if those requirements are met, bootcamp attendees really can excel! I know because at ours we have had so many success stories just like the afore mentioned where a student truly applies themselves, lands an amazing job, or starts a hot tech company and truly changes the trajectory of their life. Plus it happens in a tenth of the time of a 4-year degree and at a fraction of the cost ;)
Bootcamps offer a more personalized mentoring. Being able to see delegates, resonate with students emotionally, pick up on subtle nuances of communication and respond appropriately is the very essence of education. I believe passionately that training and coaching are not about getting something from one head to another, but are an intimate dance that transforms both parties.
I hope that helps a bit.
by analognoise on 5/19/16, 6:53 PM
It's cheaper to have somebody who doesn't have a real education.
by douche on 5/20/16, 1:56 AM
I don't think that a traditional CS degree makes you code enough to become a good software engineer. I certainly wouldn't have gotten enough practice actually writing code if I just did my coursework and didn't dabble in other things, like game development. Let alone other practical skills, like debugging/profiling (barely touched upon), source control (likewise), testing (completely ignored), project management/estimation (noop...).
I'm still amazed and horrified that I took a Data Structures and Algorithms course that required nothing beyond proofs and a little pseudocode - not a line of actual, working code. It could be tailor-made for really understanding memory-management or TDD.
by serge2k on 5/19/16, 8:04 PM
Of course not. Why would they ever do that. It falls into the same bucket as version control. It's useful, but go learn it yourself because it's not that hard.
by indatawetrust on 5/19/16, 10:40 PM
significant.