Hacker News new | past | comments | ask | show | jobs | submit login
Google Launches a Developer Boot Camp, Promising Jobs for Graduates (bloomberg.com)
169 points by bko on Oct 22, 2015 | hide | past | web | favorite | 181 comments

edits to correct typos made on my phone.

I am skeptical of developer bootcamps because they often aren't open enrollment. You generally have to have the aptitude and background to get through their admissions process and interview. That weeds out some people right away.

They are right to have this admissions process, because if you let everyone in, lots of people won't make it, and then the promise of good paying jobs is much more hard to advertise.

Let's not forget that it does favor a certain type of people over others; namely people who have grown up in an environment that teaches them how to learn. Most people on HN know how to learn on their own and see value in bootcamps because they feel that candidates from bootcamps can learn the material easily.

But folks, that's not everyone.

A lot of people don't like school. They aren't good at it, or they had bad experiences, etc. And a lot of people transitioning into software development have been trained for many years to do what they were told, so they have to develop those critical thinking skills.

I think these people have a harder time making it through the application processes for some of these camps. And that's a shame.

I would be 100% behind an immersive bootcamp experience that had an open enrollment process. I work at a school that has that right now, and we do have lots of people who don't make it very far. But we have many more that go from minimum wage to doing very, very well for themselves and their families.

If I had those students for 12 weeks straight where they could learn and apply through immersion, oh man, the things we could do together!

> I work at a school that has that right now, and we do have lots of people who don't make it very far.

When it comes to those "who don't make it very far"; how do you handle tuition and possible refunds?

I'm not really advocating that they deserve or should get a full refund; I'm just skeptical that an open enrollment type thing where anyone can join (like I've experienced with a MOOC)-- you'll have a lot of students starting out, and end up with very few. The one's who couldn't make it should have been screened out, as they're both spending a lot of their own money on this, spending a lot of their own time on this, and potentially taking time away from others with remediation or tutoring-- at the very least, there could be various levels of classes for them to work things out before being introduced into the subjects where they might tend to fail.

From the perspective of someone who has been taught and who has taught, in both cases I prefer small group sizes of people I have some confidence in being relatively adept at what's going on-- the need to reiterate and reintroduce certain core concepts on things goes down a bit as well.

I agree with all of this.

But I've seen people who came from nothing rise to the occasion and turn things around. And if we'd screened them out, the world would be worse off for it. The perspective they bring demonstrates the true, non-politicized idea of diversity.

And so that's what I fear happens if the industry picks this bootcamp thing and runs with it; that we'll end up with a very homogeneous group of developers. People from middle income families where education was held in wide regard and who had parents encourage them to explore things on their own.

Yea, as a teacher, I really enjoy it when everyone in my class wants to learn and is highly motivated. But I also enjoy getting them there. :)

Refunds? I really don't know. But this is why traditional schools can compete - they have the resources for tutoring, remediation, and open enrollment.

Of course, if all the motivated people skip that and do bootcamps because it's a "guaranteed" path to a job, well....

The hard part of it, to me, really is the notion of a "guaranteed job". They're no more guaranteed a job than I am to wake up tomorrow; though the odds of being successful probably not so bad.

I've seen that "problem" in college graduates as well, and the flurry of problems arising after that guaranteed job never came to fruition.

I can see the fulfillment in having taken someone from nothing to being prepared for (or having) gainful employment in that field. I'm sure screening out folks who perhaps weren't immediately going to be competitive / successful plays into that fulfillment and success as a teacher; higher risk, higher potential gain (or at least, personal fulfillment).

I'm actually signed up for the General Assembly WDI next month in Atlanta; while its interesting to hear that Google has done this with GA, it wont strictly affect my class (I don't think it will, at any rate)... but speaking to that "guaranteed job"-- I do have _slightly_ more confidence that I'll be able to find a place I want to work (vs what I'm doing now, basically doing triage on broken webapp backends for various folks as a consultant).

As for the refunds; yeah, idk-- I could just imagine some really sore feelings surrounding it, and I'm sure there would be individuals raising cain about having spent money and time on the program (though, I don't know of a college that offers refunds...). I can't really speak to a solution there besides having possible remediation style "classes" or having a really strong network of after-hours study groups.

traditional schools absolutely don't have open enrollment. Try telling that to MIT or Stanford.

While I agree that there should be programs out there that reach out to underprivileged people and teach them to program I don't think the bootcamp model really suits them.

There are a number of organizations that do things like this (there should definitely be more though) but one of the main things is that the should generally be free and allow people to keep to differing paces. Otherwise you run into a large number of people who have spent a lot of money on a program that they won't do well at.

MIT is launching a micro degree that is open-enrollment-based. The number of students in K-12 is trending downward, thus the number of students in the pipeline is also trending downward.

So more schools are opening their doors to bring in more people. You'll see the trend continue.

> open enrollment

Do you mean that the program should be made available to anyone who wants to take it? What if there just isn't enough capacity to take that many people?

The usual solution is to raise prices until demand dies down to a level you can handle.

It's not entirely effective if you can get grants and loans to pay for it though.

Yes, I mean that. It's so tricky because you do get a percentage of folks that are not realistic about the expectations or requirements. But you handle demand the way other open enrollment places do - with waiting lists.

> That weeds on some people right away.

> people who have grown up around how to learn

Neither of these phrases makes any sense.

Oh, come on. It's clear enough from context what the parent means: "that weeds out some people right away".

The latter phrase could be rephrased as "people who have grown up in an environment which taught them how to learn".

You honestly couldn't figure out what those mean?

My first impulse is like a lot of people to be fairly skeptical. Then I cast my memories back to when I started, and this is how a lot of big companies got their developers.

You took the IBM Data Processing aptitude test and if you did OK, the company inducted you into a trainee programmer role and you were sent on a course and got your PL/I book. You then spent 6 months working with the senior programmer gaining experience and making small patches and then eventually moved into a journeyman status. Basically it was an apprenticeship for coders.

Some stayed at that level, some quit, others would then do a combined CS with Computer Systems Engineering degree and get honours :-). The point is that it gave people a look in at the ground floor - people who gained value for their company who never would have had the chance in a world where the only way to open the door is a degree.

So despite my initial skepticism, I think there can be a place for things like this. In the end it depends how it is used. If it is to get people to pay money for a worthless course, then that is not great. However, if people can get placements as part of the gig, and they are treated effectively as apprentices, then it opens doors to a little more diverse crew than we are getting at the moment, and that's a good thing.

I actually just went through General Assembly's Web Development Immersive course and finished in July. I'm in a similar situation to that. I learned HTML/CSS/JS, then ruby on rails and MEAN stack.

After I finished I was at the point to know enough to know I don't really know much of anything, and got hired into an apprenticeship program a local company was running, even though the majority of the stack I learned at GA isn't even used. He hired me with the knowledge that I am teachable and willing to learn.

Everyone but one person from our cohort now also has a development job. General Assembly at least does a ton to make sure you are prepared to fight your way into the job market. The only thing I am worried about is what the market will look like for people coming from bootcamps 5 to 10 years down the line. Is this going to start to bring out the people opening ma and pops bootcamp to get a quick buck?

Funny, every GA grad says this on Reddit/HN, yet the ones I've talked to claim otherwise, and GA still has yet to release any sort of Employment Statistics. You'd think they'd use some of that 70 million to publish some official stats before starting up all these new expensive courses...

I will say I have helped ta at General Assembly after I finished, and there is a reason you don't see those stats, they don't have them. My individual campus has them now, and the outcomes people kind of had their own list, but there is no one major list in GA for that info.

Also you will hear wildly different GA experiences because every campus tackles the curriculum differently. Mine went JS prework, first 3 weeks of HTML/CSS/JS, next 3 Ruby/Rails, next 3 full MEAN stack, next 3 either random lessons about things like web sockets, comp sci topics, or any other thing the instructors found important. I talked to a LA grad though, and it was completely different. They had Ruby prework, and then day one started learning about Angular.

It's really all about the campus. If you want to go to GA, find out about that campus, not GA in general.

When everyone became a photographer it brought confusion to the market. However, this seems to have settled down and stabilized now. I guess something similar will take place when everyone becomes a programmer.

I am skeptical of "Developer Boot Camps". I think they over promise people that they will be skilled developers when they are done. If you go in with a degree in Computer Science or something that teaches you how to program properly sure you will probably be able to get a job. But the idea to take someone that has never been a programmer and make them suitable for a job is laughable to me. It does a disservice to everyone. And to me are just a scam.

This attitude, that I see frequently on HN, isn't very helpful. I taught myself to write code in a little under three months and immediately got a job as a Jr. Dev. I knew nothing about data structures or algorithms but I could write a Ruby program.

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.

I think it's akin to how a couple of days of training could prepare someone to work at one of those oil change places but it won't make him or her into a car mechanic.

These bootcamps can teach people the basics of programming and if they have the interest and aptitude, they can grow into mature, experienced developers.

The eternal problem is that academia is meant to create theoretical physicists when industry needs more mechanics.

I think a lot of it has to do with an academic identity crisis. My degree was a strange mish-mash of purely theoretical stuff and purely engineering stuff that felt more like a set of topics ABET wanted covered rather than a path towards either deeper Computer Science or Software Engineering.

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.

True, except we have a lot of degrees that produce "mechanics"—the various engineering degrees. And we have an organization (ABET) that makes sure schools teach the right stuff.

We just happen to not have one for programming.

Accreditation organizations being the solution only holds if you accept the premise that a four-year degree with any course material is necessary to be a successful developer -- if that were true, figuring out what the right stuff to teach in that four years was would certainly be the challenge. But while I share a lot of people's skepticism of bootcamps, I personally haven't seen much evidence that that's true.

That's a good point, I had not thought of that. Personally I think two years of studying and projects is good enough, maybe one if it's a bit intense like a bootcamp. The problem is people's prejudice against anything that is not a four year degree.

Saying "you will have enough skill to be useful" is naive if you are basing it on your own personal experience of learning to "write code in a little under three months and immediately got a job as a Jr. Dev".

+++ 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.)

Did you really expect the people who chose to drop out to be counted in job placement rates? I believe the same standard is used when talking about placing graduates to jobs from colleges, so I don't find that misleading.

I'm not surprised the numbers are being published that way, but it is certainly misleading. These things are being pitched essentially as "Why waste four years of your life and bury yourself in debt? You can have a six figure career, working from your home, in just twelve short weeks at a fraction of the cost! We have a 100% placement rate!"

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."

For reference, what year was it when you got a job after three months of self study?


> I knew nothing about data structures or algorithms but I could write a Ruby program.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."

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.

I forget how much I hate Hacker News sometimes. Thanks for reminding me.

> (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.

> 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.

I've never seen much evidence that great software engineers always have degrees. In fact, the best ones I know don't have CS degrees.

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.

Nope. My argument is with you. You are a dick.

Imagine you had spent years and a lot of money studying 1'st normative forms. You have a lot of pride in in this knowledge... it represents a significant investment in time and money and makes you feel special. Suddenly, a 3 month bootcamp is insinuating it can turn out developers making almost what you are. You may just get a little dicky.

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.

Nobody is insinuating that they'll be competing with you. I had a class of 18, I'm one of two who ended up as a back end developer. It wouldn't surprise you much to learn that the two of us were both Math majors. The rest were design-y people who wanted to expand their job prospects and ended up as front end developers. I mean this in the nicest of ways to front end developers, but your algorithms mean jack-shit to them.

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 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.

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.

> There were so many things that I didn't know that I didn't know.

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.

What about other related and close disciplines to CS like electrical or telecommunications engineering? What do you think of these degrees?

I understand that you feel very strongly about your perspective, and notice that the arguments you make rely on your personal opinions and experiences. I wish to assure you, that you feel this makes your arguments compelling does not speak well for the college education you prize so strongly.

> rely on your personal opinions and experiences

Here's an employment rate and weekly earnings chart from the US Department of Labor correlated by education level:


This does not change my stance that your perspective on the necessity for a college education to program well is occluded.

>As an interviewer I will be able to tell this.

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.

I know amazing engineers without CS degrees, and bad engineers with them. It's certainly nice to have one, but it's hardly a prerequisite for becoming a good engineer.

Stop it. I think it's really an uncomfortable feeling for plenty of us that someone can learn to program in a few months. It makes plenty of people in the industry free inadequate and I see this argument of yours repeated over and over. It doesn't stand.

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...

> A developer and a computer scientist are two different things.

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?

My definition of a "software engineer" is someone who gets paid 6 figures for writing code, any code.

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.

Parent's argument reminds me of a No True Scotsman fallacy.

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.


> I feel the much of the negativity towards bootcamps is partially due to people feeling threatened by new entrants.

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.

Would you be willing to extend the same logic to the medical profession? What about law? Or perhaps architecture? Would you let a 12 week bootcamp graduate design your home? Or really, any other type of engineer. After all, the argument about "theory" differing from "real world practice" and becoming "good enough" can be made for those as well. You don't need to know about how germs work in order to treat a cold. You just need to know which medicine to prescribe.

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.

> Medical

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.

Becoming a nurse or paralegal requires far more certification than software development. It's actually quite amazing how much of an outlier software is in the realm of professional qualification.

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.

There's a tax bootcamp in a strip mall I drive by on the way to work. It's a nine week program for people that want to be tax preparers. Same story as developers. Fast path to a better paying job.

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.

Didn't we try this before with Microsoft (MCSE), Cisco (CCNP) and Oracle certifications and failed miserably?

Nobody stops you to do your own book keeping or management accounting/budgeting.

Sure, but there are plenty of accounting tasks that you do need to be certified to be allowed do. Is there an analogue to that for software (in the US)?

Certification, no. Practicalities - yes.

> > Medical

> 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

>> Can they be? Sure, but as some graduates in this thread themselves admitted, it took them 2-3 years to reach that position anyway.

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.

> 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.

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.

Really? People who write code, any code - but make under 6 figures are not "software engineers"? What's making 6 figures have anything to do?

> Video Games - try writing one without knowing much about Linear Algebra. See how far you get.

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.

The difference is semantics - one is a software engineer and the other a software programmer.

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.

Not so much the architect the Consulting Engineer ( a proper one with their PE CE status) has to.

And in fact the basics of structures is taught to Technicians as well.

Right, but they're not taught the reasoning behind the structures. The difference is knowing how to build a Spandrel braced arch and knowing why you would use it instead of a trussed arch.

>>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 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.

This course teaches android development. Usually the scalability issues are handled by an outsourced backend.Seems like a perfect fit.

Can confirm. I work at a company in the Google ballpark, am a former mathematician, and would probably make a good CS'ist, but my old website was copy-pasted HTML from another professor's.

>but in reality day to day problem is CRUD.

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...

No, what makes us uncomfortable is having to come back and maintain the code written by some of these boot camp graduates after the fact.

The number of people in the industry will increase regardless, whether it's through Google boot camps or otherwise.

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.

No kidding! The code they can write are naive solutions which may likely slow down the code/app as it 'scales'. As a computer scientist, I'm not threatened by those whose entire development expertise is the boot camp that they went to (as some seem to imply in this thread). But I fear that once their boss asks them to 'make this faster', they'll have a much harder time doing so since they may not have the proper CS fundamentals (e.g. can they profile code and see if it reflects the general theoretical run time?). They may risk their jobs if their employers may start to think they don't have the actual chops they were hired for.

It should be noted that many developers with CS degrees write spaghetti code and make poor architectural decisions.

I totally understand the skepticism and I think it's a long, deep debate between coding vs computer science.

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).

Being a software developer in the modern world (web, mobile) has little to do with computer science.

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.

"Being a software developer in the modern world... has little to do with computer science."

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


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.

> 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.)

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.

What's interesting to me is that every time this argument comes up, the argument of the party stating that fundamental CS skills are not required generally revolves around the work, and the argument of the opposing party generally revolves around the interview.

>> 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?

>Is the problem that you can't join the team without fundamental skills, or that you can't do the work?

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.



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.

Very interesting observation.

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.

"(namely data structures, algorithms, and some college level math)"

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.

There are lots of successful profitable companies making lots of money who are not "top tier tech companies". They still have software built for them by developers without CS knowledge.

We are talking about people who did not learn the fundamentals in college, for whatever reason. For those people I would advise them to get a job first then worry about getting strong in fundamental areas. Experience and employee referrals >>>>>> fundamentals where HR search tool are concerned.

You can learn fundamentals (and see them applied to real problems) while being paid on the job

If what you say is true, then how come the dev bootcamp hiring statistics say otherwise?

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.

Excellent point. If you want to waste 4-6 years of your life on theory, go to college. Bootcamp it or learn yourself if you want to spend 6-18 months learning and then jump into a junior position to get real experience (and get paid for it).

EDIT: See my post further down for clarification on this idea. I shot this comment from the hip a bit too fast.

I don't want to rip on you, because I think you're a pretty sharp dude from your posting here, but if you think theory is a waste, I really question what sorts of Actually Hard Problems you've had to tackle. :/

Thanks for the kind words!

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.

YMM, of course, V, but I've used almost everything I ran into in my collegiate CS-related courses in some form or another. And I find that the stuff that I haven't directly used has contributed to my ability to solve problems--having the prerequisites to be able to assimilate into my corpus of knowledge pretty random stuff has served me extremely well. Much more importantly to me, however, I was exposed to things outside of "that computer stuff" that have made me better at being a manager, a leader, and (as hokey as it sounds) a human being. I literally can't put a price tag on it, but I would be vastly poorer as a person without a liberal education that I think gets aggressively discounted when attempting to view college in purely transactional terms. It is a much greater criticism of college, to me, that a student has to go looking for this stuff; the existence of bachelor's degrees that are functionally trade-school materials is troubling to me. I deal with a lot of technical people who are pretty aggressively ignorant of things that don't involve keyboards or oscilloscopes, and I think that is the greater failure of the American collegiate system.

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.

Who gives a shit?

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.

> Who gives a shit?

Could you make your point without that?

> The tech industry currently doesn't need any more people to work on the Actually Hard Problems.

I dunno, more people keep offering to pay me to do them than I have time to take up...

There is not a shortage of tech people. There is only a shortage of good tech people willing to work for peanuts.

Which is funny, as those exact Computer Sciencey type questions are what Google likes to throw at candidates.

I found that CS theory was great, once I had the practical experience to recognize how to use it.

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.

Interestingly, I think that is actually how it works for most elite/successful programmers.

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 a university student in a very well ranked Computer Science program in California.

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.

I don't know if I completely agree with your implementation, but I definitely see where you're coming from. A lot of CS theory felt bland and only useful in academia. It felt like the theory would only be useful if I was doing research and not application. This was especially true with the data structures, discrete maths and automata. It was almost impossible for me to grasp those concepts without something concrete to back it up, and my homework/test grades in those courses reflected that.

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.

That's what I did, and it's worked very well for me. I have a degree in another science, then spent a couple years as an sdet. When I transitioned to a dev, I began to self-study via textbooks, lectures, and MOOCs. It took me about three years to cover all the topics included in a CS degree, and now I'm as knowledgeable as anyone I work with.

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.

> I found that CS theory was great, once I had the practical experience to recognize how to use it.

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 don't think you need a computer science degree to be a programmer, but I share your concern about Developer Boot Camps.

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.

It depends on the school. The very best ones like Hack Reactor have a 99% rate for people getting jobs within 6 months, averaging at 100k.

The "average" ones are closer to 75k average starting salary.

I haven't come across anyone from Hack Reactor yet, but if the numbers they put on their website are true, then that's pretty impressive.

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-...

What? How is this possible? Entry level web developer with a starting salary of $100k... and a guarantee... That looks like a straight up lie.

It is factually correct, but perhaps a little misleading.

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.

Fully agree. Learning the syntax of a programming language (which is about all you can hope to learn in a bootcamp) is just the first step in becoming a programmer.

It worked really well for me. It's not a scam, and it may be laughable but its reality. The fact is there are a lot of job openings for developers and these guys are taking advantage of it.

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.

And yet the Developer Boot Camps work.

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.

I'd also like to add to the conversation that these bootcamp individuals don't exist in a vacuum. They will gain a decent network and hopefully will be already tied into an existing network. I'm a developer who has a friend who is going through the HackReactor bootcamp process and will begin this January. He's still preparing for the training by doing self study which I mentor him on over lunch hours. A focused bootcamp paired with a solid mentor should definitely produce a developer able to deliver JR tasks. Because afterall once a person lands a job they will surely continue to learn more and more, from their tasks, their colleagues, and mentors. I say let the bootcamps thrive.

Do they work? How many last in these jobs for a year? Two years? What's the quality of the work that comes out? How much of it has to be redone?

Might be too early to tell. But I look forward to this sort of thing being measurable in LinkedIn after sufficient time has passed much like how they did with universities not too long ago.

Depends what "job". In this OP, they jobs are front-end internship-level jobs, writing boilerplate Android front-ends to websites. This isn't "inventing a replacement for React" or "distributed systems design" stuff.

Boot camps have been awesome for my business niche: fixing Android apps that other developers have failed at and abandoned. If more boot-camp graduates come on the job market, it will be even easier for me to demonstrate the value of my services.

A smart/motivated/curious person can learn an awful lot about ANY subject in ~1000 hours. Are you skeptical about bootcamps, or about mankind's capacity to acquire new skills?

> It does a disservice to everyone. And to me are just a scam.

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.

> But the idea to take someone that has never been a programmer and make them suitable for a job is laughable to me.

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 agree on the point that programs that are selling a dream are a disservice.

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.

I see a lot of comments. So Let me clarify I know developing and CS are not the same. I myself am a college dropout. I have no degree but I spent many years in college starting when I was 16. It took me roughly 5 years after I dropped out to get someone to take a chance on me. The point I am trying to make is you can not be taught the basics in such a short time. The theory is so important to what we do. We don't need to turn out people that can code. We need to turn out people that can push our craft further. We are not a commodity!

I taught 3 cohorts of the Web Development Immersive program at General Assembly and most of my students are in the work force and doing great. I don't know about any other programs, but I do know the course that I taught was very effective.

For more info see my other comment on the main thread.

Hypothetical question, who would you rather have as a software engineer on your team: the MIT stats grad with little to no programming background aside from a bootcamp or the average CS grad from the average Uni?

CS degrees teach CS not how to program properly you sort of expected to either know it all ready or teach your self as you go along.

And the cost $13.5K for 12 weeks (a single term) is about what it costs for a year at Oxbridge £9k

To all the skeptics...

I spent a year teaching the web development immersive program at General Assembly. I felt skeptical about the program too, but I always wanted to try teaching so I thought it was worth a go.

by the way, I'd recommend it to anyone. It's a great way to take a break from dev work and teach the next generation of developers. It is extremely rewarding to watch people go from next to zero knowledge to being able to build functional apps, and they are always looking for new instructors.

So, does it work?

Admissions - We did have a fairly high admissions bar (as to not waste anyones time or money), but the bar was really about motivation and ability to learn the basics (they have to do some basic html / css). The program is VERY fast and demanding and people need to be able to do nothing but code for 3 months. Their personal life gets put on hold and they live, breath, and eat code.

Completion - Every class I taught had exactly one student drop toward the beginning, but outside of that everyone that started the program made it through (thanks in part to the admissions process).

Outcome - Every student that finished the program and actively tried to find work got a job. Each class (of 20+ people) had a couple people that decided to do something else with their lives, but everyone that decided they wanted a job in development got one.

I can't speak for all "boot camp" programs, but I can say that the program that I taught was very effective and IMO people got a great return on their investment.

These views are my own and don't reflect the views of General Assembly or Google, blah, blah, etc..

(edits to fix typos and some re-organization)

From the student side, I'd say the admissions were crap. I was wait-listed simply because they lost my application. Our class ended up with 15 people who lived and breathed code for 3 months, along with a few nine-to-fivers who treated it as a work vacation. Shockingly, they were the ones who were allowed to control the pace. I ended up with one of them as a partner on one of the projects. His only contribution was a single line of "code"... his name on the README.

Admission gripes and crappy students aside, the rest of the learning environment was great. The teachers were always willing to give more outside work if we wanted more. It was invaluable having classes overlapping and students at different learning stages sitting next to each other in the community workspace. Most people were happy to provide help. I even had the dumb luck of sitting next to Ryan Dahl while I was learning node (I had no idea who he was at the time); now I use node all day every day.

Which GA did you work at? I have a friend that went to the one in Santa Monica and had a bad experience. Of course, he did eventually get a job as a developer afterwards so I guess it could've been worse. I went to a bootcamp recently and when I was picking my school I remember the reviews for GA varying a lot from location to location.

I taught in Seattle. I actually read a bunch of reviews before applying and noticed the same trend. I think the quality of the actual instructors plays a huge role which reflects on each markets ability to hire top talent with adequate industry experience. I've met Instructors from all over and from what I can tell it seems like GA generally does a great job at hiring, but being in 14 different cities there is bound to be some variance.

My advice to anyone considering any immersive program would be to meet/vet the actual instructor(s) teaching your particular cohort.

This is a course on developing Android apps, not for preparing you to work at Google, which most of the discussion here seems to miss.

Students should most definitely be able to write a decent app after a class like this. Interface and backend communication aren't that hard, nor to they require an engineering background. Engineering problems, UX design, etc. are all likely beyond scope.

It's important to identify where on 'the scale' this lies: Google creates advanced tools that allow people to develop products using simpler concepts. This program targets the latter audience, which is a sensible business decision.

Tuition for the 12-week course in Android development, which was designed by Google's developer training team, is $13,500.

The full-time course will be offered in early 2016 at General Assembly's flagship offices in New York and San Francisco and then spread to its 14 locations around the world.

meanwhile I am paying ~$8,000 for a full computer science masters from GA Tech (OMSCS). Different class of education, but I feel like I am getting a better deal.

Slightly off-topic, but do most members of your cohort have academic backgrounds in CS? I'm interested in the program, but have a non-CS bachelor's plus work experience in development, and I'm not sure if it's worth my time to apply.

I have heard of people from all backgrounds getting into the program.

Totally worth your time. Many questions like this on https://www.reddit.com/r/omscs .

How hard was it to get accepted into the program?

I graduated from a mediocre school with a 2.99 GPA with a computer science BS. I have great work experience and had great letters of recommendation. I can email you with more details.

I applied when it first opened for applications. I was not admitted. Two session later they reached out and mentioned that my application was flagged for re-evaluation and asked if I was interested. I said I was and a few months later I was accepted.

It is a great program, I highly recommend it.

Maybe analyze this as a one-year payback. I've that miny who gone from minimal to medium skills via academies get a salary increase of about this amount. You also can write some of this off on taxes.

> You also can write some of this off on taxes.

You can? I thought it had to be a very specific, accredited school for that.

One of the most basic rules of doing extraordinarily well in business - Commoditize your complements. Google's hope here is to drive the cost of android developers down, while driving the number of android devs up.

What does Google do with developers who are 40 or 50?

What does age diversity look like at Google for engineering staff?

Sooner or later this issue is going to come to a head when all the 20-30-something year old Javascript hackers grow older...

I interviewed at Google. Didn't get the gig, but while I was in the office, it did seem like their engineers were mostly 30+ somethings. I didn't see a lot engineers there that looked like fresh grads. I know more than half the engineers working there interview two or more times before getting an offer.

Google, and most larger tech companies, optimize their hiring process to aggressively deny candidates if they aren't a slam dunk. The negatives that come from hiring a bad engineer far outweigh the positives that come from hiring a good engineer.

Not saying there isn't an age bias, just not an obvious one I noticed.

Why is that is there any verifiable statistics to back this up?

There is very little statutory protection for employees in the USA so the actual cost of firing some one isn't that high.

No statistics per say. Programmers are a different animal that say a job like tech support or customer service. Stuff they do, code they write, will stick around in your system for a while, and is non-trivial to remove or fix. If a customer service rep does a bad job you can fire them and going forward is a clean slate. But high turn over for software engineers leads to more technical debt. Lower quality programmers lead to exponentially greater technical debt. Also the cost of hiring someone in terms of dollars is not small.

So think about it from Google's point of view. You take a risk, hire a programmer that doesn't pan out. You fire him after 6 months. That's 6 months of salary and benefits. 6 months of bad code sitting in your code base. 6 months of lower productivity for whoever was on that person's team. And probably another 6 months after that of clean up either ripping out bad code, or worse, leaving passable code that turns bad at a later date causing even more work.

It is better to just take no action on a potentially good candidate and let them try again in a year than it is to take even a small risk on someone who might cause things to snowball.

> the actual cost of firing some one isn't that high

The legal cost is low, but the social cost of a workplace where people often get fired is high.

What in America sorry I am ROTFL here! didn't seem to stop jack Dorsey making a lot of people redundant or MS using stack ranking to fire the lowest 10%

Has Google released any numbers regarding the age composition of their workforce? They have for race and gender.

Some of my 1970s MIT classmates have been working at google for a years. But I suspect that era is under presented.

There are just a lot more young people studying Computer Science now as opposed to the 1970s since computers are ubiquitous now. So of course that era is underrepresented.

Aren't there lots of famous Google engineering staff in that age range? Jeff Dean, Peter Norvig, Rob Pike, etc

Yes, but these are the marquee hires.

Seems more like General Assembly is launching a bootcamp with the guidance of Google.

Yea but that title wouldn't get as many clicks.

Can anyone in the app development world speak to whether or not there actually is a shortage of Android devs?

Or is Google just trying to spark innovation by getting more engineers into the Android ecosystem?

Why not just hire experienced java devs?

I completed half of an android MOOC course and for the most part it was just Java + mobile design patterns. The android specific stuff (build tools/IDE, configuration, version partitioning, etc) can be learned on the fly I assume.

As someone who has developed an app for Android (going into it knowing Java really well) and now porting it to iOS using swift ( not knowing Swift at all), the language is actually the least of your worries. It's like you say the tooling, the paradigms, the UI and libraries, SQLite etc which are the biggest learning challenges. Also mobile dev is unique in its self (limited hardware & no reliable network conn)

That's been my experience anyway...

I'm not from that world but I noticed that I read a new article every few months that iOS App Store is continuing to gain a larger and larger share of app store revenue.

Perhaps Google is worried about declining developer attention focus on developing for the Android platform. Network effects make markets like the app store a winner take all (more or less)

Latest article: iOS App Store Revenue Now 80 Percent Higher Than Google Play, Thanks To China http://techcrunch.com/2015/10/15/ios-app-store-revenue-now-8...

If there is a shortage of mobile devs have wages correspondingly risen? I'm sure if wages rise, more devs will learn it and fill that gap.

I don't know how sure I am about that.

There is a shortage of mobile developers across the board and a greater Android dev shortage in my experience. A bootcamp is certainly NOT the answer to that. Mobile dev even more then web development requires a level of experience and tech knowledge that is not possible to gain in 12 weeks.

I think they're doing this because while Android apps beat iOS in quantity, there's a widespread conception that it lags in quality. So Google is doing this to try to establish a higher standard of Android developers craftsmanship, to try to counter the "iOS first" mentality. I don't think there's a shortage of Android devs, but of really great devs. And because of lower overall quality of Android apps, and market perceptions of Android apps being more fungible and less worthy of being paid for, it ends up being a cycle where firms go for iOS first.

Have been building mobile apps for a living for a few years - which I suppose makes me a vet in a relatively new field, so maybe I can shed some light:

Demand for mobile developers in general is off the charts, and still climbing. It's kind of absurd, really - the going rate for mobile devs has increased 200-300% over the past 3 years amongst colleagues I know, which I think is almost entirely attributable to the demand growth in this sector and the relatively slow growth of the talent pool.

Looking at Android vs. iOS devs, both are in high demand but Android especially so. Overall demand for Android doesn't feel particularly pronounced, but the talent pool of experienced, competent Android devs is dramatically smaller than the counterpart in iOS-land.

The key here is experienced, competent devs. We've interviewed a lot of Java people with minimal Android experience trying to make the leap over - it rarely goes well. Mobile development is substantially more complex than "knows Java and can work Android Studio".

There are a few posts replying to yours that I want to respond to, but I'll just do it in one shot instead of littering a bunch of replies everywhere:

RE: simply hiring experienced Java devs. This doesn't usually work - good mobile devs are also at least partially UX people - we spend a lot of time knee-deep in UI, and consumer expectations for the fit and finish of apps are high. Someone who has completed the "Hello World" equivalent of Android learning has done exactly that - finished "Hello World". It in no way implies the ability to build apps that aren't an embarrassment to the Play Store. There is a vast amount of domain knowledge here, and the gap between an app built by someone who merely knows the API vs. someone who knows mobile apps is pretty darned wide.

RE: iOS gaining a larger share of revenue. This is true, but relatively inconsequential to most mobile devs. Outside of gaming the number of businesses directly monetizing apps is dropping. The bulk of attention for non-game apps go towards service-oriented apps (see: Uber, AirBnb, Facebook) for whom "app store revenue" is a nonsensical concept. There is lots, and lots* of work for companies that don't rely on direct monetization (i.e., app sales and in-app purchases) to live (and increasingly so).

RE: the market balancing itself according to supply/demand. Yes, this is happening, but it's happening more slowly than the demand is rising, so overall wages are still rising. Much of this is because it's non-trivial to learn the domain knowledge necessary to really do this well, and consumer expectations on app quality is high enough that (to be charitable) the value of beginner-level devs vs. experienced devs is non-linear.

RE: simply hiring experienced Java devs. This doesn't usually work - good mobile devs are also at least partially UX people - we spend a lot of time knee-deep in UI, and consumer expectations for the fit and finish of apps are high. Someone who has completed the "Hello World" equivalent of Android learning has done exactly that - finished "Hello World". It in no way implies the ability to build apps that aren't an embarrassment to the Play Store. There is a vast amount of domain knowledge here, and the gap between an app built by someone who merely knows the API vs. someone who knows mobile apps is pretty darned wide.

Why not hire and expect that people need to be trained and train them? There's a catch 22 situation here. Do most tasks really require amazing android specialized developers? Cant some decent developers get by with some guidance?

Do you have any advice for someone thinking about going from a fulltime SDE role to freelance iOS/Android development? I'm thinking of making the leap soon.

Regarding UI: didn't material design simplified good UI for android in such a way , that it is much more learnable(with time) for boot camp graduates ?

What resources do you recommend for a Java dev if courses and building sample apps aren't enough?

Is there an Effective Android or Android the Good Parts type of book?

There is definitely a shortage of Android devs, especially domestic in the U.S. Haven't even been able to get a resume come in that isn't from overseas.

In my opinion, there is. Android is more difficult to program for. The programming environment itself can present itself as a challenge, and working with all the different Android versions can be a pain compared to iOS.

It's a weird catch-22 as folks just end up going iOS only first as a result.

This is great. There are several such bootcamps around, some of which have had great success with getting people set up in Jr. Positions. With a big Corp like Google behind the idea, it certainly sets a precedence -- and in a way, some leverage for people interested in the idea.

Personally I'm currently 20 years old, and I'm studying and working at the moment. I intend to self-learn, to enable to to get a Jr dev position as well. Even with a 20% chance of success, the risk is worth it considering the off-trade of debt and 3 years for a bachelor.

Does anyone have any input on whether it's viable or not? What would you require from someone self taught, to hire them?

But will they learn how to invert a tree on the whiteboard?

I'm missing something here. What is tying Karma and Vice Media to General Assembly to Google?

Here's my logic: Too few developers are developing on Android as there are few profits to be had. As a result, the Android eco-system is not sufficiently valuable to customers willing to pay for apps. To break this cycle, Android wishes to attack the supply issue and raise the value of the platform via working with groups to train more Android developers. Google is partnering with General Assembly on this initiative because of their experience running bootcamps. Karma and Vice are willing to hire every programmer because they're short on developers?

This is where I'm tripped up. Can Karma and Vice not find a sufficient number of Android developers? Or are they unwilling to pay enough to compete for talent? Are developers lured into GA's pipeline to find higher paying jobs? Is the $13.5k tuition not subsidized by Google or Karma and Vice to filter for 'serious' developers?

I am skeptical too of their claim that graduates will be valuable and employment ready as soon as they finish this program.

Maybe this is true for the best of class but for the rest, I don't think so.

The best that they could achieve is that a company would present those exceptional graduates with an apprenticeship offer under a probationary period, roughly 6 months or longer, but with a fast-track path to full employment based on on-the-job performance, but to promise someone that, to the effect, that once you immerse yourself for 12 weeks in our boot camp and then make it and graduate successfully, your productivity will match that of other professional developers who are more experienced or knowledgeable in the field is overly unrealistic and misleading.

Isn't it more important to focus on the concepts like discrete math, data structures/algorithm, OS, etc? Is it really beneficial for there to be a surplus of programmers who only learned how to use libraries?

There are engineers that work on the highest level of machinery - NASA, F1, robotics, etc - and there are mechanics who maintain and service the vast fleet of personal automobiles in the world. The Jiffy Lube mechanics may not be able to map out the physics of combustion and motion, but they can fix your broken suspension arm. An advanced degree is not necessary for all forms of trade.

A lot of F1 guys will have BSc's - there is even a University in the UK that runs Degree programs for the f1 market

> Is it really beneficial for there to be a surplus of programmers who only learned how to use libraries?

Of course, then you can pay them less.

I feel like a better title for this article on HN would be "General Assembly partners with Google to create bootcamp for Android Developers"

The current title implies two things: 1) That Google is creating this bootcamp on it's own 2) Google is hiring the developers

As written it's pretty linkbaity.

I am not even sure if they are promising jobs in any literal sense "General Assembly has said in a statement that it will connect developers who finish the course with jobs in its hiring network".

To be clear I am a big fan of GA and bootcamps in general, I just feel that the title of this article is misleading.

I've been looking at different boot camps and it's a bit interesting to me that even though afaik bootcamps are unregulated, they all seem to cost ~15k with 12-week courses. Do anyone know it's that the case? I'd expect more diversity in a nascent sector.

Btw, I'm an electrical engineer and I want to move to web development, do you guys have any tips on what would be the best bootcamp?

I am self taught but I've interviewed a few bootcampers from SF bootcamps that knew nothing aside from boilerplate Ruby code.

If I were you I'd save the 5 figure fees and go through the python (learnpythonthehardway.org) and Django (learnpythonthehardway.org/book/next.html) tutorials.

Every time I see a new Hacker School or something, I make a note of the technology they are teaching (Rails / Android) and slowly walk the other way, technologically speaking. I get the impression that companies are really tired of paying solid 6 figure salaries to devs. For now I'll just keep on focusing on newer, harder more niche things to stay in high demand.

FYI, there is a 12-month engagement with Google similar to the idea of boot camp, in which you will work for Google and get paid, and possibly getting a full time offer afterward.

So Google gets diversity points for helping non-traditional students access the technology (thought they still pay 13k for it themselves) but will hold no liability if they don't succeed? Cheaper PR than an actual training program, I suppose.

So the amount of the existing developers are not enough!!

No, the existing set of developers, with a specific set of skills, that are willing to work for junior level pay, is not enough for Google.

Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | Legal | Apply to YC | Contact