Now, three years later, I am taking online classes to learn about those issues. The more advanced I got, the more I needed those "basics."
Looking back at myself at 18, there is no way I would have made it through a CS course. I had no motivation for school. Now, I am doing really well and learning a ton.
Saying they are a scam ignores that the students are getting a marketable skill. None of the camps say you will be an expert with understandings of how the language works but you will have enough skill to be useful.
+++ On My Personal Experience +++
I also learned to write code on my own and had a junior dev job with no college experience. I then attended college part time to get my CS degree because
1) There are a large set of potential employers that will not consider hiring if you do not have a degree; so in times of job scarcity your options will be limited.
2) The subset of employers that will hire someone without a degree is then further broken into a subset that will pay you less since they know you have less options not having a degree.
+++ On Dev Bootcamps +++
1) 12 solid intensive weeks of learning to write code may be enough to get someone an entry level job if they learn/retain enough to get through the interview process. Having this as a focused class room where assistance and guidance is provided is likely of benefit to some people; so they are not entirely useless.
2) In my experience bootcamps have either not published or have been deceptive with job placement numbers. As a for example; I know of a bootcamp that published a 100% job placement rate. This was deceptive since they did not publish that 1) More than 75% of the attendees did not complete the bootcamp and so they were not counted (only graduate placement was counted), but they still were out of pocket for tuition costs. 2) Being hired for ANY job was considered as a successful job placement, but only about 1/3rd of the graduates actually found jobs that were in the field, the other 2/3rd were counted as successes because they were employed (e.g. if you found a job as a waitress you would count towards the success metric.)
Someone should be telling these students the truth. "This is going to be the most intensive, gruelling twelve weeks of hell on your life so far. Three out of four students will drop the program and will still owe the equivalent of one years (state university) tuition at a standard college. If you do finish then you still may not find a job in the field."
These bootcamps can teach people the basics of programming and if they have the interest and aptitude, they can grow into mature, experienced developers.
We just happen to not have one for programming.
What I'd love to see is schools begin to take on various career-track options for students. Like theory and want to go to grad school? Take the theoretical track. Interested in front-end and mobile dev? Take some in-depth classes that cover fundamentals in that area. Distributed Systems? That could have oodles of classes, too. This is the way many other engineering degrees are structured. Somehow we're in this weird position where we're making students take electives which are relevant to industry so they can go get a good job, but they still have to learn how to write turing machines on paper.
Data structures are not basics. Self-balanced binary tree graphs are not basics. More basic than that would be to learn what a graph is - Euler's bridges, Dijkstra's shortest path. More basic is the initial introduction to the concept of the graph and the set in discrete mathematics (as well as other discrete subjects like logic, combinations, probablility etc.)
Algorithms are not basics. Bresenham's line algorithm is not basic. More basic is theory of computation - Turing machines, lambda calculus, mu-recursive functions. Automata theory, complexity theory, computability theory. Basic does not necessarily mean easier, sometimes the abstractions can be harder to grasp. What is the complexity of your algorithm, what's the worst case big O notated case? How is big O notation determined? Can you even know what an algorithm is, or compare algorithms without knowing these things? Then more basic than these things is the math such as calculus you may to determine some algorithms.
Frankly, if when "looking back at myself at 18, there is no way I would have made it through a CS course. I had no motivation for school" , and then you study Ruby for three months and get a job and are now taking online courses - I would be very skeptical of how deep your knowledge is.
You're honest enough about what you did. There's also nothing wrong with being in a situation where you don't have the opportunity to study CS intensively for four years under professors and grad students who have published papers in the field (although "no motivation" sounds worse than "no opportunity at the time"). There's nothing wrong with being lucky enough to bootstrap yourself to your current situation, there's everything wrong with fooling yourself that in five years, that kid in his third year of CS right now, who is dedicated to studying the things I mentioned, and who will study it next year, and who will then get a job and work for four years. In five years he will be ahead of you. He has a foundation that you don't. He will have a confidence you won't. As an interviewer I will be able to tell this.
My advice would be to look at local public colleges and see if any are good. See what their CS programs are, how they deal with night/weekend students for CS majors (some required classes may be on a weekday at 1 PM) etc. See what the pre-requisite graph is. Then take one class a semester, at night or on weekends. It will be one or two nights a week. Maybe take an easy non-CS class first like art appreciation or something. Note they often put one of the hardest courses for CS (like Calculus 101) as an initial pre-requisite for all CS classes to weed out "unmotivated" people from burdening the school CS program. Keeping on the topic of the weed-out class though - if you struggle over Calculus 101 like we CS majors did, to where you're even thinking of dropping out - wouldn't that be a sign that we were learning things in school you didn't know? It's not a laugh a minute to do Cook Turing reductions of NP problems in order to show similar properties of problems - but it does help in understanding fundamentals of CS.
It is better to think about this sooner than later. People do these things when they're in there teens or early 20s because it's easier to do then. You really don't want to have this revelation after you have a child or two, and are having trouble finding good work because of no diploma and lack of fundamentals. One bonus is the diploma is not the only payoff - even halfway through school you'll be a better programmer, more attractive to some employers, will have met interesting professors and students (if you put yourself out there) etc. You get out what you put in - professors like students who pay attention and do well, and can be helpful.
> (although "no motivation" sounds worse than "no opportunity at the time")
18 was ten years ago. I was playing college football, thinking I was going to go pro. I was an idiot, but I got a college degree.
I then went on to have a career in a different field, grew up a little and taught myself to code. I've been working in the industry for three years. I have a long way to go. I spend every evening either a) doing homework for an online course I'm taking from Rice (through Coursera), b) Going through a self-directed course I've made consisting of various text books/academic papers, c) actually writing code.
Seriously, fuck you for acting like the only way to become a respectable or successful developer is the path you picked.
Can you name me the respectable, successful, known developers that did not get a college degree? I mean, I can think of a few who were in the math/CS program of a top-tier school, who started a company on the side that took off, and dropped out since they were already on a rocket ship. I can also think of a few like John Carmack who just dropped out, but would still fit that category. Although...Carmack has been very straightforward about what he knows, does not know, and is learning, and sometimes I'm surprised that he is just learning a topic I had already studied indepth as an undergraduate.
While people like this are few and far between, I can name many more successful and respectable programmers who have a college degree. Who are the majority.
I look at this equanimously, while you seem to take it very personally. In my experience, those who spent four years at college studying calculus, computational complexity, backtracking, 1st/2nd/3rd normal form, how floating point numbers are stored in memory etc. are usually better than those who have not. That doesn't mean someone who slacked through school for four years is always better than someone who did not go to school for four years. It just means more often than not, someone with four years study of foundational computer science is better than someone without it.
You said you've been at this for three years - so 2012 or so. The tech economy (and to a lesser extent the broader economy) has been booming, as can be evidenced from stories here on HN. You seem to be getting upset...over a comment on HN! Let's see how you do when the economy tanks like it did in 2008-2009. Let's see how you do when tech jobs crash with the dot-coms like they did in 2000-2001. When suddenly the few job postings which appear will say "BSCS required". Why wouldn't they, because in those times, they'll still be flooded with dozens of resumes with people with BSCS's. By then you may have a mortgage, a car, two kids.
Your argument is not with me. Here's a line from a job posting on SF Bay Craigslist - ( http://sfbay.craigslist.org/sfc/egr/5278943482.html )
"Senior Application Engineer @ Slack...Here are a few extra things that would lift you up a couple of notches in our eyes: * Academic background in computer science (BSc or MSc)"
That's the #1 thing they have on their "nice to haves" list. I can assure you - when we go from these go-go unicorn times to a 2000-2001 or 2008 recession, at a time when you need work the most, I can guarantee you that their #1 "nice to have" will move up into the required column.
When the economy takes a dive like it does every eight years or so, and you have a mortgage and two kids, and you're a fifty-something unemployed coder with no degree and gaps in his technical knowledge who refused to take the bull by the horns at a time when you could have (two night class a year over twenty years would get you a degree by the age of 48), you will look back in enormous regret that you did not spend 90 minutes twice a week going to night class to earn a BSCS.
But I would guess there are at least a few shop owning mechanics who make as much as the highly degreed engineers designing the parts they install. And no shortage of plumbers making more than people who have graduate level knowledge of Latin. It's not fair. Life isn't fair. But from what I see, life rewards practical know-how... which may or may not entail academic credentials and esoteric knowledge.
As one of those few back end developers, I would HOPE I'm not competing with you for a job, as that would then have been a waste of my time and money. That being said, 4 years down the road of real world experience, I doubt there will be any separation between myself and someone with a CS degree and 4 years of work experience. Real life converges. From my couple years post-GA, I'm perfectly capable of talking the talk with the CS majors who think the two letters give them superpowers.
Again, nobody is implying 3 months will match your 4 years. However, thinking that 3 months of immersion doesn't give you enough knowledge to gain the REAL knowledge on the job would be ignorant. I'm reasonably confident if you blindfolded me and dumped me in France, I'd be speaking french in 3 months. I doubt I'd be able to appreciate The Count Of Monte Cristo, but I'd be more than capable of navigating day to day life.
That depends entirely on what you do in those 4 years. If you spend that time studying algorithms, data structures, graph theory, discrete math, and the theory of computation, then you may be right.
If you spend those 4 years making CRUD apps, then there will still be a large gap.
I speak from experience by the way. I was a professional programmer for 5 years before I went back to get my CS degree. There were so many things that I didn't know that I didn't know.
It's the difference between spending a week banging your head against a wall or spending 20 minutes realizing your problem is just a variant of a graph theory problem that was solved 50 years ago.
I think that puts it very well. It's not just what people know they don't know, it's what they don't know they don't know. That's where it really hits them.
You're acting as if your example of the 50-something engineer without a degree is starting his career. The more plausible scenario is that his days of needing a degree to prove himself were over decades ago. He's getting jobs based on the knowledge and experience he gained at work, and if he isn't, he's been doing it wrong.
Here's an employment rate and weekly earnings chart from the US Department of Labor correlated by education level:
Who cares? You're just another job among the hundreds out there. That CS grad could be working on very difficult problems... or he could be pushing web apps for the next four years because his interviewer promised him cool toys and tough problems and then bait-and-switched. Not all of the school programs are top notch. Not all of the students that pass those programs will remember half of what you mentioned in your post or even recall the solutions when a typical problem is staring them in the face. His confidence will be misplaced, and now you're back to where everyone else is: assessing actual skill instead of guessing with credentials.
Frankly I'm alarmed that you've placed so much faith in that credential. For America in particular it really doesn't mean that much on its own unless you went to a well-known school. Not all CS programs are created equal. I'm certainly not going to burn cash and time because of spooky predictions of developer armageddon. People with four years of actual experience will be just fine.
Personally I'd be more interested in security-oriented devs. That's more important than knocking a few thousand cycles off of your algorithm.
A developer and a computer scientist are two different things.
There are awesome developers who are terrible computer scientists. They can build a great website/small web application in RoR or Django, fast and get the job done. The site will never scale tho.
There are awesome computer scientists who can't build a great web app but can scale the hell out of it.
Most companies want developers, not computer scientist. You might get asked all sorts of questions about algorithms ^& data structures, but in reality day to day problem is CRUD.
Now, I would imagine Google would want more of those CS types than developer types...
No, they are not. A good developer is someone who, by virtue of the fact that he or she has to write software whose theoretical underpinnings are rooted in CS, must be good in CS as well. It's ok if you're not a CS person, but stop generalising and saying no dev has to be.
> There are awesome developers who are terrible computer scientists. They can build a great website/small web application in RoR or Django, fast and get the job done. The site will never scale tho.
No. These are people who are good at gluing together a framework. If that's your definition of a developer, I'm sorry to burst your bubble, but you are mistaken. Web development is not the be-all/end-all of Software development.
Scalability is a very very specific topic, but it's not the only one. CS includes a vast number of things.
Good developers write things like compilers, infrastructure tools, operating systems, libraries, the frameworks that you so like to use - someone wrote them, and chances are, they knew their CS. Video Games - try writing one without knowing much about Linear Algebra. See how far you get.
> Most companies want developers, not computer scientist. You might get asked all sorts of questions about algorithms ^& data structures, but in reality day to day problem is CRUD.
Partly agreed here. The thing is - as the CRUD things become more and more common, everyone wants in on the next stuff - Analytics, Data Science, Machine Learning! Who is going to provide that for the companies? The guy who did dev bootcamp or the guy with a CS degree under his belt who says he can learn it? Who are you going to hire?
And it just so happens there there are quite of lot of 6 figure jobs that solely involve building crud apps by gluing together frameworks.
You can shit it on all you want, and talk about how "us real computer scientists are solving the Hard Problems by building compilers and OSs".
But at the end of the day, the person going to the bootcamp doesn't care about this opinion. All they care about is that they were able to spend 3 months of there time in order to double or triple their salary.
And the only other price they have to pay is having to put up with people like you shitting on them for not working on Hard Problems. And to me, that seems like a very small price to pay.
Person A: "No Scotsman puts sugar on his porridge."
Person B: "But my uncle Angus likes sugar with his porridge."
Person A: "Ah yes, but no true Scotsman puts sugar on his porridge."
I feel the much of the negativity towards bootcamps is partially due to people feeling threatened by new entrants. Kind of like black cars in London claiming that to be a cab driver you'd have to know the streets by memory, while in most cases GPS would be good enough. To me, it seems like a lot of bootcamps get you to good enough. That doesn't take away from all the years of investment and learning that other developers might have gone through to get where they are. There's room for both.
The only difference between the above mentioned professions and Software Engineering is that there is no formal "examination" that you have to pass to demonstrate your qualification - which is the barrier that is there to ensure quality students. It comes down to qualification. Unlike doctors and lawyers, the barrier to entry in our industry is much, much low. Which most assuredly leads to a decline in quality.
So yeah, thanks for the passive aggressive attacks about me feeling threatened, but no. I've never seen a 6-figure salary, I don't live in US/Bay Area. I just like quality code and working with quality people. Bootcamp devs aren't those. Can they be? Sure, but as some graduates in this thread themselves admitted, it took them 2-3 years to reach that position anyway.
Yes. There is plenty of work that can be done by a nurse that doesn't need to be done by a doctor. It seems silly that someone gets sent to school for over a decade to talk to me about whether I can take a drug to bring back the spark in my relationship.
> Law
Yes. There are plenty of routine legal procedures that should be allowed to be performed by someone that doesn't have to go through the costly process of going through law school (routine divorce comes to mind)
> Architecture
Don't know much about architecture :-/
Didn't mean to be passive aggressive. So for that I apologize.
Accounting is perhaps a more interesting corollary because it doesn't have the built-in awe and long history of respect as the medical and legal professions: perhaps we should have 12-week tax accounting bootcamps! I'm being a bit tongue-in-cheek, but there are real benefits on both sides of this argument: there are real quality of work and quality of employment (salary, respect, etc.) advantages to professional certification enforcement, but it is difficult to imagine the pace at which the technology sector is growing if employment were controlled by certification.
What is changing right now is that demand for skilled people is outstripping the education system's ability to produce them. So you see the emergence of schools and eventually employer driven training programs. This has been coming for a long time, and it is actually a good thing. It's actually an opportunity.
> Yes. There is plenty of work that can be done by a nurse that doesn't need to be done by a doctor. It seems silly that someone gets sent to school for over a decade to talk to me about whether I can take a drug to bring back the spark in my relationship.
> > Law
> Yes. There are plenty of routine legal procedures that should be allowed to be performed by someone that doesn't have to go through the costly process of going through law school (routine divorce comes to mind)
Paralegals and Nurses require 2-4 year diplomas or degrees, typically
Meanwhile they were taking home a paycheck instead of paying tuition dollars. Maybe they've got family to support and taking four years out of the workforce wasn't a possibility. Or maybe sitting in a classroom is just not how they learn.
What exactly is the problem with some people learning on the job if they want to and employers want them to? You don't want to work with them find an company that doesn't want to hire them or found one yourself.
How is that in any way the problem of the company said guy is joining?
> What exactly is the problem with some people learning on the job if they want to and employers want them to?
Because it is inherently a risky proposition. Why should the rest of the team be held back or be responsible for plugging the gaps in the education of the guy/girl who doesn't know their stuff? It's not an Internship, is it? If you're getting paid a full time salary you better be able to fucking to the job.
Anyway all this talk is pointless. Any company worth its salt will weed out the weaklings in the Interview process.
There's so much work in this industry, and will only be more over time, that I'm not worried about being replaced by any stretch. Fear certainly may be the driving force for some folks, but my experience with bootcamp graduates has just generally been unimpressive. I'm certain there are quality graduates from these programs! I've just never actually worked with them, and it's getting to the point where the correlation is uncomfortable.
Trivial in Unity or UDK. Good frameworks / game engines make non CS people productive in building apps. There are thousands of successful mobile game developers with little to no CS background.
You don't need to know classical mechanic physics as a construction worker to build a structure, but you do need to know it as the architect designing it. The bigger the structure, the more important.
And in fact the basics of structures is taught to Technicians as well.
It depends on the problem domain. Most problems solved by software developers today do not require a CS background, or even any technical background. Just like in other fields, we have the advantage of building on the shoulders of giants. A smart person invents Ruby, another smart person builds Rails on top of that, and the next thing you know, a ton of people are writing web apps. This doesn't mean that the web app developers are "bad" developers. It just means they can focus on other types of problems.
When given the choice between diploma mill graduates and Google Developer Bootcamp graduates, I will choose the latter. And you will too.
Bare-minimum spaghetti code from passionless software developers is going to be mass produced and it will continue to be mass produced.
Honestly, I think we should look at this from a pair-programming perspective -- but on a massive scale. It is more beneficial to partner with existing educational institutions and make an on-going, consistent, and strong effort to create a robust pipeline from school to the industry.
that is the state of the industry dominated by "developers" instead of "scientists" or even "engineers". An industry with endemic Dunning–Kruger.
The point is to move industry beyond the CRUD. "Developers" just don't understand it and are happy to manually churn it again and again like those manual workers before industrialization or like those car assembly line workers before robots...
I'm from Dev Bootcamp and barely knew anything before participating. I had multiple good job offers a week after "graduating" and have always been performing well, obviously according to what was expected when I finished. I was able to do useful stuff in our rails app since the first week, and although I needed a lot of mentorship I still think I was useful.
I think what's important is to be realistic on expectations you have on bootcamp. You won't understand how things work after 3 months, but you will definitely know enough to get a job as a junior, and be able to continue learning.
After I landed my first job, I continued to take some online classes to know more CS stuff, learn basic algorithms, etc. and now that I've been working for almost 3 years (really hard) I feel like I know better than a new grad getting out of school. I didn't when I started working obviously, but I think that those past 3 years were way more valuable in every single aspect than if I had spent 3 years in College studying CS.
Don't get me wrong, I'm not trying to say you shouldn't go to school or anything, but there is definitely a value in bootcamps, especially for people (like me) who already spent 3-4 years in College but want to make a change. I would have never been able to become an engineer without a bootcamp, because I couldn't afford another bachelor's (and tbh, didn't have the motivation for it anyways).
These skills can be taught but aren't in most modern universities.
Mostly, there is argument that university is not vocational training. At the same time, most people implicitly feel the need to go to university to get a job.
These developer boot camps create a new path. It's a good thing.
EDIT: See my post further down for clarification on this idea. I shot this comment from the hip a bit too fast.
I'm a high school dropout and have started/ran/sold a startup, managed a division for a well-regarded consulting firm, and worked on data taking for a detector at the LHC. Perhaps the problem is that I minimize the amount of effort that goes into being autodidactic (determine the problem, determine what information and skills are needed to solve the problem, acquire said information/skills, execute, repeat).
Let me correct/clarify my above post: Theory isn't a waste, per se. Is it best to spend a significant amount of time front loading knowledge one may not need? And paying a substantial premium for that experience? That's my problem with the college experience for tech professionals.
I'm not a huge fan of bootcamps, but I do believe there is much to be gained by Google's efforts here. There is value we've lost in the old apprenticeship system, and I hope to see it revived over time (I owe my skill and career progression to the luck of finding quality mentors along my way).
There are hard problems I want to solve that I want to have the resources (mostly time) to solve. College would not teach my those skills, but me trying to solve those problems are lessons in themselves.
Don't get me wrong--I'm self-taught too, I'd been writing code for a decade-ish before I went to college, but this stuff changed my life profoundly, and I think minimizing it out of hand is downright tragic. Maybe if there was a better way to get people to acquire this a few years on (calling to mind the idea that people should have a few years of experience before getting an MBA), but there isn't right now.
As far as paying a premium goes--I graduated with about $20K of debt, mostly because it was effectively free money (my total interest payments before I paid them off were less than $2K), and was getting paid through school (did Google Summer of Code twice, ran my own web dev shop, etc.). Bad choices can be made with regards to college, but that's a criticism of overly expensive (private) colleges.
The tech industry currently doesn't need any more people to work on the Actually Hard Problems.
The tech industry currently pays people 6 figure salaries to build CRUD apps. There is such a huge shortage of tech people, that the industry can't even get the "Easy", low hanging fruit work done.
It doesn't matter how many PHDs work at Tesla designing space cars if the world has a cronic shortage of car mechanics. And right now the car mechanics get 6 figure salaries.
Could you make your point without that?
I dunno, more people keep offering to pay me to do them than I have time to take up...
Is a categorical falsehood that has cost me alot of time and money.
There is not one top tier technology company software team that you can get on without having a strong grasp of at least the basic fundamentals of CS (namely data structures, algorithms, and some college level math.)
You will ALWAYS get passed on if you only focus on domain specific knowledge (ie. web development or mobile) to the complete detriment of theory.
Why? because because eventually said tech/language/toolchain/development target/ or platform will become obsolete and good companies want to know your skillset won't die with them.
I've written about this before
http://www.quora.com/I-am-quite-bad-at-algorithms-but-good-w...
Anyone reading this who is interested in being a software engineer for the long haul please DO NOT discount the importance of a strong CS foundation as I did early in my career.
Edit: If you downvote please explain. I have strong evidence to back these claims in the form of missed jobs opportunities at multiple name brand tech companies. You can stick your head in the mud if you like but it wont make you anymore correct.
Look at any of the statistics. These bootcamps graduate people making 80k-100k. That is a good salary for someone who didn't graduate with a CS degree from a top 5 tech school.
This just in: Getting on a top tier team requires being top tier.
This doesn't mean you can't teach for the rest of the industry, nor does it mean you can't go into the top tier work later. Just the path to top tier changes, from college to having solid experience and code out there. This can come from blog posts, open source, or simply working on hard problems at whatever gig you can get.
>> not one team... you can get on
>> passed on
Is the problem that you can't join the team without fundamental skills, or that you can't do the work?
I would argue you can still do the work without it but it will be at a completely different level if you have a strong CS foundation because you'll understand at a fundamental level how to build software that is performant among other things.
Many software teams have decided by using that as the interview process to have it as a floor for the aptitude of people on their team.
In some of the easier cases, a person who is only a bootcamp graduate will be able to do the work. In other cases, they absolutely won't. The latter will be those that require more knowledge of at least some CS theory (parts of it), algorithms, data structures, OS fundamentals (and particularly the interactions between the programs you are building and the OS, i.e. system calls, I/O to/from peripherals, data representation format and conversion issues, etc.), troubleshooting (and I don't count looking up issues on StackOverflow as troubleshooting), etc.
https://mobile.twitter.com/vasudevram/status/656512523840147...
https://mobile.twitter.com/garybernhardt/status/656512550570...
For example, I've come across both devs and sysadmins who didn't know that a binary (Unix term) / EXE (Windows term) compiled for one hardware/OS platform will not run on another hardware/OS platform (with maybe some exceptions). - due to the different hardware instruction set and OS system calls.
If you're smart and perceptive, then you can learn enough of these things, for the average job, by osmosis or by day-to-day exposure over the course of a career.
You can learn fundamentals (and see them applied to real problems) while being paid on the job
In a sense I feel like we do things backwards. You should work in industry for a couple years, then learn the theory you learn when getting a CS degree. The software development career path isn't setup like this now, but if it were, I feel like we would all be better off.
Now that I've been developing for a while, everything has fallen into place. I understand Chomsky's hierarchy, the limitations of regular expressions & stacks, time complexity, and the like. It's like development filled in this enormous gap that I had been missing.
I credit a lot of my ability to learn to my bachelor's degree, though. I wouldn't recommend most people skip college, and I've considered going back for a MS in CS.
They hack around on computers in high school and get to being pretty good at programming, then go to college and pick up the theory side.
Fundamentally, I think trying to get people to be developers who are only interested in money is a losing proposition.
I'm interested in the fundamentals of CS, and I code because I love coding, not because I'm really interested in a high paying low stress job. Most students in my program and who I'm friends with have an interest in going into management or building a cool product quickly. (Let me be clear, I don't wish to pass value judgement on the reasons that one is interested in CS. Those reasons are equally legitimate, just not to my interest)
Unfortunately, at least my observation, students who have recently become interested in CS "for the money" tend to perform significantly worse are and are largely less successful at Computer Science. The students who are most successful are those who have known that Computer Science is their passion for a long time and who are now in college pursuing that interest.
Fundamentally, I agree with you, the divide between those who wish to be serious computer scientists and "coders" becomes more clear every year.
Exactly my experience. When I started college, I hated all the theory and built apps. Now I am a senior and spending most of my time reading theory books and wishing I had minored in math!
I interview developers pretty often for my company and I've come across about a handful of people whose only education in development was one of these bootcamps; none of them were anywhere close to being ready for even an entry level position.
So I become super skeptical when people are being asked to pay $13k for a 3 month program that may not actually land them a job. That's a LOT of money.
I'd like to see GA's historical track record - how many of their graduates have received offers within 6 months? Within a year? What were the average starting salaries they received?
Based on my limited exposure to the graduates of these types of bootcamps, I don't think I'd recommend this type of program to anyone, despite having Google's name attached to it.
The "average" ones are closer to 75k average starting salary.
I did a bit of research and found a Quora answer regarding GA's success with its Web Development program here: https://www.quora.com/What-is-the-hiring-rate-for-graduates-...
Hack Reactor indeed has these statistics, but their application process is probably the most difficult/selective of any of the bootcamps. The people going into the program, are usually, already quite good.
As an example, I have a friend who graduated from General Assembly, didn't feel quite prepared, so did Hack Reactor AS WELL. (ie, 2 separate bootcamps, one right after the other). On top of, of course, a college degree (albeit non-CS)
It is kind of like how Harvard has very good hiring stats. Is Harvard really that good, or does their admissions process just select for people who are almost certainly going to be successful, no matter what college they go to.
A 12 week program is certainly enough to prepare someone for real, practical applications in development, especially if the student has done self study before and after and has ambition.
From what I've seen, often times a CS degree does the exact opposite.
Just look at the job statistics for anyone of the top ones, like Hack Reactor, Flatiron School, ect.
They graduate people who get 80-100k salary jobs, within 6 months of graduating.
People go to these bootcamps for the singular goal of getting a high paying job, and these programs are wildly successful at achieving this goal.
You're flat out wrong and you're doing a disservice to yourself and the industry by dismissing them out of hand.
I've talked to quite a few people who have gone through bootcamps or hired people from bootcamps. Many come out completely capable of filling a junior dev role.
We hired a junior dev straight out of a bootcamp and she has been great. Not only is she competent but she adds a different perspective to the team which is valuable.
One caveat though. Not everyone is suitable for a bootcamp. You have to be an intelligent, fast learner who wants to continue learning and is aware of your limitations.
Employers have to have reasonable expectations too. You can't expect someone from a bootcamp to be committing code on their first day, first week, or possibly even first month (depending on the complexity of your code base). At first they will take much longer on tasks than a CS major or someone with experience. But they've clearly shown a willingness to learn and learn quickly so it doesn't last.
To be fair it seems like the people that go to the "top" bootcamps are not like this. I mean, App Academy has graduated Googlers, but a lot already had degrees or some industry experience.
I do know of many CS grads that were woefully unprepared to write production code until they had a few weeks of real learning.
Myself, I have no CS degree, and have been a professional developer since 1999, in multiple languages, and have had the opportunity to run user groups, speak at conferences, serve as technical editors in many big name programming books, and more. I'm FAR from exceptional; I'd say I'm only mildly above average in terms of intellect and skill. My point is that a great career can come by many paths.
For more info see my other comment on the main thread.