Hacker News new | ask | show | jobs
Ask HN: As an Experienced Developer, What Do You Think about Bootcamps?
9 points by alshtico 2676 days ago
6 comments

They cover gaps that most universities overlook (web development), but conversely, skip a lot of CS theory that would otherwise make a more "well-rounded" engineer.

As someone who interviews a lot of candidates, I tend to find that fresh-out-of-bootcamp alumni tend to suffer from tunnel vision (i.e. they may be well-versed enough in one library or framework, but completely fall apart outside of that narrow comfort zone, e.g one abstraction level below or a different framework, never mind a different stack or language)

From conversations with people that have done bootcamps, I heard these courses are also quite expensive (some to the tune of tens of thousands of dollars for 6 months), especially considering that any piece of paper you might earn out of an accelerated course is completely useless and that the web is flooded with similar resources online for autodidacts that are far more affordable and that don't necessarily require strict time commitments (e.g. you could study early in the morning or after work)

Something that I think both universities and bootcamps fail at is that neither really teaches you how to go about implementing architectures on top of building blocks in a meaningful way. Neither goes one level below the abstraction level that the industry uses, nor they explore what different approaches to framework design exist and their trade-offs. As a result, I sometimes see people ardently defending something like redux without having a clue about any of the alternatives, or a "well it works well enough for me so whatevs" attitude. This tends to be dangerous to a beginner's career because a combination of wanting results fast and lack of proper foundations can lead to becoming comfortable with the status quo, and that's the antithesis of software engineering.

I don't think this is something needed here in Germany.

We have universities that cover researcher education, with many CS and CS-related degrees.

Then we have universities of applied science with cover engineer education, with many CS and CS-related degrees, many of them having mandatory (and often paid) practical semesters at companies.

And finally, we have paid apprenticeships. They take about 3 years, where people work at companies 3 days a week and go to a technical school 2 times a week.

So every level of education is covered rather good, from practical to academical.

I would agree with others who say it depends on the school and the student. The most important thing to note about bootcamps is that their "Learn to code in N weeks" is an exaggerated sales pitch. No bootcamp alone can get you job ready in that time, in sort of the same way that doing a CS degree but doing basically no coding modules will not make you very hireable (as an engineer). The bootcamp students who do well are those who understand that the course simply fast-tracks you through the first stages of learning, and gives you strong and useful tools to learn further. These are only strong and useful if you acknowledge this and decide to use them and keep improving (maybe by filling in the CS theory which as another poster noted, is missing from bootcamp curriculum).
There are many ways one can learn something or get specific skills, and each of them has its own distribution of parameters like affordability, autodidact vs mentored, on-demand vs on schedule, short-term gains, long-term gains, one on one vs classroom, general theoretical vs hands-on practical, etc. There is no single best way to learn things — it depends on circumstances and a goal, and bootcamps may serve better under one set of circumstances for a specific goal, than other ways to learn.

To be successful in the industry you have to have theoretical knowledge, all these generally dreaded algorithms, big O notation, Boolean algebra, graphs theory and so on — you may not use it on a daily basis but it shapes your mindset, gives you thinking models and makes a better engineer. The timeless stuff. Universities are pretty good at this.

However, you also need practical skills. Most of us learned the necessary amount by ourselves, reading docs, doing and extending hello-worlds, reading open source code, etc. I believe it's the best way to get practical knowledge but it's very time consuming because it rarely has a "learning program" and is mostly an improvisation what you want to learn and how.

Also, the industry is very fast changing, so to keep up with the technology you gotta follow it and try yourself.

Bootcamps can teach you a slice of the current state of the industry mainstream, so you can code a simple full-stack something without going much into details but in a very short time. And it is expensive. It's like following an expensive recipe book.

To me, the best use case for bootcamps is when you are a seasoned industry veteran with a good theoretical background, who got stuck in an enterprise environment with old tech for too long, working long hours and weekends, exhausted and burnt out and looking for an escape plan. This person most probably can afford a bootcamp, takes a vacation, quickly catches up with the current tech, and suddenly becomes a great experienced candidate, who can take an initial salary cut and negotiate a raise in six months.

To summarize, there are scenarios when a bootcamp is the best tool but way too often it is not, really depends on a situation. When I interview candidates I mostly try to understand the reason for taking a bootcamp to exclude people who can't learn anything on their own and always require a mentor.

For $10k usd, you are better off just buying a textbook from amazon. You will learn the same amount.

Self taught senior programmer

$10,000 will buy you many CS textbooks
Not a big fan, I get a lot of applications from bootcamp graduates and some of them make it to the interview and none of them have passed the interview, so far. But I'm still open-minded about it. I think (and hope) the model will improve over time.
How come none have passed the interview phase? Lack of experience? Lack of knowledge?

Trying to understand from a hiring perspective, as Im debating a bootcamp route.

It may also be that many boot camp students are from non analytical backgrounds, and thus lack some skills that are hard to teach. We've hired a boot camper who outperformed all the CS grads in contribution and continued learning. Most applicants struggle with things they weren't taught, we try to work through tech they haven't used before (during the interview) to gauge how well they learn / explore.

In short, it really, really depends on the school and more so the student.

I work for a fortune 500 company. They are open to the idea of recruiting bootcamp graduates, however the interview process is still very CS oriented which BC graduates lack experience in. I'd say that's pretty much the only reason they don't make it through. Hopefully it changes :)