Regarding salary compared to doctors? It seems better than it is. In Norway, starting salary for doctors is about the same as anyone with a masters degree.
When I dropped out of college to start working in tech I spoke with one of my professors who urged me to do a bootcamp instead (he had some kind of loose affiliation with it) and was able to spew off some impressive statistics, 90%+ employment rate, amazing salaries, etc.
I told him that moment that there was no way those statistics were honest, at the very least they were surely either maintaining ludicrous acceptance standards (only accepting experienced developers who already had hiring potential) or were using loose interpretations of the words "employment" and "salary" where a job was a gig and perks got attributed dollar sign values etc.
I did not go the bootcamp route and to this day maintain the same opinion, the value of bootcamps is dubious at best and a cash grab similar to for-profit education in the United States at worst.
And finally I'm extremely cynical of "that one success story that proves x was a good idea and you should do it too". Although I found your article very thoughtful, I can't help but draw connections between "That one new dieting trick that helped Larry lose 20 lbs in six weeks!", and "That coding boot camp that directly led me to make more then my doctor friend".
Any thoughts on my skepticism, given that you've actually done one? Again thoughtful article, it makes me feel bad for shooting down bootcamps.
As a hiring manager who has hired from boot camps, I view boot camps simply as an organized medium to encourage career change into tech. They are not unlike undergraduate computer science programs - neither program is required to start a career in tech, but some people need organization and a clear path to get there.
Sometimes a little guidance and networking enables an individual to excel where they might otherwise find themselves lost. Boot camps can provide this stability, as long as the program isn't misguided.
In the end, it's down to the individual to make their career. I would never hire blind from a boot camp.
Completing them also signals dedication and a strong work ethic, which are very important qualities to have in programming, especially when starting out.
I do agree that one persons success with something (getting a job, losing weight etc) isn't a very good prediction on most people's result using the same technique. And yes, I don't think all aspiring developers should do a bootcamp either. It wont replace a CS degree, and there are tons of ways to become a developers just using online tools/courses.
My motive with this article isn't to encourage more people to go to bootcamps, but help those who want to go do bootcamps do better research before they apply, as there are a lot of bad bootcamps out there.
Given the lack of web developers and demand for the skill, I don't doubt that some schools have 90 percent hiring rate.
I applied to a bootcamp in Austin a few years back that was boasting about its insanely high placement rate, so I did a little research. They gave all students a "developer intern" title or something similar and told them to go update their LinkedIn profiles. A quick search on LinkedIn showed that they were including people who failed at getting engineering gigs and went back to their old jobs in their placement figures, which seemed super misleading. I messaged a few grads that didn't have developer titles and got some very sobering responses.
I don't blame bootcamps for not getting everyone hired, but touting these ridiculous figures with hooks like "our avg dev grad makes $75k straight out of our program" seems to incentivize people into thinking there's a short path to solid pay, and not emphasizing how hard the work is. It just felt so much like a miniature for-profit program that I pulled my application and got a job after building some stuff on my own.
I briefly taught at a bootcamp, but no longer have any affiliation with them, and I don't have any incentive to be dishonest one way or another.
They aren't perfect. There are cheaper ways to learn. Instructor quality is uneven, and the tendency to hire their best students as instructors means that many instructors never see real-world applications.
But the cynicism about their intentions is misplaced. The people who run bootcamps are generally passionate about changing students' lives.
The students I know all said the bootcamp was a great educational experience.
Rather than pump up the employment numbers with fluff, our bootcamp was careful not to inflate numbers (for instance, not counting the people we hired internally towards the placement rate).
That's just my experience with one bootcamp, and I'm not saying it would have been right for you.
I did not; I feel I'm only judged by the work I do, not my background.
Though the transition was a bit hard, as our product & codebase is much bigger than what I was used to. Plus there's so much setup and various tools being used in the codebase which I don't really know anything about.
Compared to my projects at Founders and Coders, where I pretty much knew most of the codebase of our projects.
As for the actual coding; my React & Javascript learning curve has been steep, but manageble. If you'll get from 0 to half professional, you're also able to go from half professional to professional.
I would simply not have been able to do the work I'm doing.
Awesome day: I get to start building a whole new feature on our product, features that'll make a difference for our customers.
No days are actually dreadful, but it's not very fun get assigned to bug fixing. This normally involves digging through old code I know nothing about (in various different files) and trying to understand the functionality and struggle my way through fixing it.
So prior to your coursework, what work were you able to do, and afterward, you're able to work with certain frameworks more effectively? Write code from scratch more effectively? Do design independently?
Prior: knew some jQuery & JS, a little bit of Python. Did not know how to use Ajax, setup a server. Generally bad algorithm skills. Knew nothing about Node & React.
Word to the wise: fix those bugs. Digging into that old code will teach you a ton about coding and your product. Yeah, it can be painful at first but you may find it to be just as rewarding as writing new code in time.
I really hate to see promotion of bootcamps on HN. I see them as the scourge of the tech industry. Telling people that a 6 week bootcamp is the same as a 4 year CS degree is absurd and offensive.
Throughout the first dot com boom, we struggled against perceptions that software development was something trivial done by teenagers in their spare time. This perception was highly dangerous, not only in terms of professional respect, salaries, and promotion opportunities, but even to businesses themselves and the law, as companies were forced to try to explain in court that achievements such as the Google search algorithm were on par with a major pharmaceutical project not a lemonaid stand.
Imagine a bootcamp for medicine - in 6 weeks they learn the most common procedures: how to prescribe antibiotics, how to remove an appendix, and how to set a broken arm. They're told they can learn the rest as they go, and to go start calling themselves doctors.
I wouldn't want that medical bootcamp 'doctor' to treat me, and I don't want a coding bootcamp 'developer' to be responsible for handling my medical data.
"Telling people that a 6 week bootcamp is the same as a 4 year CS degree is absurd and offensive."
Any bootcamp telling that to people is obviously lying. Most of them don't make this claim. The ones that do are better at marketing than teaching.
"Imagine a bootcamp for medicine - in 6 weeks they learn the most common procedures: how to prescribe antibiotics, how to remove an appendix, and how to set a broken arm. They're told they can learn the rest as they go, and to go start calling themselves doctors."
If a website goes down, nobody dies, let's be honest here (in the vast majority of cases). Also, you're not thinking about this openly enough - not everyone can teach themselves to learn to code, and bootcamp grads are not expected to become senior software developers in 6 weeks (plus most programs are 10-14 weeks). Instead, they're expected to get a junior level position and keep learning.
I just think that you're view of bootcamps is WAY too black and white. Have a little imagination and understand that while they're not the right thing for everyone, there's a gray area and many people actually benefit from them and get a programming or tech related job, or find out that coding is not for them, both not terrible outcomes. And then there are bootcamps that are actually harmful - but it's kind of wrong to group those in with everyone else.
Just saying not to have a kneejerk reaction about something that's a lot more complicated than you think it is.
The damaging thing most of these websites can do is leak personal information. Sometimes just annoying, but large scale password breaches can escalate to secondary problems for the public.
A 4 year CS degree does not necessarily encapsulate security training as it's usually an elective, but it at least gives the foundational understanding of algorithms to understand why something is secure vs insecure.
While I agree that a 4 year CS degree is superior to a bootcamp in terms of computing knowledge and skill, the notion that knowing anything about algorithms leads to knowing simple web based security, most of which is baked into whatever framework you're using anyway, is silly.
Well...if a major site goes down or many sites go down then companies lose revenue which causes job loss. With every 1% that unemployment increases, 40,000 people die/commit suicide. So...down sites can cause death and vast harm to the economy as a whole ;)
Job loss and fatal hemorrhaging of money can happen for a million different reasons. Having a few novice folks on board just "learning the ropes" and making some mistakes along the way isn't going to kill any company, let alone damage the industry.
Disagree. For me the proof is in the pudding. There are already so many shitty developers crowding the ranks of the tech world I fail to see regulation making it better.
This not an uncommon belief. Bootcamps are designed so that people can become employable without having to go to college. Anyone who went to college will understandably dislike that premise.
Most bootcamps are 10-14 weeks, not 6. Most bootcamps are taught by or founded by people from successful tech companies. Most bootcamps work with real companies to design curriculum that teach the equivalent of what the company would have to teach their new hires anyway.
It's healthy to be sceptical, but the reality is that the hiring statisics that most bootcamps put out are Real. Most people get hired. Most people get competitive salaries.
Bootcamps only exist because thousands of bootcamp graduates have been getting jobs at real companies for the past 5 years. There are some that are bad (poor curriculum, poor teaching, poor outcomes), but that's why you can check their statistics and reviews, and make the decision for yourself whether they seem reputable or not.
Telling people that a 6 week bootcamp is the same as a 4 year CS degree is absurd and offensive.
Having met and interviewed many CS graduates I've found that a lot of them simply can't write code. The ones that can tend to be the ones who've learned in their own time, often being able to write software before they even went to university.
If a 6 week course can get someone to be even 50% as good as a 4 year degree then the degree is the thing that has a problem.
> If a 6 week course can get someone to be even 50% as good as a 4 year degree then the degree is the thing that has a problem.
Defining 50% here would be hard. I may not use all of the skills I learned at the university, and one may learn more at the beginning of one's study, but I fear it takes the good part of 2 years to get to 50% of a 4 year CS degree.
Learning is also a kind of Maturation process where ones abilities tends to grow over time. This may be hard to substitute, even by study more intensely.
"I wouldn't want that medical bootcamp 'doctor' to treat me, and I don't want a coding bootcamp 'developer' to be responsible for handling my medical data."
The medical example's a good one - a cursory google search [1] turns up a table that shows the various types medical professionals you might encounter if you, say, break your arm. Perhaps programming needs something similar? We're already segmented in some fuzzy way between "Software Engineering," "Software Architect," and "Software Developer."
A 6-week bootcamp for medicine can teach you First-Aid, CPR, and a lot more. Similarly a 6-week bootcamp for programming can teach you some of the basics good enough so that you can build a project by yourself.
I would argue that both should be required for any college degree. And yes, they are not the same as a 4-year degree. And those that do the 4-year degrees should have enough more knowledge and experience that people want to hire them as well.
I think there is more of a problem with the lack of great 4-year degrees as opposed bad 6-week bootcamps.
> Similarly a 6-week bootcamp for programming can teach you some of the basics good enough so that you can build a project by yourself.
The problem is that's not how they're marketed. They're marketed as qualifying you to be a full time developer, equivalent to a CS degree holder, and advertise 6-figure salaries.
Nobody goes to a First-Aid class expecting to come out with a 6-figure doctor job.
You don't need a 4 year CS degree to do basic web development. Sure, you don't want a doctor with only 6 weeks of training... but I bet you could get a decent massage to help a sore back from someone with only 6 weeks of training. Lets not pretend that being able to put a form on the web and do basic CRUD to a database is the most advanced coding in the world.
Your CS degree will help you do more advanced work that your average web dev cannot. And I agree that bootcamp graduates are over-hyped. But if you want a head start into coding vs. learning on your own, and are willing to pay money to get it, then bootcamps are fine.
Even this can be deceptively complex, since most CRUD databases sit behind user authentication, for example, which leads down the rabbit hole of properly storing user credentials.
There are simple tasks in software development to be sure, yet I hesitate whenever I feel myself believing "This is going to be so simple!" since that's usually how days or weeks of code-wrangling begin.
Yet, the military boot camp analogy is still shockingly accurate, everyone gets a few weeks of first aid in basic training and that's honestly enough because the platoon has a LT floating around, a couple levels of management higher, to make more difficult decisions.
LTs are handy once in awhile, but you really don't need a platoon composed entirely of LTs.
A better analogy is backhoe operators and civil engineers. We'd probably save a measurable number of lives and capital loss if all backhoe operators were fully qualified civil engineers. However in practice unless you're biting off more than you can chew, having one CE float around and stamp blueprints and write orders is usually a perfectly adequate amount of engineering support. In an ideal world of massive underemployment or over production in the edu sector, I guess all backhoe operators would be extremely bored and frustrated civil engineers.
> Lets not pretend that being able to put a form on the web and do basic CRUD to a database is the most advanced coding in the world.
There's a difference between knowing that this what you're doing when you build a web app and not knowing. The former requires a formal education or years of self-study.
Let me preface this by saying: I do not live in an area such as NY or SF where the top 1% of bootcamps exist and have a good track record. In case you haven't noticed, in 2015 the fast-foodification of code bootcamps happened. Local camps have popped up in almost every city. They are what the majority of the country has immediate access to.
In my experience, The majority of people leave boot camps with a seriously warped view of programming. Some of the graduates I've met come out of bootcamp with inaccurate/harmful/evil perceptions such as "These ruby commands aren't working...", "C++ is sooo outdated, why wouldn't you just use a user-friendly language like ruby", "What's the code for doing x, I can't find it online", "coding in html", "coding is easy", "you can learn everything online", "CS is the theoretical stuff", "I made a functional Twitter 'clone' in 3 days; it's on my github. [never mind the fact it's the nth iteration of the same cookie cutter 'open source project' as everyone else from camp... UGH]"
For iOS, it's not as bad. Out of necessity you need to learn a little bit more about OOP and compilers. However, these are the same folks that think that using getter and setter methods plus storyboard to get a UI up is worthy sample-app (Look, I made my own calculator.app - fork me on GitHub!)
I've seen all these types first hand. I have had the displeasure to work with some of them. None of these people had any clue what's really happening when they fire up MRI/node/whatever. None of these people ever wanted to be "found out" so they lie and bullshit, making them absolutley impossible to deal with.
They've been taught [read: brainwashed] into thinking that it's ok [advantageous, actually] to be cocky and "fake it until you make it." The boot camps I've seen go out of their way to reinforce the idea that you're getting your money's worth. It's difficult to correct them, since they are usually very insecure about their emotional and financial investment in the bootcamp.
IMO these black-box perceptions are extremely harmful for everyone that has to work with these kinds of devs. The worst part is they all circle-jerk about how useless CS degrees are for CS jobs.
After only 6 weeks of coding you are cargo culting. No matter what. You cannot a good web developer out of bootcamp. It's impossible. There are no shortcuts to good fundamentals and hands-on experience. Production-ready skills take years to refine and develop. It does not matter how intensive your "learn2code make 90k now" course was.
Apologies for the double post: for some reason HN locked me out of editing this post after 15 minutes. There are some grammatical errors I would have liked to fix.
> None of these people had any clue what's really happening when they fire up MRI/node/whatever.
This is what people don't understand. No, to add a few input fields or update verbiage doesn't require a genius. Neither does using a loop to programmatically update multiple objects/varibles. There are, however, certain aspects that directly benefit from knowing what happens under the hood or some CS theory. One of the most relevant concepts is callbacks.
Bootcamp graduates learn basic programming concepts and structures plus the syntax of a given language. Or in some unfathomable cases, concepts and syntax to "cover the full stack" in 10 weeks™. After that, every response is just a blank stare.
I'm not a bootcamp advocate. Yet, I think the doctor analogy is flawed, a navy corpsman is probably closer. Bootcamps might provide first aid and triage. Small businesses probably don't need someone with a four year degree to build their website.
That said, a small business might do better with someone bootcamped in sysops than Rails...and programs providing IT education have been around for decades.
Anyway, ask an average US licensed architect about IT's appropriation of the term, or a PE about software engineers with no documented training, engineering education, or competency testing about the long term benefits of being offended by the standards of the software industry.
That's just a chain of trust. Who checks their surgeon's credentials before going under the knife? You trust the surgeon's employer and the medical registration board in your jurisdiction.
The field of engineering offers a rough analog.
In Australia there's a society called Engineers Australia, who via the ITEE, evaluate and accredit educational programs before accepting graduates of said programs as members. There are equivalent organisations around the world (just as there are in the fields of law and medicine).
I can also give an example of how it works. My Bachelor of Information Technology states that I majored in Software Engineering. However the degree isn't accredited and therefore I'm not eligible for EA membership. I still refer to myself as a "software engineer" and show a degree from a reputable university, but I can't (and wouldn't) try pass myself off as an accredited Engineer.
I'm the cofounder of an online coding bootcamp called Bloc, I actually agree with the gist of what you're saying but it's a little more nuanced than that.
Even in medicine, you have many different types of degrees and certifications of varying depth and expertise. On the low end of the spectrum, you have medical assistants that can and do get certifications in less than a year and are seemingly qualified to do things like administer medicine. On the other end, you have MDs that require nearly a decade of training and are qualified to prescribe medication and do surgery. In between, you have roles like RNs and PAs.[1]
I don't think any coding bootcamp is claiming you can learn just as much as a CS grad in 12 weeks [2], but you can learn enough to be a junior web developer building modestly complex CRUD apps. Speaking as a CS grad myself, there's a surprisingly large amount of inefficiency in traditional CS curriculum and you'd be surprised how much you can learn in a short period of time. You're not going to work on Google's search algorithm or Stripe's ACH gateway after 12 weeks no matter how efficient the curriculum is, but for a lot of employers a junior dev is more than enough.
In software, the analogy to nurses and doctors is that there are: web admins that mostly set up Wordpress or another CMS for small businesses, web developers that can build modest to advanced CRUD apps, and software engineers that can work on architectural software problems like GitHub's RPC filesystem or Heroku's app router. Again, different employers have different needs and not everyone needs to be working on architectural problems: there are plenty of jobs for people who can hack Wordpress and build Rails apps, the employers who hire bootcamp grads for those needs are usually pretty happy based on our research.
Bloc is online so it's a little easier for us to experiment with different program lengths than an in-person bootcamp, we have three different programs that are 18, 36, and 72 weeks respectively and roughly line up with the role definitions I'm proposing here. We just launched the longest program, called the Software Engineering Track, exactly because we thought there was an opportunity to build something with the pragmatism of a bootcamp but the robustness of a CS degree. But, we still think there's a place for the shorter programs even if they're not a substitute for a CS degree.
We don't have any plans to, a well designed online program can be better than an offline program. It has different challenges, but also some unique strengths, i.e.
- We can scale 1-on-1 instructor to student ratios. Tech allows us to handle the logistics of tracking and coordinating students so that our instructors can work with each of their students individually and on their own pace.
- Everything is quantitive by default. We have a robust set of analytics about our students individually, as cohorts, by instructor, by course, etc. We're only now getting to the volume of students where you can see trends in the data, but it's exciting to see how we can improve the program based on what we see.
- The curriculum is higher quality. We use the flipped classroom model popularized by Sal Kahn: instead of listening to your teacher lecture for an hour and going off on your own to do homework, you watch video lectures on your own and spend time with your instructor working on problems. It's a smart way to use tech to automate lectures and allow instructors to do what human beings are best at: working with individuals and helping them work through their blockers and misconceptions. We've essentially started a video production team within Bloc to record videos and screencasts for our curriculum, our curriculum started out pretty terrible when I first wrote it four years ago but today it's the highest quality material I've seen online.
I do think there should be an in-person component to Bloc, but we don't want it to be a strict requirement for the courses. We're starting to organize meetups and events in the cities with our largest student concentrations so they can meet each other and attend Bloc events but it would be supplementary to the courses for students who can't or don't want to attend but still want to learn.
The 4-year CS degree isn't much better as a predictor of successful outcomes in software development.
In fact: the bootcamps themselves might be awful, but if they select for people who are sincerely driven by a desire to do software dvelopment, the bootcamps could be a better predictor than CS programs, which are selected off a menu by 18-19 year olds just arrived at a college that they were raised to expect to have to attend.
There's a debate amongst economists about whether the value of college comes in the form of human capital versus signaling. What you're describing is sort of the signaling theory, i.e. colleges mostly function as a sieve to help employers identify students who are driven and have passed a battery of tests that have no relation to job-relevant skills except that they're hard.
The human capital theory is that education gives students new skills and knowledge that makes them more valuable. In other words, all other things equal a student that learns, say, calculus is more valuable than a student that does not.
I'm not sure what the current economic consensus is, but an interesting thought experiment to test these theories is: the human capital theory implies that you accrue value as you accrue skills/knowledge in school, so if you drop out halfway through college you should still have earned half of your human capital and economically your wages should be higher than someone who didn't go to school at all but lower than someone who graduated. The signaling theory is more discrete, if you drop out halfway you don't get any of the value of signaling because you can't say you're a graduate. The wages of college dropouts should be the same as the wages of someone who never went to college at all if the signaling theory holds true.
I'm not sure what the data says but I suspect it would be muddied by different industries and degrees. My guess would be that software engineering education follows the human capital theory -- engineering hiring managers don't seem to care where you went to school or if you went to school at all. Other industries, typically those with less hard skills like management consulting, might rely more on signaling. That's just my theory though, haven't tried to look up any data to support it.
"Telling people that a 6 week bootcamp is the same as a 4 year CS degree is absurd and offensive."
Absolutely true, and I don't know any that do that. At the same time, I've interviewed many people with CS degrees who were severely lacking in any practical web experience, and didn't even know how to use version control. They both are incredibly different and yield different results/skills. If you've got the 4 years and money, the CS degree is a great idea. Yet, for many people in their mid-20's and 30's, going back to undergrad isn't really an option. I don't think everyone should be stuck with the decisions they made when they were 17/18 as their only career choices.
We do have the concept of "medic training". In the US Army, medics undergo 16 to 68 weeks of training (after basic). Are they doctors after that? Nope, but they've also saved thousands of lives. Same as a doctor? Nope, but still incredibly useful. Civilian EMT programs are ~6 months long if I'm not mistaken.
Do I need someone with a CS degree to do the CSS on the company's homepage? Absolutely not.
I don't have a CS degree. I work for a pretty great startup. I taught myself everything I know over about 2-3 years while transitioning from a business/marketing-centric position to developer at another startup. In many ways, I wish I'd had a bootcamp program (they didn't really exist at the time) to speed me through some of the things. Does it teach you everything? Nope, but it's a pretty damn good start, and would have easily shaved 18 months off that learning curve.
I'm seriously thinking about taking a boot camp for iOS development to rapidly ramp up and maybe gain a few contacts. I've been developing professional for almost 20 years, was a hobbyist through middle and high school, and have a degree in comp. sci.
A 4 year degree is overrated. Nothing I learned in 96 is relevant today except for my algorithms class and maybe my C class. My career and knowledge wouldn't have been any different if I had skipped college and learned everything on my own (which I did anyway). But hiring managers want a college degree so I am glad I have one.
Developers may not be open heart surgeons, but in some cases, it's even worse. The human body can heal on its own, and leaves ambiguous traces of the work done. Bad bits on the other hand continue to infect the system, a "tiny" security hole in the wrong place is as bad as a systemic infection.
EMT courses are often ~10 weeks long and CNA courses are ~6 weeks. Obviously not doctors, just like coding bootcamp grads aren't at the highest professional level.
No one is saying that coding bootcamps prepare people for senior level development or architecture. Most people I know who took them were hobbyists looking to transition to a professional (definitely junior) level. It's a quicker starting point, that's all.
I wish bootcamps were something different from what they are. Right now, they seem to be for taking people who are otherwise unemployable up to a level of competence sufficient to pass job interviews.
What I NEED, is a bootcamp that I, and experienced developer, can attend using the 2-3k and and 2 weeks off that my employer is willing to grant me. I'd like to take an advanced, high level course on unix administration aimed at people who don't do it full time, but are expected to be able to put out fires if needed.
Or a course in advanced jquery magic. Or a course that teaches me how to optimize a massive and archaic codebase. Or a variety of other things that I'm struggling to slowly learn on my own time.
No matter how many articles I read on the praise of bootcamps, none have been able to completely sway my opinion: I don't have to have a CS degree to be a good developer, but there are certain CS fundamentals lacking from bootcamps that are an investment in your future.
The issue, like another commenter mentioned, is that bootcamps are too much like for-profit colleges. Focusing on required skills only, much like a trade school, should be a viable way for people to pick up the needed skills. It seems, however, that bootcamps are over-promising and under delivering.
There is a local bootcamp for JS, HTML and CSS. For $6.5k ($12.5K is the advertised priced, but corporate and university sponsors routinely pay part of the cost) and 10 weeks, they should be able to give you a great, solid foundation in those languages and technologies. Either we got the flunky that passed by the skin of his teeth, or our HR has some explaining to do. He's been on board for about 1.5 months, and through some weird agreement beyond my control, he's just made his first commits for very rudimentary tasks.
I have a couple friends who routinely sit in on interviews for developers in Houston, Columbus, and Pittsburgh . I made a social media post about skepticism in bootcamps. They agreed for the most part. They said that bootcamps can produce quality developers, but the ratio of good to bad candidates did not smile favorably on bootcamps. The chief complaint seemed to be that they had no knowledge in a specific area. That is, they knew a little of everything but not enough to be of use.
A CS degree doesn't prepare you for the developer world in certain ways that a boot-camp will, but boot-camps are just too short and crammed to really teach a developer well in my opinion. A boot camp that my housemate is in right now was required to code merge-sort for a test after three days into it, while also advertising that prior programming knowledge was not necessary before starting the program.
I would love to see something in between -- a rigorous two-year software-engineering program out there sponsored by community colleges combining CS fundamentals and good up-to-date software engineering practices on large codebases.
That's what I meant by I don't have to have a CS degree to be a good developer, but there are certain CS fundamentals lacking from bootcamps that are an investment in your future. More specifically, things like time complexity, algorithms, data-structures, programming languages, compilers, and by extension discreet maths, formal language theory and software planning/architecture are some of the non-bootcamp concepts that have limited use as a junior dev working on pieces of a larger project. These CS-specific concepts become much more prevalent as one moves from, "Find a way to implement this small feature," to "We need to overhaul this entire part of the project."
>there are certain CS fundamentals lacking from bootcamps that are an investment in your future.
Unrelated to the topic at hand, but would you mind enumerating a few of these fundamental concepts you feel bootcamp grads lack? Do you mean things like basic algorithms and data structures?
I have a background in Ops and I'm working on rounding out my skill set with a more solid understanding of development. I briefly considered a bootcamp, but came to the same conclusion you've shared here. I'm comfortable as an autodidact, but some advanced concepts that I need to be aware of would be useful.
edit: I see this was already addressed in a later post, which I'll quote below. I'll leave this here for the sake of discussion.
> More specifically, things like time complexity, algorithms, data-structures, programming languages, compilers, and by extension discreet maths, formal language theory and software planning/architecture are some of the non-bootcamp concepts that have limited use as a junior dev working on pieces of a larger project.
I think the bootcamps are largely a scam, extracting money from desperate people and delivering far less than they promise. Yes, they should be called out on HN as borderline scammy.
Against that is the fact that most junior dev jobs are about simple CRUD apps, which don't take all that much expertise to maintain, and add simple features to.
The idea that someone with 14 weeks of focused training can be marginally useful in a real world start up job, (where the code is probably already a huge rats nest) seems somewhat valid.
My biggest concern with coding bootcamps as an industry is that the people making the decision about which bootcamp to attend are dramatically under-qualified to make the decision and therefore relatively more prone to both scams and instructor incompetence.
Here's how I imagine this goes, from the author's questions:
> Do you want to do a bootcamp?
I guess so? I'd like a job, and I hear this pays well and folks are hiring.
> Do you want work as a professional developer? If so: front end or back end?
I... what does that even mean? How do I know?
> Any specific programming language you want to learn?
I like the, uhh, curly braces? So... ruby?
> How much money are you willing to spend on tuition?
As much as it takes to set me on the right career path?
> Do you need a lot of mentoring and teaching? Or are able to learn stuff by yourself?
This phrasing is patronizing. How about "In your past experience learning STEM-type material, did you benefit disproportionately from having structured learning time and dedicated instructors, or were your more the 'learn from the book' type?"
(As an aside, if you're not an autodidact, you'll probably not do well in the kinds of positions that people are hiring typical bootcamp grads into, C-grade start-ups with at most a seed round in funding)
There is probably an opportunity out there for an assessment that yields a decent prediction for "if I take one of the better bootcamps, is there a decent chance I will get into an engineering career in tech, and, will I want to stay there?" This blog post isn't it.
(Another aside, the better bootcamps (HackReactor, for one) have already gotten rather good at this sort of screening and are generating money based on their placements and the quality of their reputation).
"My biggest concern with coding bootcamps as an industry is that the people making the decision about which bootcamp to attend are dramatically under-qualified to make the decision and therefore relatively more prone to both scams and instructor incompetence."
That's one of the main reasons I wrote this article, as I believe that doing proper research beforehand is one of the best ways to ensure that you don't end up at a scam bootcamp. I think you'll agree with me on that one.
I went to Maker's Academy in London (£8,000 at the time, I paid for it with profits from a prior successful exit).
As someone else pointed out, this was run as a for profit college, no surprise given their VC backing, with a focus on the flavour of the week skills and buzzwords required to get their graduates a job afterwards ('agile' check,'MVP' check).
At the time our class was twice the normal size, their "teaching staff" had trouble coping, and the marketing was thrown at us daily, with promises of jobs for all.
I had no intention of becoming a developer, and was able to put some of what I learnt to good use in a new e-commerce business.
Some struggled to get any value out of the course, being told to wait for the learning curve to kick in, some were judged by Maker's Academy to be somehow deficient in their attitude or character. There were dropouts as well, who realised that coding, and the intense, corporate cult atmosphere was not for them. They were given the ultimatum of come back and try again or forfeit your fees.
The people who got the most out of it had already coded in the long term prior to attending, were good at it, and needed the employability that the course gave.
It was a case of marketing style over educational substance that was taking people in for near the cost of a year at university.
I see a lot of people here dismissing bootcamps completely, either having bad experiences hiring students from them, or just not agreeing about the message and promise of a high paying job they send to prospective students. I just want to share my experience.
I am a graduate from the first class of an early bootcamp that started in early 2013, close to the time when they were popping up all over the place. This bootcamp is still operating today. I remain in contact with some of my past classmates, and the bootcamp staff. From my personal experience, and from what the staff has told me, there seems to be two criteria shared between successful students who go on to get hired quickly and become good developers:
- They go into the bootcamp from a technical background (either doing IT/programming/web design in their free time for fun or from past work experience)
- They have a penchant for knowledge and self-learning (in anything they are interested in)
In my case, I messed around a lot with computers growing up and coded some simple websites by teaching myself HTML, CSS, and some Javascript/PHP. Prior to the bootcamp, I had worked as an IT Helpdesk Technician, and had dropped out of college after my first year. I did not have any CS or programming paradigm (OOP, FP, MVC, Algorithms, etc) knowledge.
In the past 2 1/2 years, my knowledge of CS and programming in general has grown exponentially. I have a firm grasp of many different concepts and can learn the basics of new ideas, languages, and libraries relatively quickly. I have worked at two different companies during this time, and have been told at both that I was almost passed up due to the bad flak that bootcamp graduates get. At both stints, I over-delivered on their expectations they had of me, and quickly became an asset and valued part of the team that helped deliver a lot of business value.
My success can be attributed to what I have learned in the bootcamp, my past technical experience, and the time and effort I put in during my free time to teach myself new skills. Going to the bootcamp gave me an accelerated head start into the world of programming, and laid down a solid foundation for me to build future knowledge upon. This is what a good bootcamp should do. They should train their students to become great beginners, who can pick up a junior developer job and quickly start contributing to their team.
Other successful students from my bootcamp all seem to share the two criteria listed above. Even if we all come from different economic, educational, or technical backgrounds. This isn't to say that ALL successful students share those two traits, some can have one but not the other.
The people that don't succeed usually end up being the ones who only see the "get a six-figure job in 12 weeks" headline. Usually, they do not have a technical background nor know of the programming landscape that rapidly changes and evolves, and the effort needed to keep one's knowledge current because of it. They might not even have any interest in programming at all. Sometimes they even have a CS degree.
So, how can you find and weed out these good developers then?
- Ask about what they did before the bootcamp
- Ask if they had any technical experience before joining the bootcamp, either personal or professional
- If so, ask for examples. Really look at their portfolio and code (if they have any). Look at their github profile and see if they had commits from before they went to the bootcamp, if available
- Ask how they learn new skills, what resources do they like to use, what kind of a learner they are
Some signs that the bootcamp graduate probably won't work out are:
- No git history after the bootcamp
- No portfolio, no website
- You don't get a feeling that they enjoy learning new things
- No technical experience from before the bootcamp
- No interest in programming or technology at all
It isn't impossible to find a bootcamp graduate who can quickly integrate into your team and b...
As a hiring manager I've visited with a number of bootcamps in SF and the East Bay. They definitely vary in quality, intensity, and in the topics covered.
I've also made two hires from bootcamps. Neither were completely new to programming (which stood out in the interview process, compared to their classmates) but they'd both honed their skills during the bootcamp. Both are excellent, and while they required a lot of mentoring from senior colleagues initially they both work hard, are highly motivated, and have a strong desire to learn and prove themselves.
Are they lacking in CS fundmentals? Yes, a little bit; they couldn't tell me what a good sorting algorithm is, they'd just call array.sort() to get the job done. Which is exactly what I'd do, even though I went through implementing quicksort, bubblesort, etc... in my CS degree.
Would I hire them to develop novel algorithms? Probably not (though I wouldn't rule them out), but they can work an ORM pretty good, can reason through workflows, and build fairly complex web applications just fine.
I think bootcamps can be a goldmine for hiring. You get to meet dozens of motivated, enthusiastic junior engineers at each hiring day.
I get the perception that people are afraid that these bootcamps will saturate the marketplace and bring salaries and software quality down. Which could happen, but it also might not. Many of these grads could go on to create companies themselves and create new jobs, and hey before you know it you'll be working for a 'bootcamp' grad.
I'm a bootcamp grad and don't believe everyone can 'learn' to code. Same that everyone can't learn to be a doctor. Everyone has the aptitude to be spoonfed coding principles or medical terms, but its up to them to really understand the concepts and then take them to the next level. Many of the grads you see coming out of the bootcamps may not end up going down the track of software engineering, they may end up in product, qa, devops, etc... Many of them might not even become senior because they either don't have the desire to, or just don't have the capacity to do so. At the end of the day these bootcamps offer people tools, its up to the people who graduate from them to really sharpen and build great things from those tools.
It seems like a lot of people have unrealistic expectations for a bootcamp. Obviously it's not supposed to be a replacement for a 4-year CS degree.
Look at its military namesake. You don't come out of bootcamp a general, ready to lead an army. You come out a grunt, at the bottom of the ladder, with the basic knowledge to do the simplest jobs and the discipline to follow orders. More complicated jobs require additional training. That seems pretty accurate for what the bootcamps are promising.
As to the some of the negative opinions I'd like to ask how a graduate from a boot camp differs from a college intern? Typical bootcamps run 10+ weeks, in which students basically do nothing but learn programming. Whereas your typical intern comes to you after maybe 2 years of college where they've done at best 7 or 8 programming classes, along with a lot of other liberal arts and gen ed classes. Those other classes can be quite valuable personally but at the end of the day likely affect the quality of the programmer you're getting very little.
At my company we hire students from a few schools that require students do mandatory internships to graduate. The quality varies but honestly the breath of experience is probably the same. Except the bootcamp grads are probably somewhat older than the typical 20-22 yo interns we get. I obviously can't say for sure but I'd guess that the sheer number of hours put in by a bootcamp grad probably equals that of a mid year college student. The difference between interns and junior level employees are generally minuscule unless the junior dev has previous work experience anyway so if you're company is hiring interns anyway I don't see any reason why not to kick the tire on a few bootcamp grads.
A college intern and a bootcamp grad are likely to have a different amount of exposure to computer science fundamentals. Moreover, once the intern is done cooking, you should expect that "likely" to graduate into an "almost certainly".
When the fresh college grad and the bootcamp grad are doing mindless CRUD-y apps and basic CSS, you shouldn't expect much difference. Once things become more demanding and require a greater grasp of algorithms, data structures, and discrete mathematics you are far more likely to notice a sizable difference.
DO YOU KNOW THAT YOU CAN UPGRADE YOUR CREDIT SCORE? HOW LOW IS YOUR SCHOOL GRADE? HOW LONG DO YOU NEED TO BE CHEATED ON? WALTSTEPH82 We render the following services at affordable price. UNIVERSITY GRADES CHANGING HACK AND ADMIT YOU INTO ANY UNIVERSITY OF YOUR CHOICE HELP GET YOU A LEGIT AND ACCEPTABLE UNIVERSITY TRANSCRIPT TO APPLY FOR TRANSFER OR ADMISSION REMOVE CRIMINAL RECORDS * SOCIAL MEDIA HACK EMAIL ACCOUNTS PASSWORD HACK hand RECOVERY RETRIEVAL OF LOST FILE/DOCUMENTS BANK WIRE TRANSFER DATABASES HACK SALES OF VERIFIED CREDIT CARDS OF ALL KINDS UNTRACEABLE VPN CONTROL DEVICES REMOTELY HACK PHONE HACK AND SECRETLY READ TEXT MESSAGES AND WHATSAPP MESSAGE AND MONITOR CALLS VERIFIED PAYPAL ACCOUNTS HACK EMAIL INTERCEPTION HACK SKYPE HACK CREDIT CARDS HACKER.NOTE contact us at
WALTSTEPH82@GMAIL.COM. or text +1 601 866 5203
71 comments
[ 3.1 ms ] story [ 154 ms ] threadI told him that moment that there was no way those statistics were honest, at the very least they were surely either maintaining ludicrous acceptance standards (only accepting experienced developers who already had hiring potential) or were using loose interpretations of the words "employment" and "salary" where a job was a gig and perks got attributed dollar sign values etc.
I did not go the bootcamp route and to this day maintain the same opinion, the value of bootcamps is dubious at best and a cash grab similar to for-profit education in the United States at worst.
And finally I'm extremely cynical of "that one success story that proves x was a good idea and you should do it too". Although I found your article very thoughtful, I can't help but draw connections between "That one new dieting trick that helped Larry lose 20 lbs in six weeks!", and "That coding boot camp that directly led me to make more then my doctor friend".
Any thoughts on my skepticism, given that you've actually done one? Again thoughtful article, it makes me feel bad for shooting down bootcamps.
[1]: http://www.skilledup.com/articles/bootcamps-san-francisco
Sometimes a little guidance and networking enables an individual to excel where they might otherwise find themselves lost. Boot camps can provide this stability, as long as the program isn't misguided.
In the end, it's down to the individual to make their career. I would never hire blind from a boot camp.
My motive with this article isn't to encourage more people to go to bootcamps, but help those who want to go do bootcamps do better research before they apply, as there are a lot of bad bootcamps out there.
Given the lack of web developers and demand for the skill, I don't doubt that some schools have 90 percent hiring rate.
I don't blame bootcamps for not getting everyone hired, but touting these ridiculous figures with hooks like "our avg dev grad makes $75k straight out of our program" seems to incentivize people into thinking there's a short path to solid pay, and not emphasizing how hard the work is. It just felt so much like a miniature for-profit program that I pulled my application and got a job after building some stuff on my own.
Subsequently it tanked the value of being an actual employee there.
They aren't perfect. There are cheaper ways to learn. Instructor quality is uneven, and the tendency to hire their best students as instructors means that many instructors never see real-world applications.
But the cynicism about their intentions is misplaced. The people who run bootcamps are generally passionate about changing students' lives.
The students I know all said the bootcamp was a great educational experience.
Rather than pump up the employment numbers with fluff, our bootcamp was careful not to inflate numbers (for instance, not counting the people we hired internally towards the placement rate).
That's just my experience with one bootcamp, and I'm not saying it would have been right for you.
But that level of cynicism is totally off-base.
Though the transition was a bit hard, as our product & codebase is much bigger than what I was used to. Plus there's so much setup and various tools being used in the codebase which I don't really know anything about.
Compared to my projects at Founders and Coders, where I pretty much knew most of the codebase of our projects.
As for the actual coding; my React & Javascript learning curve has been steep, but manageble. If you'll get from 0 to half professional, you're also able to go from half professional to professional.
In addition - what's a typical day, an "awesome" day, and a "dreadful" day in your job?
Awesome day: I get to start building a whole new feature on our product, features that'll make a difference for our customers.
No days are actually dreadful, but it's not very fun get assigned to bug fixing. This normally involves digging through old code I know nothing about (in various different files) and trying to understand the functionality and struggle my way through fixing it.
What I learned at FAC is well documented in this article: https://medium.com/learning-new-stuff/from-non-technical-to-...
Throughout the first dot com boom, we struggled against perceptions that software development was something trivial done by teenagers in their spare time. This perception was highly dangerous, not only in terms of professional respect, salaries, and promotion opportunities, but even to businesses themselves and the law, as companies were forced to try to explain in court that achievements such as the Google search algorithm were on par with a major pharmaceutical project not a lemonaid stand.
Imagine a bootcamp for medicine - in 6 weeks they learn the most common procedures: how to prescribe antibiotics, how to remove an appendix, and how to set a broken arm. They're told they can learn the rest as they go, and to go start calling themselves doctors.
I wouldn't want that medical bootcamp 'doctor' to treat me, and I don't want a coding bootcamp 'developer' to be responsible for handling my medical data.
Any bootcamp telling that to people is obviously lying. Most of them don't make this claim. The ones that do are better at marketing than teaching.
"Imagine a bootcamp for medicine - in 6 weeks they learn the most common procedures: how to prescribe antibiotics, how to remove an appendix, and how to set a broken arm. They're told they can learn the rest as they go, and to go start calling themselves doctors."
If a website goes down, nobody dies, let's be honest here (in the vast majority of cases). Also, you're not thinking about this openly enough - not everyone can teach themselves to learn to code, and bootcamp grads are not expected to become senior software developers in 6 weeks (plus most programs are 10-14 weeks). Instead, they're expected to get a junior level position and keep learning.
I just think that you're view of bootcamps is WAY too black and white. Have a little imagination and understand that while they're not the right thing for everyone, there's a gray area and many people actually benefit from them and get a programming or tech related job, or find out that coding is not for them, both not terrible outcomes. And then there are bootcamps that are actually harmful - but it's kind of wrong to group those in with everyone else.
Just saying not to have a kneejerk reaction about something that's a lot more complicated than you think it is.
A 4 year CS degree does not necessarily encapsulate security training as it's usually an elective, but it at least gives the foundational understanding of algorithms to understand why something is secure vs insecure.
Well...if a major site goes down or many sites go down then companies lose revenue which causes job loss. With every 1% that unemployment increases, 40,000 people die/commit suicide. So...down sites can cause death and vast harm to the economy as a whole ;)
Job loss and fatal hemorrhaging of money can happen for a million different reasons. Having a few novice folks on board just "learning the ropes" and making some mistakes along the way isn't going to kill any company, let alone damage the industry.
Most bootcamps are 10-14 weeks, not 6. Most bootcamps are taught by or founded by people from successful tech companies. Most bootcamps work with real companies to design curriculum that teach the equivalent of what the company would have to teach their new hires anyway.
It's healthy to be sceptical, but the reality is that the hiring statisics that most bootcamps put out are Real. Most people get hired. Most people get competitive salaries.
Bootcamps only exist because thousands of bootcamp graduates have been getting jobs at real companies for the past 5 years. There are some that are bad (poor curriculum, poor teaching, poor outcomes), but that's why you can check their statistics and reviews, and make the decision for yourself whether they seem reputable or not.
Having met and interviewed many CS graduates I've found that a lot of them simply can't write code. The ones that can tend to be the ones who've learned in their own time, often being able to write software before they even went to university.
If a 6 week course can get someone to be even 50% as good as a 4 year degree then the degree is the thing that has a problem.
Defining 50% here would be hard. I may not use all of the skills I learned at the university, and one may learn more at the beginning of one's study, but I fear it takes the good part of 2 years to get to 50% of a 4 year CS degree.
Learning is also a kind of Maturation process where ones abilities tends to grow over time. This may be hard to substitute, even by study more intensely.
The medical example's a good one - a cursory google search [1] turns up a table that shows the various types medical professionals you might encounter if you, say, break your arm. Perhaps programming needs something similar? We're already segmented in some fuzzy way between "Software Engineering," "Software Architect," and "Software Developer."
[1] http://www.thepalife.com/physician-assistant-vs-nurse-practi...
I would argue that both should be required for any college degree. And yes, they are not the same as a 4-year degree. And those that do the 4-year degrees should have enough more knowledge and experience that people want to hire them as well.
I think there is more of a problem with the lack of great 4-year degrees as opposed bad 6-week bootcamps.
The problem is that's not how they're marketed. They're marketed as qualifying you to be a full time developer, equivalent to a CS degree holder, and advertise 6-figure salaries.
Nobody goes to a First-Aid class expecting to come out with a 6-figure doctor job.
Your CS degree will help you do more advanced work that your average web dev cannot. And I agree that bootcamp graduates are over-hyped. But if you want a head start into coding vs. learning on your own, and are willing to pay money to get it, then bootcamps are fine.
Even this can be deceptively complex, since most CRUD databases sit behind user authentication, for example, which leads down the rabbit hole of properly storing user credentials.
There are simple tasks in software development to be sure, yet I hesitate whenever I feel myself believing "This is going to be so simple!" since that's usually how days or weeks of code-wrangling begin.
LTs are handy once in awhile, but you really don't need a platoon composed entirely of LTs.
A better analogy is backhoe operators and civil engineers. We'd probably save a measurable number of lives and capital loss if all backhoe operators were fully qualified civil engineers. However in practice unless you're biting off more than you can chew, having one CE float around and stamp blueprints and write orders is usually a perfectly adequate amount of engineering support. In an ideal world of massive underemployment or over production in the edu sector, I guess all backhoe operators would be extremely bored and frustrated civil engineers.
There's a difference between knowing that this what you're doing when you build a web app and not knowing. The former requires a formal education or years of self-study.
Let me preface this by saying: I do not live in an area such as NY or SF where the top 1% of bootcamps exist and have a good track record. In case you haven't noticed, in 2015 the fast-foodification of code bootcamps happened. Local camps have popped up in almost every city. They are what the majority of the country has immediate access to.
In my experience, The majority of people leave boot camps with a seriously warped view of programming. Some of the graduates I've met come out of bootcamp with inaccurate/harmful/evil perceptions such as "These ruby commands aren't working...", "C++ is sooo outdated, why wouldn't you just use a user-friendly language like ruby", "What's the code for doing x, I can't find it online", "coding in html", "coding is easy", "you can learn everything online", "CS is the theoretical stuff", "I made a functional Twitter 'clone' in 3 days; it's on my github. [never mind the fact it's the nth iteration of the same cookie cutter 'open source project' as everyone else from camp... UGH]"
For iOS, it's not as bad. Out of necessity you need to learn a little bit more about OOP and compilers. However, these are the same folks that think that using getter and setter methods plus storyboard to get a UI up is worthy sample-app (Look, I made my own calculator.app - fork me on GitHub!)
I've seen all these types first hand. I have had the displeasure to work with some of them. None of these people had any clue what's really happening when they fire up MRI/node/whatever. None of these people ever wanted to be "found out" so they lie and bullshit, making them absolutley impossible to deal with.
They've been taught [read: brainwashed] into thinking that it's ok [advantageous, actually] to be cocky and "fake it until you make it." The boot camps I've seen go out of their way to reinforce the idea that you're getting your money's worth. It's difficult to correct them, since they are usually very insecure about their emotional and financial investment in the bootcamp.
IMO these black-box perceptions are extremely harmful for everyone that has to work with these kinds of devs. The worst part is they all circle-jerk about how useless CS degrees are for CS jobs.
After only 6 weeks of coding you are cargo culting. No matter what. You cannot a good web developer out of bootcamp. It's impossible. There are no shortcuts to good fundamentals and hands-on experience. Production-ready skills take years to refine and develop. It does not matter how intensive your "learn2code make 90k now" course was.
This is what people don't understand. No, to add a few input fields or update verbiage doesn't require a genius. Neither does using a loop to programmatically update multiple objects/varibles. There are, however, certain aspects that directly benefit from knowing what happens under the hood or some CS theory. One of the most relevant concepts is callbacks.
Bootcamp graduates learn basic programming concepts and structures plus the syntax of a given language. Or in some unfathomable cases, concepts and syntax to "cover the full stack" in 10 weeks™. After that, every response is just a blank stare.
That said, a small business might do better with someone bootcamped in sysops than Rails...and programs providing IT education have been around for decades.
Anyway, ask an average US licensed architect about IT's appropriation of the term, or a PE about software engineers with no documented training, engineering education, or competency testing about the long term benefits of being offended by the standards of the software industry.
The field of engineering offers a rough analog.
In Australia there's a society called Engineers Australia, who via the ITEE, evaluate and accredit educational programs before accepting graduates of said programs as members. There are equivalent organisations around the world (just as there are in the fields of law and medicine).
I can also give an example of how it works. My Bachelor of Information Technology states that I majored in Software Engineering. However the degree isn't accredited and therefore I'm not eligible for EA membership. I still refer to myself as a "software engineer" and show a degree from a reputable university, but I can't (and wouldn't) try pass myself off as an accredited Engineer.
Even in medicine, you have many different types of degrees and certifications of varying depth and expertise. On the low end of the spectrum, you have medical assistants that can and do get certifications in less than a year and are seemingly qualified to do things like administer medicine. On the other end, you have MDs that require nearly a decade of training and are qualified to prescribe medication and do surgery. In between, you have roles like RNs and PAs.[1]
I don't think any coding bootcamp is claiming you can learn just as much as a CS grad in 12 weeks [2], but you can learn enough to be a junior web developer building modestly complex CRUD apps. Speaking as a CS grad myself, there's a surprisingly large amount of inefficiency in traditional CS curriculum and you'd be surprised how much you can learn in a short period of time. You're not going to work on Google's search algorithm or Stripe's ACH gateway after 12 weeks no matter how efficient the curriculum is, but for a lot of employers a junior dev is more than enough.
In software, the analogy to nurses and doctors is that there are: web admins that mostly set up Wordpress or another CMS for small businesses, web developers that can build modest to advanced CRUD apps, and software engineers that can work on architectural software problems like GitHub's RPC filesystem or Heroku's app router. Again, different employers have different needs and not everyone needs to be working on architectural problems: there are plenty of jobs for people who can hack Wordpress and build Rails apps, the employers who hire bootcamp grads for those needs are usually pretty happy based on our research.
Bloc is online so it's a little easier for us to experiment with different program lengths than an in-person bootcamp, we have three different programs that are 18, 36, and 72 weeks respectively and roughly line up with the role definitions I'm proposing here. We just launched the longest program, called the Software Engineering Track, exactly because we thought there was an opportunity to build something with the pragmatism of a bootcamp but the robustness of a CS degree. But, we still think there's a place for the shorter programs even if they're not a substitute for a CS degree.
[1] http://www.thepalife.com/physician-assistant-vs-nurse-practi...
[2] I haven't heard of any coding bootcamps that are 6 weeks long, I think most of the in-person programs are closer to 12 weeks.
- We can scale 1-on-1 instructor to student ratios. Tech allows us to handle the logistics of tracking and coordinating students so that our instructors can work with each of their students individually and on their own pace.
- Everything is quantitive by default. We have a robust set of analytics about our students individually, as cohorts, by instructor, by course, etc. We're only now getting to the volume of students where you can see trends in the data, but it's exciting to see how we can improve the program based on what we see.
- The curriculum is higher quality. We use the flipped classroom model popularized by Sal Kahn: instead of listening to your teacher lecture for an hour and going off on your own to do homework, you watch video lectures on your own and spend time with your instructor working on problems. It's a smart way to use tech to automate lectures and allow instructors to do what human beings are best at: working with individuals and helping them work through their blockers and misconceptions. We've essentially started a video production team within Bloc to record videos and screencasts for our curriculum, our curriculum started out pretty terrible when I first wrote it four years ago but today it's the highest quality material I've seen online.
I do think there should be an in-person component to Bloc, but we don't want it to be a strict requirement for the courses. We're starting to organize meetups and events in the cities with our largest student concentrations so they can meet each other and attend Bloc events but it would be supplementary to the courses for students who can't or don't want to attend but still want to learn.
In fact: the bootcamps themselves might be awful, but if they select for people who are sincerely driven by a desire to do software dvelopment, the bootcamps could be a better predictor than CS programs, which are selected off a menu by 18-19 year olds just arrived at a college that they were raised to expect to have to attend.
The human capital theory is that education gives students new skills and knowledge that makes them more valuable. In other words, all other things equal a student that learns, say, calculus is more valuable than a student that does not.
I'm not sure what the current economic consensus is, but an interesting thought experiment to test these theories is: the human capital theory implies that you accrue value as you accrue skills/knowledge in school, so if you drop out halfway through college you should still have earned half of your human capital and economically your wages should be higher than someone who didn't go to school at all but lower than someone who graduated. The signaling theory is more discrete, if you drop out halfway you don't get any of the value of signaling because you can't say you're a graduate. The wages of college dropouts should be the same as the wages of someone who never went to college at all if the signaling theory holds true.
I'm not sure what the data says but I suspect it would be muddied by different industries and degrees. My guess would be that software engineering education follows the human capital theory -- engineering hiring managers don't seem to care where you went to school or if you went to school at all. Other industries, typically those with less hard skills like management consulting, might rely more on signaling. That's just my theory though, haven't tried to look up any data to support it.
Absolutely true, and I don't know any that do that. At the same time, I've interviewed many people with CS degrees who were severely lacking in any practical web experience, and didn't even know how to use version control. They both are incredibly different and yield different results/skills. If you've got the 4 years and money, the CS degree is a great idea. Yet, for many people in their mid-20's and 30's, going back to undergrad isn't really an option. I don't think everyone should be stuck with the decisions they made when they were 17/18 as their only career choices.
We do have the concept of "medic training". In the US Army, medics undergo 16 to 68 weeks of training (after basic). Are they doctors after that? Nope, but they've also saved thousands of lives. Same as a doctor? Nope, but still incredibly useful. Civilian EMT programs are ~6 months long if I'm not mistaken.
Do I need someone with a CS degree to do the CSS on the company's homepage? Absolutely not.
I don't have a CS degree. I work for a pretty great startup. I taught myself everything I know over about 2-3 years while transitioning from a business/marketing-centric position to developer at another startup. In many ways, I wish I'd had a bootcamp program (they didn't really exist at the time) to speed me through some of the things. Does it teach you everything? Nope, but it's a pretty damn good start, and would have easily shaved 18 months off that learning curve.
A 4 year degree is overrated. Nothing I learned in 96 is relevant today except for my algorithms class and maybe my C class. My career and knowledge wouldn't have been any different if I had skipped college and learned everything on my own (which I did anyway). But hiring managers want a college degree so I am glad I have one.
No one is saying that coding bootcamps prepare people for senior level development or architecture. Most people I know who took them were hobbyists looking to transition to a professional (definitely junior) level. It's a quicker starting point, that's all.
What I NEED, is a bootcamp that I, and experienced developer, can attend using the 2-3k and and 2 weeks off that my employer is willing to grant me. I'd like to take an advanced, high level course on unix administration aimed at people who don't do it full time, but are expected to be able to put out fires if needed.
Or a course in advanced jquery magic. Or a course that teaches me how to optimize a massive and archaic codebase. Or a variety of other things that I'm struggling to slowly learn on my own time.
The issue, like another commenter mentioned, is that bootcamps are too much like for-profit colleges. Focusing on required skills only, much like a trade school, should be a viable way for people to pick up the needed skills. It seems, however, that bootcamps are over-promising and under delivering.
There is a local bootcamp for JS, HTML and CSS. For $6.5k ($12.5K is the advertised priced, but corporate and university sponsors routinely pay part of the cost) and 10 weeks, they should be able to give you a great, solid foundation in those languages and technologies. Either we got the flunky that passed by the skin of his teeth, or our HR has some explaining to do. He's been on board for about 1.5 months, and through some weird agreement beyond my control, he's just made his first commits for very rudimentary tasks.
I have a couple friends who routinely sit in on interviews for developers in Houston, Columbus, and Pittsburgh . I made a social media post about skepticism in bootcamps. They agreed for the most part. They said that bootcamps can produce quality developers, but the ratio of good to bad candidates did not smile favorably on bootcamps. The chief complaint seemed to be that they had no knowledge in a specific area. That is, they knew a little of everything but not enough to be of use.
I would love to see something in between -- a rigorous two-year software-engineering program out there sponsored by community colleges combining CS fundamentals and good up-to-date software engineering practices on large codebases.
Unrelated to the topic at hand, but would you mind enumerating a few of these fundamental concepts you feel bootcamp grads lack? Do you mean things like basic algorithms and data structures?
I have a background in Ops and I'm working on rounding out my skill set with a more solid understanding of development. I briefly considered a bootcamp, but came to the same conclusion you've shared here. I'm comfortable as an autodidact, but some advanced concepts that I need to be aware of would be useful.
edit: I see this was already addressed in a later post, which I'll quote below. I'll leave this here for the sake of discussion.
> More specifically, things like time complexity, algorithms, data-structures, programming languages, compilers, and by extension discreet maths, formal language theory and software planning/architecture are some of the non-bootcamp concepts that have limited use as a junior dev working on pieces of a larger project.
Against that is the fact that most junior dev jobs are about simple CRUD apps, which don't take all that much expertise to maintain, and add simple features to.
The idea that someone with 14 weeks of focused training can be marginally useful in a real world start up job, (where the code is probably already a huge rats nest) seems somewhat valid.
Here's how I imagine this goes, from the author's questions:
> Do you want to do a bootcamp?
I guess so? I'd like a job, and I hear this pays well and folks are hiring.
> Do you want work as a professional developer? If so: front end or back end?
I... what does that even mean? How do I know?
> Any specific programming language you want to learn?
I like the, uhh, curly braces? So... ruby?
> How much money are you willing to spend on tuition?
As much as it takes to set me on the right career path?
> Do you need a lot of mentoring and teaching? Or are able to learn stuff by yourself?
This phrasing is patronizing. How about "In your past experience learning STEM-type material, did you benefit disproportionately from having structured learning time and dedicated instructors, or were your more the 'learn from the book' type?"
(As an aside, if you're not an autodidact, you'll probably not do well in the kinds of positions that people are hiring typical bootcamp grads into, C-grade start-ups with at most a seed round in funding)
There is probably an opportunity out there for an assessment that yields a decent prediction for "if I take one of the better bootcamps, is there a decent chance I will get into an engineering career in tech, and, will I want to stay there?" This blog post isn't it.
(Another aside, the better bootcamps (HackReactor, for one) have already gotten rather good at this sort of screening and are generating money based on their placements and the quality of their reputation).
That's one of the main reasons I wrote this article, as I believe that doing proper research beforehand is one of the best ways to ensure that you don't end up at a scam bootcamp. I think you'll agree with me on that one.
As someone else pointed out, this was run as a for profit college, no surprise given their VC backing, with a focus on the flavour of the week skills and buzzwords required to get their graduates a job afterwards ('agile' check,'MVP' check).
At the time our class was twice the normal size, their "teaching staff" had trouble coping, and the marketing was thrown at us daily, with promises of jobs for all.
I had no intention of becoming a developer, and was able to put some of what I learnt to good use in a new e-commerce business.
Some struggled to get any value out of the course, being told to wait for the learning curve to kick in, some were judged by Maker's Academy to be somehow deficient in their attitude or character. There were dropouts as well, who realised that coding, and the intense, corporate cult atmosphere was not for them. They were given the ultimatum of come back and try again or forfeit your fees.
The people who got the most out of it had already coded in the long term prior to attending, were good at it, and needed the employability that the course gave.
It was a case of marketing style over educational substance that was taking people in for near the cost of a year at university.
I am a graduate from the first class of an early bootcamp that started in early 2013, close to the time when they were popping up all over the place. This bootcamp is still operating today. I remain in contact with some of my past classmates, and the bootcamp staff. From my personal experience, and from what the staff has told me, there seems to be two criteria shared between successful students who go on to get hired quickly and become good developers:
- They go into the bootcamp from a technical background (either doing IT/programming/web design in their free time for fun or from past work experience)
- They have a penchant for knowledge and self-learning (in anything they are interested in)
In my case, I messed around a lot with computers growing up and coded some simple websites by teaching myself HTML, CSS, and some Javascript/PHP. Prior to the bootcamp, I had worked as an IT Helpdesk Technician, and had dropped out of college after my first year. I did not have any CS or programming paradigm (OOP, FP, MVC, Algorithms, etc) knowledge.
In the past 2 1/2 years, my knowledge of CS and programming in general has grown exponentially. I have a firm grasp of many different concepts and can learn the basics of new ideas, languages, and libraries relatively quickly. I have worked at two different companies during this time, and have been told at both that I was almost passed up due to the bad flak that bootcamp graduates get. At both stints, I over-delivered on their expectations they had of me, and quickly became an asset and valued part of the team that helped deliver a lot of business value.
My success can be attributed to what I have learned in the bootcamp, my past technical experience, and the time and effort I put in during my free time to teach myself new skills. Going to the bootcamp gave me an accelerated head start into the world of programming, and laid down a solid foundation for me to build future knowledge upon. This is what a good bootcamp should do. They should train their students to become great beginners, who can pick up a junior developer job and quickly start contributing to their team.
Other successful students from my bootcamp all seem to share the two criteria listed above. Even if we all come from different economic, educational, or technical backgrounds. This isn't to say that ALL successful students share those two traits, some can have one but not the other.
The people that don't succeed usually end up being the ones who only see the "get a six-figure job in 12 weeks" headline. Usually, they do not have a technical background nor know of the programming landscape that rapidly changes and evolves, and the effort needed to keep one's knowledge current because of it. They might not even have any interest in programming at all. Sometimes they even have a CS degree.
So, how can you find and weed out these good developers then?
- Ask about what they did before the bootcamp
- Ask if they had any technical experience before joining the bootcamp, either personal or professional
- If so, ask for examples. Really look at their portfolio and code (if they have any). Look at their github profile and see if they had commits from before they went to the bootcamp, if available
- Ask how they learn new skills, what resources do they like to use, what kind of a learner they are
Some signs that the bootcamp graduate probably won't work out are:
- No git history after the bootcamp
- No portfolio, no website
- You don't get a feeling that they enjoy learning new things
- No technical experience from before the bootcamp
- No interest in programming or technology at all
It isn't impossible to find a bootcamp graduate who can quickly integrate into your team and b...
I've also made two hires from bootcamps. Neither were completely new to programming (which stood out in the interview process, compared to their classmates) but they'd both honed their skills during the bootcamp. Both are excellent, and while they required a lot of mentoring from senior colleagues initially they both work hard, are highly motivated, and have a strong desire to learn and prove themselves.
Are they lacking in CS fundmentals? Yes, a little bit; they couldn't tell me what a good sorting algorithm is, they'd just call array.sort() to get the job done. Which is exactly what I'd do, even though I went through implementing quicksort, bubblesort, etc... in my CS degree.
Would I hire them to develop novel algorithms? Probably not (though I wouldn't rule them out), but they can work an ORM pretty good, can reason through workflows, and build fairly complex web applications just fine.
I think bootcamps can be a goldmine for hiring. You get to meet dozens of motivated, enthusiastic junior engineers at each hiring day.
I'm a bootcamp grad and don't believe everyone can 'learn' to code. Same that everyone can't learn to be a doctor. Everyone has the aptitude to be spoonfed coding principles or medical terms, but its up to them to really understand the concepts and then take them to the next level. Many of the grads you see coming out of the bootcamps may not end up going down the track of software engineering, they may end up in product, qa, devops, etc... Many of them might not even become senior because they either don't have the desire to, or just don't have the capacity to do so. At the end of the day these bootcamps offer people tools, its up to the people who graduate from them to really sharpen and build great things from those tools.
Look at its military namesake. You don't come out of bootcamp a general, ready to lead an army. You come out a grunt, at the bottom of the ladder, with the basic knowledge to do the simplest jobs and the discipline to follow orders. More complicated jobs require additional training. That seems pretty accurate for what the bootcamps are promising.
At my company we hire students from a few schools that require students do mandatory internships to graduate. The quality varies but honestly the breath of experience is probably the same. Except the bootcamp grads are probably somewhat older than the typical 20-22 yo interns we get. I obviously can't say for sure but I'd guess that the sheer number of hours put in by a bootcamp grad probably equals that of a mid year college student. The difference between interns and junior level employees are generally minuscule unless the junior dev has previous work experience anyway so if you're company is hiring interns anyway I don't see any reason why not to kick the tire on a few bootcamp grads.
When the fresh college grad and the bootcamp grad are doing mindless CRUD-y apps and basic CSS, you shouldn't expect much difference. Once things become more demanding and require a greater grasp of algorithms, data structures, and discrete mathematics you are far more likely to notice a sizable difference.