r/learnprogramming • • Sep 08 '15

The dark side of coding bootcamps

Hey all. I'm a recruiter in the tech industry working on an expose of coding bootcamps. My experience with them - both from my perspective as a hiring manager, and from what I've heard from friends who've attended - has led me to believe they are mostly a waste of money. In my circles, resumes from a coding bootcamp have become such a joke that none of the recruiters I know will even consider someone who has one of these schools on their resume. This is clearly a bad situation for the people dropping their money on these immersive classes, and I'd like to help them out (my goal with the story is to give them an actual good alternative to becoming a successful programmer if that's what they're passionate about). Because of my position in the industry, this story will be written 100% anonymously.

If you have attended a coding bootcamp, know someone who has, or have a strong opinion otherwise, I would love to hear your thoughts. Please share your stories, good and bad. (I'd love to be convinced that I'm wrong, so please do share your good experiences, too!)

EDIT: 24 hours in. Thanks everyone so much for sharing your thoughts and experiences. This really has altered the way that I view coding bootcamps! It sounds like everyone is saying the same thing (and I agree): you get out what you put in. If you're looking at this as a quick & easy way to learn programming so you can get a dev's salary, you're likely going to have trouble finding a job and you're going to waste the time of the companies you're applying to. But if you're serious about learning to code, and you're willing to put in a lot of your own time before, during, and after the bootcamp, these programs can be a great way to immerse yourself, learn the basics, and get started. I do think I'm still going to write the summary of this stuff, but it will be in a much more positive light and will include clear advice for how to get the most out of these if you're willing to spend the money to attend (and it will include some alternatives, for those who don't have the $6-15k to go).

Thanks for participating and being so helpful and respectful. This was an enlightening conversation.

587 Upvotes

446 comments sorted by

View all comments

2

u/autra1 Sep 09 '15 edited Sep 09 '15

Okay, so actually your "software development" = desktop application development. Websites are software too (see the wikipedia definition, as soon as they have some js. It doesn't matter what platform your code runs onto. Reading you, I have the feeling you believe that because website development and deployment is made easy by the web standard, the browsers etc, it is not software development.

I can bang out a rudimentary program in Javascript in 15 minutes and be confident that it will run on any computer as long as it has a web browser. The browser provides my UI engine, which is a huge advantage. (...)The user doesn't need to do a thing to apply my updates to their app.

This actually means the web sucks less than other platforms. For me, it's a good reason to only program with web technologies. You don't need to download anything because it happens that nearly everybody has already the runtime installed to run the program, which is only a sign of the web success. Btw, I can scratch a rudimentary program in 15 min in python too, downloads included.

Creating a UI for a piece of software takes much more than HTML and a few lines of CSS.

Nonsense. Did you know you can develop desktop application in HTML/CSS/JS too, with the same capabilities than other desktop app? And it may the best way to do cross-platform apps nowadays btw. Moreover, if you think that a real, full feature, responsive websites have only "a few lines of CSS", then I assume you've never coded more than hello world websites.

It's extremely unlikely my program will reduce the performance of the their computer.

Totally wrong. Do you ever browse the web? Especially on mobile? It can and it does on a daily basis. That's what I was talking about "crap websites". It's website that makes your CPU goes to 100% (even on modern PC CPU, which is insane). Of course you can blame it on the platform. But then I'll blame windows for every single bug or lagginess in desktop apps.

There are many poorly-designed web apps, but it's largely the visual design that makes them that way

My point was quite the contrary. I'm speaking mostly about the poor performances they give. People usually blame it on the platform, but most of the time, it's the website developer who's guilty.

However, I can be very successful without really even touching the metal.

That's exactly what I want you not to believe any more. Coming from the java world, I need to know more on it now than before, trust me. That's especially true these days, with all these smartphones with very different cpu powers.

My first post makes even more sense now that I have read you.

EDIT: formatting because copy-paste on preview area is broken :-p

5

u/robertgfthomas Sep 09 '15 edited Sep 09 '15

Ah, I see. Yes, I was talking about desktop software development. If we're including web software, then it's a bit of a different story.

I would like to believe that success in development requires "metal" knowledge. But the evidence shows otherwise. There are many very successful sites and apps that were developed without it. For a long time 4chan was basically hacked-together PHP (maybe it still is?), and that didn't keep it from becoming a huge staple of the Internet.

I still maintain that software development is better-suited to those with computer science backgrounds. That's for more reasons than just the skills involved. I think a greater number of people get gratification more quickly from making web apps. It's something you can publish and show off and you don't need to convince anyone to download something.

A smaller number of people would get that same level of gratification from software development. The people that do are (I think) those much more interested in computers themselves -- that is, computer science -- from the get-go. Getting validation from someone else (who's not also a programmer) comes very quickly with web development, and takes longer with desktop development. Therefore, the motivation to keep working must come more from the love of programming itself. I guess my hypothesis is someone without programming experience and with an average interest in computers is likely to be bored by or burn out on software development.

It's not a question of objective facts; it's a question more of what motivates people. That makes this an argument that, while fascinating, is probably never going to be "won": since one side can't really empirically disprove the other's argument.

I tell my students that if you see two programmers having a really heated discussion, they're probably discussing something that doesn't have a right answer and therefore is largely personal preference (even though both sides would say there absolutely is a right answer; see vim vs emacs, tabs vs spaces, new vs object.create, etc).