Coding Academies?

I know we have a lot of developer types here. Anyone have any opinions worth sharing on the viability/desirability of “bootcamp” style 18-22 week coding programs that seem to (in my hood anyway) cost in the neighborhood of $10k in tuition?

My only experience with them is that we have one in the city where my company is located (East Coast) and we’ve hired at least one person that came out of it. I know he really thought it was great but he was basically a math nerd who already had a BA and hadn’t found work in math.

My gut feeling however is that if you’re considering one then I’d suggest starting with a few books and an hour a night for a while in some language that has good online resources (tutorials and videos etc). You can’t really go wrong with Java or C# but there’s also an argument to be made for Javascript and several other languages.

I think the important thing to get out of that preliminary experience is whether you feel really engaged to learn the principles of programming. If an experience like that leaves you bored then I don’t know that a boot camp is really going to change anything. I guess what I’m trying to say is that I think it’s worthwhile to do some solo learning on your own before plunking down 10k. :)

Thanks, appreciate the post/advice.

Personally way past that, though ;) I’ve done way more legwork than that before getting to the point of seriously considering such a thing. Which probably means it’s good advice in my book anyway, heh.

Excellent advice, seconded. Lots of good online interactive tutorials to start with as well. I’d learn JavaScript to start, absolutely.

I’ve been with companies that have interviewed and hired people out of coding bootcamps. Like most fields, good programmers have a lot of experience and show passion for what they do. Bootcamps are fine, but there’s only so much experience that you can get under your belt in 3 months. Bootcamp graduates learn some best practices and have a sense of “proper” structure, but they lack in the problem-solving-through-code department. The advice to initiate some personal projects is strong because you’ll have to work through the problems you are trying to solve with code. After all, programming is just a tool for solving a problem.

The single biggest mistake I see people make when they want to learn to program is to focus on which language is best and take a “learning JavaScript” or “learning C#” or whatever approach instead of taking a problem/project based approach. For the most part, once you know the fundamentals of programming, you can learn the syntax and APIs of a new language in a day of use.

What I recommend is first to isolate something that you’re passionate about or a problem that you want to solve, and to orient your learning process around that project rather than around the language you’re using to solve it. Want to make a game? Then come up with your game concept, write a short design brief, and then tackle it with the language you choose. JavaScript is fine, but so are many other languages. Once you implement it in language #1, then turn around and implement the exact same project in language #2 and then language #3. Develop flexibility with languages early during the process because it will help sculpt the way you approach problem solving.

Personally, I tend to recommend to people that they learn a typed language before something dynamic. If you are a visual thinker, consider starting out with Processing for a typed language (it is a superset of Java) or p5.js for a JavaScript variant. You’ll get immediate visual feedback on the code you’re writing, which can really help you understand what you’re doing. The Nature of Code is a great resource for either one, as are Shiffman’s other books and his YouTube series.

Is this the part where I say that Elm is awesome and that anyone with even a passing interest in client-side web programming should give it a chance?

To answer the OP… I’m mostly a self-taught programmer in many aspects, and I’m usually better studying something by myself than taking courses (programming or otherwise), so I’m afraid I’m not exactly the right person to answer about the validity of a coding camp or the like. But what Clay said is extremely important - find a project/problem that interests you, and then try to implement/solve it through programming, with the help of coding academies or not (depending on which sounds better/easier for you). That’s the really important part.

Ok, I’ll go back to my games now. I’ll be back later. ;)

I’ll pile onto what Clay is saying - learn around a project. If you don’t have any ideas, volunteer! Your church, or your boys and girls club, or your local school would love to have some free web programming help. Not only do you get to feel great, but you’ll learn so much more than in a programming academy.

For learning, I can’t recommend Pluralsight enough. It’s amazing. A basic fee and you can take as many classes as you want. It’s a great resource. Do it for 30 days or do it for a year, it’s a lot less than $10K and you can learn anything.

I’ll second this, not just for programming. I’m IT infrastructure for 25 years and I still use Pluralsight for getting a good understanding of new topics.

I’d also add, use free stuff as much as possible:
Kahn academy for programming topics
Reddit’s awesome /r/learnprogramming community and resources

Update (yes discourse omg stfu):

I can now confirm that it is totally possible to get a job as a developer out of a coding bootcamp.


Yeah, that was an experience. I can see a bajillion pitfalls that would be reasons to not hire bootcamp-trained junior devs, for sure, but the program I attended does a good job of mitigating those as best they can:

  1. Huge focus on teamwork and soft skills (presentation, communication, speaking, etc).
  2. Focus on actual projects, from requirements-gathering to client handoff. On-rails project work is a pale shadow.
  3. Deep ties to the local tech community.
  4. Focus on teaching how to develop a professional network and leverage that into job offers.

The one thing I think this program lets slide, as it were, is the actual tech skills. I personally did just fine, because I am crazy motivated and have an aptitude for this stuff - to the tune of burning hard about 70-80 hours a week on my education for the last 20 weeks. But the people in my class without something approaching that level of focus, work, self-directed learning, and at least some natural ability…well, I wouldn’t hire them.

Out of a class of 23 (24? I don’t remember) I’d say 6-8 came out as people that absolutely should land proper developer jobs within a month or three. About half the rest can probably fake it till they make it. The remainder…yeah. I hear project management and BA roles are lovely this time of year. Only two of us had offers in hand by graduation.

But you know what? I have a job, damnit! And I love the tech work so very, very much more than the marketing/comms stuff I have done until now, with the exception of probably the first super-fun three years or so at the magazine. That was fun too. It’s just that I have an actual career path now, so that’s exciting.

If anyone’s curious about the whole bootcamp thing, I’m happy to chat about it. I’m rather excited at the moment.

Goddamn man I love to read this. Congrats and great job on all the hard work and dedication. I know the last few months haven’t been the most fun thing ever, but it’s great to see you bouncing back :)

Which bootcamp did you use?

I’m looking for a decent-self guided iOS one. Which is different than what you did, but i don’t have the green to drop on a week-long course.

I went to Prime Digital Academy, which is a local Twin Cities joint. And yeah, it was expensive. But worth it I think, because man did I need a career switch. And I love the work.

Earlier in the year, you said this as a response to the initial suggestions to do some self-guided stuff before starting the program:

I’m curious what your level of experience and knowledge was before you started the course. What was the legwork you had done? Books? Free online stuff? Had you created anything on your own?

I’ve been considering something similar.

Also, congratulations!

Thanks!

I did two years of a CS undergrad back when dinosaurs roamed the earth, so I knew I could “do” the code and had reasonable familiarity with things like loops, conditionals, variables, functions, and such. I’d also been building scenarios for Ashes for a year and a half using tricksy logic chains and got some experience back under my belt with VBA (I scripted the bejeezus out of some Excel sheets to get gameplay-useful metrics out of the often-messy data files in which things like armor and damage were stored) and C++ / VS (figuring out what was going on in the XML parser I was working in, as well as extending and debugging some functionality there).

The following concepts and technologies were 100% new to me when I started up my bootcamp:

  1. JavaScript (my god it’s ezmode compared to c++)
  2. Angular
  3. jQuery
  4. Databases of any kind
  5. Asynchronous functionality
  6. node.js and its ecosystem (npm et al)
  7. HTML
  8. CSS (aka where hope goes to die)
  9. Taskrunners (Grunt, Gulp, etc)
  10. freaking bash, which is the best thing ever
  11. git
  12. GitHub
  13. TDD (test-driven development) and associated frameworks (mocha/chai for node/JS)

And probably a handful of other things I’m not thinking of off the top of my head.

Congrats on the job! I took a similar game-industry-writing-to-software-engineering path, and things are definitely much better over on this side of things.

This came up in the “serious biznass of making games” thread so I’m resurfacing the thread with the big post I wrote there responding to @BloodyBattleBrain :


I have a very successful third career as a full-stack developer after going through a local bootcamp in my city. So it can absolutely be a great move. I am so much happier, more fulfilled, and more successful than I ever have been and the bootcamp absolutely gave me the springboard I needed. Some things to look for:

  1. Having completed projects you can talk about and use as portfolio pieces in interviews. They call this out on their site, so you’re probably good here.
  2. Group work. I can’t stress enough how important collaboration and communication – the “soft skills” – are. I really liked how one of our faculty put it: “Being able to write the code is the table stakes. Everyone who makes it to an interview can do that. You get the job by being someone the other people want to come in and be around every day.” Plus software development is a highly collaborative endeavor. Being able to speak to your challenges and triumphs in a group setting is a must for anyone I would consider hiring.
  3. Professional development methodology. You don’t have to become a scrum master to be a developer, but some training in the forms of team development is essential. How to scope work appropriately, iterative implementation, design-first structure, working with version control – it’s important to be at least introduced to that side of the profession.
  4. Contacts with the business community. I would have been lost trying to find my first job in the biz without the contacts and networking available to me as an alum. My bootcamp had been around my city for years and placed hundreds of junior developers by the time I graduated, and their reputation for graduating quality candidates was huge to help get my foot in the door. The last place you want to be is feeding your resume into Indeed or whatever and hoping the algorithm spits a job out. Find out what post-grad placement help looks like before committing.
  5. Finally, this is true of any education, but you get out what you put in. I basically put my life on hold for six months to do mine – I didn’t really game, my wife took on the vast bulk of childcare duties, I barely saw friends and family – I busted my ass to graduate in the best possible position I could and it paid off. The people in my cohort who didn’t put in the work, well, they went back to bartending or smoking weed or whatever.

This career isn’t one where you can expect to warm a seat and be successful – at least not until you’re a couple years in. At that point you can punch a clock and be a “career mid-level” and remain gainfully employed until the heat death of the universe as long as you’re anywhere near competent – the labor shortage is that real. But not as a junior, not coming from a bootcamp.

Hope that helps!

Indeed, so conversation is here then :).

I had a go at their first, sample lesson, and it was some basic stuff, basically the use of

to start a paragraph and end it with < / p > and also the code for italics and bold.

and it works even here…

It seems very simple, intuitive, basically think of it is as a paragraph, in a newspaper article, and titles, headers, dividers etc, is what the trainer said.

Very small sample size obviously, but the UI for the lesson platform, and the layout (they dissected a webpage to explain what < / p > does, where it is located etc) and the videos are high quality.

I talked it over with my partner and her main, indeed only, concern was whether I would be up to problem solving/breaking down a task into its constituent parts. She reckons the price is actually low for what they are offering :O.

This seems like great advice. My path to this started with my english teaching, as I kept finding certain mistakes being repeated, to the extent I could peg the nationailty of a learner by those mistakes. Chief among these was pronunciation*, which led me to creating flashcards for the IPA (international phonetic alphabet) for english, then Anki, then made me start looing into making my own, basic app, which led to me doing an Udemy course, whihc was entertainingly difficult at the start but I am about half way through and really enjoying it.

*mistakes is a bit judgemental perhaps, perhaps better to think of them as certain pornunciation characteristics, which sometimes don;t aid understanding, which is the goal. I’m wary of saying “this” is the correct pronunciation, except ofcourse when there is divegence between the UK and USA, in which case we’re always right. ;)

A little perspective from the other side of the table; 18 years experience as team lead/developer; I’m currently leader of my company’s development department of ~27 devs, so I’ve sat - and am sitting - through a lot of interviews (we’ve been in near-constant hiring mode for getting on 2 years now).

Note: The below entirely reflect my biases. Whoever your CV might end up in front may have entirely different biases, and they have a huge effect. A typical round of applicants for us includes 80+ CVs; by the time we’ve sorted out the obviously unqualified and people from irrelevant countries (always a bunch from China, India, etc) we’re typically down to 30 or so - still too many to interview everyone. A former colleague of mine used to joke that he’d drop every pile of CV’s over a wastepaper basket and then interview the ones who didn’t fall in (“I want the lucky ones”) - it’s not that random, but it is often small subliminal things that make the difference between being called in to an interview and receiving a rejection when you have to pick one CV from a dozen broadly identical profiles.

This is one of the big ones, IMO. If you don’t have a lot of years experience to show to, having some projects to show what you’ve worked on is critical IMO. Even better if you have private or open source projects you’ve worked on that you can show. Given a choice between two graduates from anywhere, I’d pick the one who has a portfolio for an interview every single time.

I agree with this. Some organizations rely on the skills of brilliant jerks, but in my experience, these kind of people are never worth the cost they bring to an organization, so we screen hard to avoid these types.

That being said, I’m always surprised by how many people I’ve interviewed who really did not have the skills I’d expect of a developer. It’s why we always have an in-depth technical discussion (not a programming test - I hate those) as part of our interviews. Though I guess in reality we’re only partly interested in programming skills - it’s just as much a test of your ability to communicate about programming. If you can’t explain to me the technical aspects of a solution you’ve worked on in an understandable manner, how will you be able to explain your brilliant solutions to your co-workers on the job?

Very much so. Though personally I do not put much stock in people saying they’ve “worked agile” or “scrum” or other buzzwords (too many businesses that claim to be agile but are not), it’s good to have candidates that at least what the words mean. Definitely learn git. The one thing I’d put above all others, though: learn the value of testing and test-driven development. I’d seriously consider employing any developer who could show me strong dedication to those principles, solely for that reason alone.

Negatives: Personally, I’d probably look a little bit askance at any bootcamp-based CVs. That is probably a personal bias (I have a lengthy university background), but given the choice between broadly equivalent CVs for someone with a longer education in Computer Science vs someone with a bootcamp CV, I would probably go for the former. Though, again - the points @Adam_B mentions are super-relevant: a good portfolio, if possible on Github, demonstrating some actual “industrial” programming skills (e.g., for test-driven development), would definitely push me more toward the interview pile. And it’s one very efficient way to rise above the pack of graduates, because many of them really don’t understand the important of this - if I were ever to return to teaching Computer Sc., one of the things I’d shout at the students every day is: you have 3-5 years of studying with ample free time - use some of that damn time to work on some open source projects. Showing your skill is a 1000x more effective than telling me about your skills, simply because you can’t fake the former.

On the gripping hand: if you’re competent and put in the (hard) work required to learn how to program, I really, really can’t imagine it being all that hard to find a job, regardless of where you’re coming from. The first job may not be the dream job, but you’ll get a job. And once you’ve gotten 3-4 years of experience - at least if you are smart and keep building on your tech skills - the world is basically your oyster. The shortage of good developers with 4+ years of experience is never-ending.

@strategy, thanks for that.