Engineering organizations either a) understand this fact and build teams around it, b) accept that their salary floor is now +/- $140k or so (in Silicon Valley), or c) whine incessantly about the engineering shortage.
I'm sure many of you think I'm coming across as harsh, but actually my first company took on three apprentices with similar backgrounds and we paid the cost. Never again is all I can say. Let other start ups and businesses throw the dice, but I'll take a foreign (cheap) freelancer in the interim of looking for a real onsite dev. There's a very good chance the foreign coder is more skilled than any of these boot campers.
To be honest, I find it presumptuous that I should be giving them a chance. I went to school to get to where I needed to be. I had to pay off student loans. I had to learn data structures, compilers, and all sorts of advanced things that I don't use on an everyday basis (but no doubt help me). Who are you to say I'm being harsh in denying the get-rich-schemers of the bootcamping world for the diligent one-step-at-a-time college folk? And of course that's a generalization.. so please, let's not say "but there's always exceptions."
"I had to go through a longer, more expensive program, and learned harder things, therefore, why do they deserve to be given the chances I was?"
It doesn't matter what you had to go through - what matters is whether you are capable to do the job.
I went through a 4-year program. I'm a programmer at a startup. I use very little of any knowledge I acquired at school on a daily basis. Graphics? Compilers? Advanced algorithms? Nope. I just need to solve relatively simple problems and write code that's maintainable. The second part you don't learn in school - in fact, you probably learn the opposite. The first part requires a bit of a shift in thinking if you've never programmed before.. Hence bootcamps. I'm not deluded into thinking I'm really that much more capable at doing my job than someone who spent less time learning not-so-practical things. Obviously this depends on what you're doing - bootcampers can't just go be machine learning experts. But web devs? Of course.
I've interviewed people from 4 year programs, and I've interviewed bootcampers. My guesses on their respective resumes pretty much matched up with how I graded them on their interviews. In both groups, you have the people who get it, and the people who don't. Obviously, the percentage was higher in the CS education group than the bootcamp group. But there are some really good bootcampers. There's also lazy fucks (get-rich-schemers) in both crowds. And I can tell the difference pretty easily in resumes.
It's fine that you have that heuristic - if you're running a tight ship and can't afford the time, then that makes sense. But to justify it like that is a bit silly.
I do not think I got scammed by university (as the guy below me said), but rather was gifted by it. Nor do I think that everyone has to go through the same path as me. Did I ever say I would deny a programmer who has been working in the industry for a few years with noticeable results despite a college education? I'm pretty sure my top foreign dev right now has no college education, but is self-taught.
I read my sentence again and you know I'm just being honest with you guys. It's not about a "me vs them", it's about an overall character evaluation. I look at myself as someone who I think generally went about things in the right way. I'm sorry if this offends you, but it's how I make up my judgment calls for who's worth looking into and who's not. What works for me might not work for others. I think college did a lot for me. I like talking with people who did go to college because I can typically talk at a lower level. I don't like having to constantly mentor or teach topics I am skilled in, which is what I would have to do with the guys who learned to code, but don't know much else. Is it important? That's up to the person doing the hiring who is going to have to deal with them on a day-to-day basis.
So, I need to worry a lot more about culture and productivity than I do some perfect ideal of hiring. In fact, I think by placing culture first and hiring who I think I would like the most, I do a big win for the company. In the future, when we're huge, maybe not so. Then it will be up to the hiring managers who actually have to work with them who they like.
There are MIS guys (IT degree pretending to be CS-lite) that put out great programmers, too. And of course, there are those that are self-taught or only need a best practices guide (bootcamps) to get them engaged.
I, on the other hand, wish I had done full CS because I'm interested in systems programming, which does require some groking of the OS and memory management. But webdev and front-end work doesn't.
Your last sentence truly unwinds your argument. If half the programmers out there are different than your premise, it's not an exception. It's part of the rule.
I've seen guys with good fundamentals grab onto new languages and theories very, very quickly because they had a solid foundation. I'm not completely against giving bootcampers an opportunity, but I do have my reservations regarding what I mentioned above and a few others.
Not like you, right? You're not in it for the money; heck, you'd keep working at your company even if they cut your salary in half tomorrow.
ETA: Also, they're all incompetent! And not one of these people hiring them has noticed. Helluva con job.
So yeah, some of us do think it's great, actually.
Okay, and? There's already a lot of competition out there for jobs. A little more won't hurt. Being a programmer is not like being part of a religious order. We don't need to weed out those who speak orthodoxy to the preisthood.
>probably also lower quality software (due to bootcamp grads being incompetent and only in it for the money)
Do plumbers that go into it for the money necessarily produce inferior work product? Do mechanics? There are a whole set of professions that have to deal with this already, and there's no evidence that it produces inferior product.
>And you think this is great?
I think anybody doing what they want to, so long as it does not harm themselves or anybody else, is great.
Who is the lifelong programmer that dislikes showing others what they know about their favorite thing? Not me.
I used to hide tricks I'd do to extract more performance. Not any more. I tell people till I'm blue in the face how to do it, and they never figure it out :-)
I don't dislike or like them: I know that they are incredibly junior. I would prefer to work with people more experienced, given the option. If the project allows for inexperience and has the ramp-up time needed, they can do it. The management must understand that the bootcamp graduates are going to take significant time and cost to come up to speed. The bootcamp grad must be willing to drink from a firehose, though... If all of that is satisfied, then sure, I'll work with them.
As part of the mentoring process, I will pass them CS books: algorithms, data structures, and other key fundamentals of the field, and expect them to come up to speed on the fundamentals. They need to know this stuff to do the job well; I will explicitly refer to their willingness to learn the fundamentals in my peer evaluations with our manager.
It's the classic salary vs. experience tradeoff: you pay less in salary and pay more in training and oversight until they become seasoned programmers.
But if you choose to ignore the part where they've been coding for maybe 12 weeks, you're in for a world of hurt.
People who have been coding for years make well more than $64k, even in entry-level positions.
Coding bootcamps are essentially the nursing equivalent to doctors. They graduate people who can do an adequate job of their specific role and certainly can be helpful on a team, but you don't put them in charge of the project.
Somebody oughta build a system like that. It'd be neat.
I understand for webapps companies. (although the bubble has or will burst soonerish)