As someone who interviewed dozens of bootcampers I can give some insight.
1) Most of the bootcamps teach the basic of front-end, and a lot of them, teach by doing without explaining a lot of basic concepts. They are basically money grabbers and throw these people out of the door as fast as possible to get their money back.
2) A lot of the students are in for the money, not for the love of the job. Sorry, but it's true. I don't mean to include everyone, but out of 30 students, only 2 kept working in my previous company, they weren't good developers, but they loved the job and kept learning and improving themselves. Nothing wrong with pursuing a good paycheck, but in developers world in order to keep being relevant in the next 2/3 years you need to keep sharping your skills.
3) The best developers I worked with are the self-taught guys/girls who learn on their own before they even hit the college.
The most boring developers I work with, the the ones who only learn to code while in college and never developed any interested to learn before that.
But the most horrible devs I work with came from boot camps. Not their fault, it's just how bad these bootcamps are.
I went to a smallish private university and in the first year, there were about 50 people who intended to go for a CS degree. By year 2, there were about a dozen left. Every single one that said 'I heard there were good jobs in it' was gone. CS and writing code is not like many different arenas in that if the homework takes you 8 hours to understand, then it takes you 8 hours to understand. If you don't understand it, it is an order of magnitude more difficult to 'wing it' or get 'partial credit' when there is absolute proof of your lack of understanding with non-compiling or non-functional code.
I studied CS and Philosophy. I could phone in a philosophy paper if I wanted. I could not phone in a linked list implementation. I know companies loathe the idea like no other, but software engineering is a skill that is difficult for most people to acquire and is likely to remain that way. Mostly it boils down to peoples understanding and value they place on logic. Anyone with a good grasp on, or even just a high value for logic, can learn to code. No one who sees logic as 'nitpicking' can learn to build systems that function predictably, reliably, and accomplish a defined goal.
Math has the concept of non-compiling code: a proof that is wrong. You get partial credit if you get early steps right, and more if latter steps are right.
The idea that code that doesn't compile is not worth partial credit is wrong in academics. In the real world the code needs to compile first, of course, then run. However if your professors cannot look at your code that doesn't compiler and decide how much partial it is worth there is a problem.
That said, getting code to compile is a trivial part of the problem.
> In the real world the code needs to compile first, of course, then run
This is not true in my experience as a professional. I write pseudocode all the time. Often the fastest way to evaluate architecture choices is to sketch out your architecture, sketch the consumers of your proposed API, and see what issues come up.
Making this kind of code compile is a waste of time. Reading code without the computer is a crucial skill.
Graders require compiling code because it's easier to grade.
The same way as you would in every other type of education. If you know what you are doing, it is easy to see how close the student came to getting it right or if they were completely on the wrong track.
I passed a lot of my math and physics courses even though the majority of my proofs were incorrect in some way. I didn't get full credit, but I got enough to get some.
I think it's also why I have friends that did Philosophy before going to Law School. Despite what was said above, good philosophy papers do take some rigor of thought.
Same here. Philosophy and coding much later.
All through my twenties Aristotle to Sartre, read
every page twice and reduce to comprehensibility in
context.
I think it depends on the individual and the class. With several philosophy classes I saw scores on weekly papers go from around 9/10 to around 5/10 if I tried to wing it and do it at the last minute.
similar story here. small private college, there were maybe 25 people tops in intro to Java (2nd class you would take) I TA'd a few times; and that's mainly because it fulfilled a lab science credit somehow. I graduated with 8 other CS majors. I had a few classes that were 1:1 with the professor.
> A lot of the students are in for the money, not for the love of the job.
Who cares? Can they do the job or not? Do they have the work ethic and professionalism to continue to do so?
The vast majority of people, including those who excel at their respective fields, don't love their jobs. This industry needs to stop using "passion" as a lazy signal for work ethic.
> The most boring developers I work with, the the ones who only learn to code while in college and never developed any interested to learn before that.
2. In for the money, but also love the job, codes on spare time
3. Category 2, but no more free time (family, older parents)
I was in Category 2 but now on category 3. I show up to work early, work intensely, do not waste any time, and try to leave at a normal hour. On weekends, instead of open source projects, I'm spending the time with my mom who is getting much older and requires help and emotional support from the family. That does not mean I have poor ethic or lack of interest, it just means I have a lot of family commitments. I am very productive at work, I love it, but there are clear boundaries unless there is some major deadline or production issue. Speaking of Production issues, I write very very good code to ensure I dont have Prod issues and/or I can quickly do a root-cause-analysis of issues that pop up. My personal needs focus me like a laser on productive time at the office.
Embrace the time you have left with your mother. Work will always be there, and there is no job more important than your family. Do not give on your boundaries.
I spent the last 2.5 years of my mother's life (she passed away suddenly last month at the age of 59 from a brain hemorrhage) working for a startup, not making more time to spend with her because I thought I'd have at least another 5-10 years with her, and my heart hurts every day thinking about how I didn't spend more time with her. Do not make my mistake. It's just code, you're not saving the world.
Sorry to hear that!!! I was a little kid when my grandfather died and for some reason I felt guilty and thought I had abandoned him in his last days. It was such a bad feeling and it still revisits me from time to time.
Interest usually correlates with the desire to learn and explore on one's own time. If you have a team of interested developers/hackers, then the lack of enthusiasm can drag the team down, both in knowledge and culturally.
This isn't always true, of course. Some developers can have excellent skill and have no interest in programming outside of work. I have a coworker that does virtually nothing outside of work, doesn't keep up with current events outside of what our group discusses, but she is a great programmer and picks up on things very quickly. She shows genuine interest in the work she does at work. She's been with us for nearly nine years. Culturally, she's different than me and another one of our co-workers in a more fundamental sense, but as part of our _team_, she is a perfect fit.
> Interest usually correlates with the desire to learn and explore on one's own time.
I don't agree. Interest in doing a good job (i.e. work ethic) usually correlates with this, but I do not think work ethic corresponds very well with interest in the field.
> If you have a team of interested developers/hackers, then the lack of enthusiasm can drag the team down, both in knowledge and culturally.
I think part of my problem with the statements in this thread is that I would never put together a team of hackers to run a business. Your statement implies a team that is interested in tehcnology for technology's sake rather than as a tool to solve a business problem.
The world isn't that binary. No one is suggesting you hire a bunch of people who don't care at all about solving actual problems and who would just screw around all day messing with whatever shiny object caught their eye.
The discussion is whether someone who is just in it "for the paycheck" will be able to solve those business problems as effectively as someone who has a deeper interest in technology for technology's sake. By itself, that's obviously not enough signal to say one way or the other. There certainly are extremely valuable people who don't code outside of work, follow new language and tool discussions online, etc. I think it's equally obvious though that such an interest is a positive signal. If you told me nothing else about two potential hires except person A writes Java at work and has no interest in the field beyond that, and person B writes Java at work, but has a Github page full of utilities she wrote in Go, Lisp, Haskell, whatever, I'd bet a small amount that person B is probably better at solving technical problems. You can't say that for sure, and any of the myriad other factors that actually do matter could break the other way and make person A the better hire for an actual business, but outside interest is a positively correlated trait.
> I don't agree. Interest in doing a good job (i.e. work ethic) usually correlates with this
I wasn't expressing a 1:1 relationship. I also expressed an example where this wasn't the case: interest in the position and the work we do, but not a personal interest outside of work.
> Your statement implies a team that is interested in tehcnology for technology's sake rather than as a tool to solve a business problem.
I just happen to be a hacker that was hired by a business. That wasn't why I was hired---I was hired because of certain qualities that so happen to be a consequence of my being a hacker, and because of fundamental interest in certain topics (which also included side projects).
I'm certainly not interested in technology for technology's sake: I'm the author of a large system on which one of the core parts of my company (the company I work for, not a company I own) is based (raters for an insurance agency), and it was made using practical, business-conscious decisions. My coworker (he doesn't identify as a hacker) is Technical Director.
Many programmers who enjoy programming will have a preference for hiring other programmers who also enjoy it. That doesn't mean they can't hire dispassionate programmers but that still doesn't erase the preference for passionate programmers.
>This industry needs to stop using "passion" as a lazy signal for work ethic.
There's definitely a place for dispassionate programmers (as that's probably the majority of programmers who just think of it as a "job"). However, it's wrong to vilify programmers-that-love-their-craft having a preference for other programmers-that-love-their-craft.
This isn't about preferences. This is about the false dichotomy proffered in the original post I responded to, and elsewhere from time to time, that there exist only programmers-who-love-their-craft and programmers-who-just-want-a-fat-paycheck, and that the former is orders of magnitude better than the latter. I also think "love" is significantly stronger than "enjoy" or "interested in".
> Many programmers who enjoy programming will have a preference for hiring other programmers who also enjoy it. That doesn't mean they can't hire dispassionate programmers but that still doesn't erase the preference for passionate programmers.
Exactly, and it isn't just 'Work Ethic', I wanna work with these guys [1] in 'Silicon Valley' tv show who would go around doing a Jerk off calculation just because it is a fun calculation to do. Not just people with strong 'Work ethic'.
How is anything you quoted "vilification"? I look at it the same as I look at, say, the interview process: he or she is pointing out a flaw in the reasoning used to support "passion as a proxy for merit," which is basically what that preference is.
Probably because you want to grow as a professional and it's much easier in an environment where our coworkers also want to grow.
If they're content with where they are, there are numerous problems:
• as the business case becomes more complex, they won't adapt
• as you grow and progress, you'll be promoted and they won't. No one wants to work in an atmosphere of resentment.
• you want to learn from your coworkers while they learn from you. If it's one way, you're just slowing yourself down.
I don't want to work at a place filled with guys who want to do the same job for the next ten years. That workplace is going to be commoditised. They'll eventually find themselves on the Internet complaining about H1-Bs and outsourcing and how git is hard to use and technical interviews are evil because they have ten years of experience.
No thanks. This field is privileged in that there are lots of us who like our job a lot. Life's too short to settle for boring coworkers.
Growing as a professional requires some combination of drive, ambition, and work ethic. Interest in the job may make those things easier to find, but it is not a primary driver.
> Growing as a professional requires some combination of drive, ambition, and work ethic.
People usually call those types of qualities "passion," "love of job," or "interest."
You keep trying to work around definitions to suit your narrative when people are just trying to have an honest conversation. You are shoving intent into the OPs post that isn't there. Simply put, what they are saying is that those from bootcamps are there doing the what they think is the bare minimum in order to keep getting a paycheck at that moment.
You might think, "Hey, just raise the minimum and they'll raise with it, it's your fault for having low expectations!" However, when those expectations are raised, you rail against them. You can't have it both ways.
You can't argue for someone lacking drive, ambition, and work ethic, and at the same time bemoan people for demanding that.
Passion has become a synonym for being in love with a career. As you said: "love of job".
Mixing a complex sentiment like love with coding is frankly ridiculous and I would argue undesirable.
Instead we should precise terms like drive, interest in technology, motivation to learn, etc. These make sense and don't bring any emotional baggage with them.
You're the only one so far who's mentioned the reason this is important to me.
I want to learn from my coworkers. Making decisions that require evaluating new software or new techniques is difficult and risky, having more than one damn person who can contribute to that process makes a huge difference. Plus, I just like learning things from people.
Sure, it's very good for the business if they keep up with new developments in a rapidly changing field, but personally it's most important to me that my coworkers and I are helping each other sharpen our skills and make tech decisions responsibly (being fad driven is worse than being out of touch, I don't mean just knowing about what's "hot right now").
I care. For 4 years, I went to lunch with a team of "just a job" devs who only wanted to talk about celebrities, and gave me blank stares and laughed about how they "forgot all that theory stuff from college". It sucked.
This also comes back to broader discussions about programmers needing to have worked on this stuff since they were kids. Perhaps uniquely among STEM subjects. No one expects a chemical engineer to have done anything other than to have enjoyed and done well in high school chemistry prior to college or to have chemical engineering "side projects."
>Perhaps uniquely among STEM subjects. No one expects a chemical engineer to have done anything
Computer programming as a self-motivated hobby is not unique in this. Many electrical engineers started playing with electronics as kids (e.g. disassembling radios, wiring up homemade amps, etc). Many mathematicians "play" with math as kids before they go to college and get a teaching/research position. (E.g. Andrew Wiles was 10 when he was captivated by Fermat's Last Theorem.) Many biologists and zoologists when they were kids had a keen interest in nature and animals (beyond the typical children's "dinosaurs are cool" stage). Same for astronomy.
Many != all. I'm a senior engineer now only a few years removed from school but I'd never touched programming until my 2nd year in college (switched majors 3 times). I'm obviously interested in tech or I wouldn't be here but I'm certainly not spending my free time trying out new technologies or coding for fun, and honestly I never have. I care about my job, about my craft, about moving up but I get plenty of practice in the 8+ hours i spend every day at work. Outside of work I have a life that doesn't involve machines, and this idea that in order to be good at your job you need to have a burning passion for coding is unhealthy for the field. Not to mention that half of what makes a good engineer is stuff completely unrelated to how well you program.
No one expects a chemical engineering 1st year student to have mastered organic chemistry already. Just as no one expects a 1st year mechanical engineering student to thoroughly understand rigid body dynamics at age 10.
Yea maybe they built an RC plane or did some home experiments, but if anyone is doing these things at a young age they are clearly far above their peers.
> Andrew Wiles
Example here-this man is extremely intelligent, it's like using Einstein as an example that anyone can be a genius physicist that changes the world. No, they can't.
We need to just call it what it is: arrogance and gating. "If you didn't do what I did, you must certainly not be any good." Which is an absolute shame
Quite a few comments on this thread should be required reading for anyone seeking to understand some of the cultural "shortcomings" of the software industry generally and the software industry in Silicon Valley specifically. This idea that not having had an all-consuming for programming since childhood and not maintaining an active Github account for all your side projects means that we don't want your kind is toxic.
>This idea that not having had an all-consuming for programming since childhood and not maintaining an active Github account for all your side projects means that we don't want your kind is toxic.
Then you are not aware of the toxic comments from your peers who agree with you.
To recap...
Group 1: programming-is-just-a-job -- the majority -- The programmers who want to compartmentalize their programming strictly to 40-hours work week so they can have a life outside of computers. Programming is just a means to an end. Programming is just the paycheck that feeds my family. Great! There's nothing wrong with you! You outnumber the programmers who view it as an artistic endeavor and self-actualization.
Group 2: programming-is-my-vocation -- the minority -- The programmers who got into as kids and find joy in side projects after hours & the weekends.
It's not enough for these 2 groups to peacefully coexist. It's also not enough that Group 1 outnumbers Group 2. It's also not enough that most cog-in-wheel corporate programming jobs don't even value Group 2's enthusiasm for programming.
No, Group 1 is not satisfied with the above advantages.
Group 1 is very annoyed if Group 2 programmers prefer working with other Group 2 programmers. G1 derides G2 as psychologically defective or unbalanced. E.g see HN poster (gyardley)[1] describing them as an "obsessive wretch" and "not an asset". Toxic indeed.
You are way off base here. The issue here that group 2 by it's very nature, being passionate, is way more vocal and outspoken about the issue than your group 1 people. It's not a problem that group 2 people want to work with other group 2 people so far in that it doesn't affect group 1 people but that's not how it works. Your group 1 people generally don't care who they work with so long as they can do the job. The problem is that by being far more vocal they affect things like hiring, and who gets promoted which does negatively affect group 1 people. Regardless of the size of the two groups you have described if one is making it harder to advance for the others while not being provably better you're going to have a problem. And that is why you see a lot of people arguing against this mindset, because it IS toxic, and creates a situation wherein only people who have demonstrable interest in programming outside of work can succeed and advance.
Also This mindset eventually can backfire on even your group 2 people because life happens and just because you have the free time, energy and motivation today to work on projects outside of work doesn't mean you will later when you have a family or health issues or any of the myriad other things that can come up.
>Your group 1 people generally don't care who they work with so long as they can do the job. The problem is that by [group 2] being far more vocal they affect things like hiring, and who gets promoted which does negatively affect group 1 people.
Well, G2 people have an affinity for other G2 people. That's human nature! That's not toxic. Look at the various reasons given by G2 posters in this thread: they enjoy a work environment with other G2 people. Just as one can prefer having a comfortable chair or closed office, a G2 can state honestly that they would be happier with other G2 colleagues. Just because that has an effect of G1 not getting hired does not mean it's toxic.
The analogy I like to use is a music band. If they're looking for a guitarist who's passionate about his instrument and music, the guitarist-just-a-job who has apathy about the music will not get invited to join the band. Maybe the apathetic guitarist can technically strum a C chord as well as the passionate guitarist. That's not enough. The band having a preference for the passionate guitarist is not being toxic.
Yes, for many G2 programmers who started as kids... programming/playing with the computer is a very similar intellectual high to a teenager exploring a guitar. Programming feels like fun artistic expression and not "work" or a "job". I think many G1 programmers really don't understand that. If they could view G2 programmers as band musicians, maybe they would have more empathy for the passionate programmers having a preference for like-minded people.
Literally nothing in your comment rebuts my argument. It's not an issue that you want to mostly be with other G2 people. That's perfectly fine and people understand that. It's an issue when you're desire pushes all the G1 people out of the work place.
I'm not going to think of programmers as musicians because they're not. They are employees of whatever company. They are there to do a job. It's great that you want to work with like minded people but if that desire means that qualified G1 people can't get hired at your company that's a problem. If your desire means that g1 people can't get promoted that's a problem.
As a thought experiment replace like-minded people, with people of the same race. Or people of the same gender. Or people of the same religion. Do you see the problem now? A mindset that excludes some large percentage of people based on arbitrary standards that has nothing to do with their ability to do a job is always going to be problematic.
Side note if you lead with "looking for passionate" you're already misconstruing the issue, because what a company should be looking for is "able to do the job to whatever standard we've set"
>wherein only people who have demonstrable interest in programming outside of work can succeed and advance.
Nobody in this thread has said this. Maybe your misunderstanding of the other side is part of your frustration on this topic?
Some have said that the self-taught programmers were better. Some have said passionate programmers were more driven to stay relevant in a changing field. Some have said they learn more from coworkers that developed interest in programming outside of college and work.
You may disagree with all 3 of those statements but none them are about dispassionate programmers not being able to succeed.
>It's an issue when you're desire pushes all the G1 people out of the work place.
This has never happened. In fact, the opposite has happened. G1 is the overwhelming norm at most businesses. To repeat -- most programmers do not view coding as a vocation. G1 programmers already fill most jobs slots.
The idea that the minority of G2 programmers want a work environment with other G2s and this is hurting G1?!? That is a complaint that's way out of proportion to reality. Literally.
Also, I'm not sure why hiring heuristics that negatively affect G1 somehow has a higher moral standing than heuristics that negatively affect G2 programmers. What about the opposite situation? E.g. G1 people say being well-balanced with non-programming activities helps them be a "better programmer". Great! Let that belief be a guide and don't hire G2 programmers since their excessive interests in computers actually makes you believe they perform worse. They are not assets. (See my previous cite to HN thread for example of this.) In those cases, G1 wins over G2 in getting the job.
>They are employees of whatever company. They are there to do a job.
The founders and many programmers would like the daily effort to be "more than a job" if possible. Sometimes, that's not possible (e.g. Walmart cashier). However, with programming, some do try to optimize for a better work environment.
>with people of the same race. Or people of the same gender. Or people of the same religion. Do you see the problem now?
Those race/gender examples weaken your argument. Having a preference for people with similar intellectual dispositions in programming is very aligned with Martin Luther King's "not being judged by the color of their skin, but by the content of their character."
>arbitrary standards that has nothing to do with their ability to do a job
Then this discussion has no resolution because in this thread, many have written about experiencing the opposite. Instead of it being an "arbitrary standard", it's been a positive correlation with performance on the job.
>what a company should be looking for is "able to do the job to whatever standard we've set"
Ok, many programmers in this thread said they prefer colleagues who enjoy computers+programming as outside interests. That's the standard that's been set. Many companies want to attract those programmers by hiring G2.
>No one expects a chemical engineering 1st year student to have mastered
Neither ghaff nor I wrote anything about kids "mastering" the STEM topics before college or the first job. Therefore, that higher standard stated by you is a strawman.
I thought ghaff was talking about STEM side projects which is certainly something within the abilities of teenagers without mastery of programming. That's what my reply to him/her was about and how "playing with science" is not unique to programming.
No one would be expected to do meet those high standards, as you say. No one would be expected to be experts in basic chemistry by their first year of college.
Yet in this very post, there are countless examples of people saying the best programmers were the ones that knew it all before college, who didn't need college, who put in the time to learn before college, etc.
No other field is this expected. That's the point.
Playing with science and doing small little cute fun experiments is a lot different than me teaching myself productive front end development at age 16. I don't expect other 16 year olds overall to do as I did. Nor do I judge people if they didn't.
>in this very post, there are countless examples of people saying the best programmers were the ones that knew it all before college,
Nobody in this thread has said that programmers should "know it all" before college. You're injecting conditions and standards (like "mastery") that no poster actually wrote.
>No other field is this expected. That's the point.
This isn't true. You can see coaching advice for electrical engineers to update their resume with any DIY (do-it-yourself) electronics projects that would demonstrate self-motivation, passion, etc to potential employers. In that respect, it's not much different than computer programming. Do electrical engineers get jobs without any personal side projects?!? Yes, of course. Same as computer science -- many programmers get jobs without side projects.
In both scenarios, it isn't absolutely necessary but it's a way to stand out from the crowd.
Yes, there's often a level of interest beyond "Hey, I liked this class in high school." But I'd still argue that the computer science space is unique in that there's a fairly widespread expectation (as seen in these threads) that it's expected to be some sort of passion indulged in since childhood. To the degree that a lot of today's university CS programs don't effectively accommodate those without previous experience. As a mechanical engineering major undergrad, I can assure you that I had no particular experience in the area prior to college.
That's exactly my point: there is an expectation associated, especially from the HN echo-chamber, that you've been passionately programming since your early teenage years and that if not you're just a pretender looking for the salary and can't solve problems.
> As a mechanical engineering major undergrad, I can assure you that I had no particular experience in the area prior to college.
I'd say this is true of most people entering college. Hence we have introductory courses to learn there.
It's a shame that so many people on here and elsewhere simply want to discourage people from following an interest simply because they discovered it later.
This field changes so much that if you aren't passionate and investing in your skills continuously, you will find yourself obsolete or in a non-technical role within 5-7 years. Think about that. How many years does it take just to become technically proficient?
Why do you need to be passionate to improve your skills continuously? Why does being passionate guarantee you are going to develop the right skills rather than latch on to an academically-satisfying yet commercially-useless niche?
Because the academics ultimately drive the commercial, there's just such a delay between the two that the relationship isn't always obvious. Just take a look at Java, one of the most widely used programming languages for commercial development. It's hardly cutting edge, but if you step back and look at the way the language has evolved it's slowly been integrating all the design choices that have come to the forefront of academia. Generics? Check. Lambdas? Check. Streams? Check. Reactive design? Check. Non-nullable values? Eh, sort of, half marks there. Immutability? They're working on it.
I'm not sure about "passionate" programmers, but programmers who enjoy programming are generally always on the lookout for new trends, new tech, new libraries, and even if you aren't using those things, being aware of them is massively useful. If you're relying on the business and your coworkers to drive your skill improvements, then you're going to stagnate, guaranteed, because the business doesn't care at all about new technology and has no desire to improve or change anything, and your coworkers will only care if (shock) they enjoy programming.
When you put together a team of 9 to 5 only in it for the paycheck programmers, what you get is a snapshot, their combined skills and technical knowledge will be the sum total of exactly what all of them know when you hire them and it will never improve. Putting together a team of programmers that enjoy programming and are doing it not just for the paycheck but because they enjoy the craft gets you a constantly improving team. Their skills stay fresh and they're motivated to improve and keep your tech relevant and modern, which ultimately saves you in the long run from having to face massive rewrites of old creaky systems, or ending up stuck trying to hire massively expensive developers to work on ancient deprecated technologies.
"Passion" the term definitely needs to be retired. It's pretty much a dog whistle as you say. However, whatever you want to call it, I do prefer to work with people who have both a high work ethic and an intrinsic interest and excitement about their work. It's absolutely more fun to have people to "geek out" with than not. In the grand scheme, I think we spend too much time at work to not try make it as enjoyable as possible while also still doing a good job. So I guess to your question of who gives a care if a coworker is boring: I (and I think lots of others) do...
> Do they have the work ethic and professionalism to continue to do so?
It is a rare person who has enough work ethic to force themselves to use their own free time to improve in a field they don't have any passion for. If that weren't so, we'd see a lot more self-taught physicists, mathematicians, and other STEM people.
> The vast majority of people, including those who excel at their respective fields, don't love their jobs.
People who excel in their fields don't love their jobs? As kids nowadays say, "[citation needed]".
Not sure how the industry may define passion, but for me it's a constant drive to develop one's skills, improve one's output, and an interest in all these things outside of the hours you get paid to be interested in them.
I've hired good developers who had this type of passion, and good developers who lacked it. But I've yet to hire a truly great developer from the latter camp.
It seems to me this is true in just about every industry, those who have devoted the most time and energy to a skillset tend to be the best at it.
People can also gain more interest even if it was "just a job" before.
I fell into IT and struggled with feeling overwhelmed the first year or two but once I found the things within that field that fit my personality, that's when I felt more comfortable and could push myself more and ignore the BS that I didn't really like.
I completely agree about the "passion" thing. You can develop curiosity and interest about anything.
Thank you for mentioning this "passion" problem we have. I did a count once, after I nearly became apoplectic after reading yet another job ad that looked for a "passionate" programmer.I counted the number of times Passion was mentioned in job ads for programmers on Find Bacon in NYC. I compared it to the number of times New York itself (where these jobs actually were) was mentioned- and whoo boy! It was something like 4 times as many mentions of the word passion. Wtf does that even mean? That someone foregoes all else like a priest while they code up liked lusts for your company? I worked in the fine arts before, and no one mentions passion... ever. It kind of goes without saying that you have a work ethic if you can play your instrument at a professional level. We all understand the effort that requires. This love of the word passion would be a red flag for me, if it were not like the word "like" used to be for tweens. I sure wish we could all take a break from it and put some actual psiion into understanding what we actually need from employees. The usebof this word speaks to a need to hire young people who have not yet learned their worth and to set boundaries. It is like the hiring equivalent of a middle aged Humbert Humbert trying to lure a sweet young thing with a copy of Rilke's Letters to a Young Poet. Cannwe all please agree to a break from this word?
> The best developers I worked with are the self-taught guys/girls who learn on their own before they even hit the college
I think this is the crux of the issues I had with bootcamp candidates. They were reasonably strong in the areas that they'd been taught, but there were gaping holes in their knowledge wherever they hadn't been taught. They could explain how to build a site with a Node backend and an Angular front end, but they couldn't explain why any of the decisions they'd been taught were good ones. And there were fairly basic concepts that were completely alien to them...of the 20 or so I interviewed, not one had even heard the term 'load balancer', let alone could tell me why I might need to use one. They had no notion of 'threading' or what it meant for a piece of code to be 'thread-safe' because they were only taught Node and its concurrency model. Even then, not one of them had heard of 'nextTick' or understood the event loop beyond the fact that it would call their callback function with the results. Their experience felt like a facade that was designed to seem impressive than it actually was. And all the areas where a developer with a traditional background would have thought, 'huh...I wonder how that works?' and then spent 2 hours figuring it out were completely unexplored.
This is why I think developers coming out of college are significantly more likely to be better at software development...not necessarily because the education they got in school was better, though I do believe an education starting with first principles and teaching you to figure out the solution from there is a better approach, but because the people that choose to study that in school are self-selecting for curiosity in the subject. They're the ones that hit something they don't know and go learn it rather being told what to learn. And they're the ones that spent at least 2 years following those tangents to get a more well-rounded education. Because any developer who only knows what they've been taught in courses, be they bootcamp or a traditional CS degree, is not going to have what it takes to learn on the job.
I recently wrapped up teaching a bootcamp course. In the timeframe for teaching bootcamp students, there's no realistic way to cover load balancers or teach the event loop holistically
You underestimate the time a self-taught developer would spent figuring these things out. I'm self taught, and though I think nothing of it I easily spend 4 hours on trivial things -- it had never mattered until family obligations made it obvious that I needed to cut down since I was also teaching on top of my full time job.
I started teaching the bootcamp precisely because I disagree with the mentality that junior web developers need to understand load balancers or the event loop or any number of other things. These things WILL come to experience, and all you need to get started is grasp the basic syntax and be able to follow the execution path of anything you write.
It's a job, as much as people like to believe that it's a craft, and many other people are fully capable of doing this job even if their decisions look different from our own. Most of my students are at the same place I was when I landed my first Jr role, a handful (about 20% of the class) are far ahead of that point.
I'm not impugning bootcamps or claiming you should be teaching those concepts. I'm claiming that it takes years of independently exploring and learning concepts to be qualified for this kind of work. Most of the developers I hire and work with have been doing this kind of exploration since they were teenagers, if not before that. By the time Node, Angular or most of the technologies taught in these bootcamps came out, they would be comfortable reading docs and just figuring it out and wouldn't need a bootcamp to teach it to them.
It's an unrealistic expectation to think that people can go from zero to professional in such a short time. I honestly don't care if a junior developer knows those concepts. What I care about is that they know something other than what they were taught in the bootcamp. Show me some independent exploration that you did that wasn't required for the bootcamp which leads me to believe you can do more of it. I can pair a junior up with a more senior developer some of the time, but most of the time they're going to have to flail around and try to figure it out by themselves and I want to know that they can do it based on nothing other than documentation, trial and error rather than needing their hand held.
Except most university cs programs don't teach any of those things either. I went to an excellent school for CS and we covered basically zero web concepts in our core CS classes. Sure we learned threading, but not any model that someone would actually use in real life making it at best primer for future learning and at worse worthless. I think it's an unreal expectation to think new devs from either Bootcamps or college are going to have a solid foundation on anything more than how to use a language and a few other domain concepts. CS grads don't know anything about the web or mobile generally but can learn. Bootcamp devs probably are missing database, and algo knowledge, but I don't think that stuff is any more difficult to learn either.
I think you misunderstood my meaning. Of course CS classes don't teach you that stuff. The point isn't that CS classes prepare you for the workplace any better than a bootcamp. The point is that the intellectual curiosity necessary to go learn things on your own is the only thing that prepares you for coming into the industry and staying relevant once you're working in the industry. And those that are curious about computers from an early age are the ones that end up in CS classes or getting jobs in the industry without a degree from a university or bootcamp. The education CS grads receive in school is mostly bonus principles that help them make sense of what they learn on their own and isn't really necessary.
I guess my point is that the people going into these bootcamps, from the ones I interviewed, didn't seem to be people with that curiosity who had taken the time to learn a bunch of stuff on their own. They seemed to be people that wanted to quickly learn to be a developer. And it's perhaps possible to cover the part of a CS degree that's actually applicable in the workplace and a few technologies in the months that students participate in these bootcamps. But it isn't possible to cover the years of independent exploration that most CS graduates did both before, during and after their degrees. That's the bulk of what makes someone qualified to work in the industry. And there aren't really shortcuts around that learning process.
I agree with this somewhat. The technology is the tool but the principles should be the first step.
This was said over on /r/sysadmin when people were discussing where to start with Powershell scripting and the top answer was to get a basic grasp of OOP first as a foundation.
I agree with all the points you made, except for a part of the third one.
This "started coding in middle/high school or college" is a misleading metric since it assumes everyone has equal access and support to learn that way.
As some one from India who never had own computer until finishing college (the early 00's), along with no internet or cell phone, I find it hard to accept/respect those people who gloat about how early they started coding.
I always assume there are thousands of kids in the US who were/are not as lucky as the kids who started coding while they were in their diapers.
People/companies in US love to talk about their efforts to fix diversity, but without fixing this attitude of "earlier you learn, better you are" attitude, no amount of throwing money will fix it for the true diversity candidates.
> but without fixing this attitude of "earlier you learn, better you are" attitude
This mindset seems to work rather well for more objective areas like athletics. I don't see any reason why an intellectual pursuit like programming would be any different.
I don't know if it works. I dont know why it should be the same.
But at least, in athletics, there's no charade of trying to fix the gender/race bias by throwing money at programs that make other's catch up so that they can claim "equality".
Most Marathoners and NBA players often are African or have African ancestry. And no one says the same team should have an equal number of <insert race/gender here>.
IMO, humans are adept at learning intellectually for a much longer time, compared to improving physically in 'objective areas' like athletics, which needs to begin very early in a human's life.
1. Athletic performance is easy to measure. Especially for individual sports (track and field, gymnastics, weightlifting) the numbers are the only way to compare athletes. Not so for programming. If someone invented a way to definitively judge programming ability today they'd become very rich, very soon.
2. If we assume that mastery of programming follows a sigmoid-curve (not an unreasonable assumption, IMO) it means that the ability difference in "coding for X years" and "coding for X + 5 years" becomes nearly indistinguishable for some value of X, for people of roughly similar innate ability and drive to improve. And if you believe in innate ability, then there will certainly be people who came to the field late and caught up with, or surpassed, less-innately-talented colleagues who have been programming longer.
3. One of the reasons that starting at an early age is important in athletics is because peak performance is harder and harder after you turn 30. The "growth" phase has to be therefore significantly accelerated. There's also evidence that for technical sports requiring motor coordination (eg. soccer), learning young is better. Whereas people can code at peak level until the day they die, assuming no other illnesses.
> See anyone you can think of from the 60s and 70s like Ken Thompson and Dennis Ritchie.
Ken Thompson had a MS in EE/CS and Dennis Ritchie had degrees in both physics and mathematics, all of which are far more difficult than programming. Most of the other great names of the '60s/'70s have similar backgrounds, invalidating your point.
It's also unfortunate that everyone defaults to measuring the years that have elapsed since someone's first line of code, instead of hours invested.
"N years experience" loses value as a measuring stick when there are probably 2 orders of magnitude separating how much code the most passionate and least passionate developers wrote in that time frame.
I don't think it's misleading at all. It is unfair, it is an outgrowth of privilege.
The issues with diversity, prejudice and bias would be much easier if there weren't cases where something was both unjust and true. Software development is one of those activities where experience is helpful, so those who start earlier are generally better.
Except that's all anecdotal. How do you measure how good someone is at programming? Have there been any studies comparing intro age to programming with future performance? Anecdotally, I know plenty of people who have been programming since elementary school who are terrible compared to someone who learned in college.
And it's not hard to guess why. Just because you've been programming for a long time, doesn't mean you were doing it correctly, or even understood what you were doing.
A 93% failure rate is absurdly high, and probably more indicative of an inadequate hiring process than "bootcamp grads are all dumb lolz". Are there any examples you could share of relevant interview questions that this group faked their way through, but later were revealed to not understand? Have the hiring managers since been mentored on how to do a better job vetting candidates?
This was more than 2 years ago, I don't work there anymore. But to my best recall, the interview process was pretty straightforward, mostly revolved around basic programming knowledge (we knew we were aiming at junior devs). Basic programming questions (what is an object, an array, etc..), a few question on to approach a particular problem and lastly they were presented with vanilla JS file, with bugs and things that could be improved.
No algorithms, or data structures or complex problems to solve. Something that I would include if these were fresh college grads or senior developers with extensive background.
Again, I didn't mean to call anyone dumb, I don't think these people are dumb at all, they were just bad/fast trained.
>> presented with vanilla JS file, with bugs and things that could be improved.
Uhhh that's really difficult in js even for experienced devs. Way too much non deterministic behavior. I hope this exercise came with tests and a working debugger.
For #3, I know a lot of people who started this way and then used a bootcamp to build modern skills. To me, that's a really solid combo. Having a bootcamp be your first intro to the field is a much tougher road.
This is a cool idea. Even though I've got close to 20 years under my belt, I could almost see myself going to one of these bootcamps simply to quickly update my skills to today's New Hotness (web development or ML). Wonder if it would actually be useful.
As someone who both interviewed bootcampers, and also partnered with a local bootcamp (IronYard) this is pretty much exactly my experience. The bootcamps can take someone who had an interest in programming before hand, and give them a fast leg up to get into programming professionally, and that's great. But the vast majority of people in these programs are just there because they heard you can make a lot of money as a programmer and have no real interest, or talent with programming, and it shows in their work.
India had similar code academy type institutions in the 90s (don't know if they still do) and they gave pretty much the same results. A very small percentage who "get it" and could think their way through a logical problem in a logical way; and a majority - those there strictly to find the path to a well-paying job - who could write code to the exact specification you provided, but with no independent thought.
Only difference is that then, the token technologies used for study were out of MS's desktop stack.
Source: worked with lots of outsourcing/offshore partners out of India during that time...
edit: I should also add that in the US the same could be observed: uptick in CS grads who only started out in it for the money, had no real interest in the actual building blocks they were given -- and were predictably uninspired in the workplace.
The percentage of 'good' programmers was higher, but that was only because there was a 4-year barrier to entry vs ~16weeks-1yr for the tech schools in India.
I agree with 3, the disclaimer being that I myself am self-taught. However, in college and now 7 years later in my career the best problem solvers I met were self-taught. My senior project lead, who's younger than me, doesn't have a CS degree like me but constantly impresses me by his breadth and width of knowledge--more than my own in many cases.
For almost everyone else I've worked with it's just a job. No Github account, no personal projects, no dev environment setup on any home computer.
Do you still interview front end developers? It is absurd that, as a bootcamp grad, I am trying to get a potential opportunity from you in a thread that vilifies bootcamps but I wanted to give it a try anyway. I do have some experience and a decent portfolio. I would love to provide links and resume if you could shoot me an email at timon.park@yahoo.com
Hell, I've been doing this for 13 years (professionally, more like 20 total) and at this point I only care about the money too. Everything else about this industry is not great, honestly.
Do you want to be less "boring"? Do you work well on your team (if you're on one)? Are you valued by your team/company? Are you worried about future job prospects?
If you're happy with your current situation, forcing a change isn't going to suddenly make you interested in those changes. If you have legitimate interests, explore them. If you don't, see what catches your eye here on HN and other places and read up on them, seeing if anything naturally does.
I didn't mean to say ALL of them obviously, I just meant to say that a lot of devs who only learned to code in college, usually don't code for fun, just code to get the job done. By no means are they bad programmers, in fact they are good coders, they just lack curiosity and some creativity. Is like IBM vs Apple in the 70s if you know what I mean :P
That's too broad a question; you'd need to specify "front-end developers" in the context of their primary focus, first.
Are they game developers?
Are they working on enterprise apps?
Are they working on lead-gen landing pages for marketing companies? Data visualization? Accessibility-focused?
etc...
Front-end is becoming increasingly specialized to a degree.
Attention code boot campers: if you literally have any other relevant experience for a software engineering job, my advice is to just leave the code camp off your resume and focus on that. And then, your experience from the code camp will come through positively in the actual technical interview process.
Hiring managers are under a deluge of underqualified code boot camp candidates, who are trying to effectively get past resume screens using all sorts of tricks. The blow back from that (I'm speculating here) is that code boot camp folks are probably often being screened out early at a lot of places since its just too difficult to assess them on paper based on the extensive grooming their resumes and github profiles get by their mentors at these bootcamps.
Instead, my advice would be to clearly label the work you've done at a code camp in your README files and include a link to your github. Explicitly call out on your resume projects you have done on your own, and talk about those in your cover letter. If you have literally any other projects or experience related to software engineering include those on your resume and emphasize them!
But highlighting your code camp and trying to tout it as "highly selective" and "accepts only top 1% of applicants" and all that stuff may be doing more harm than good at this point. The well has been poisoned by enough under-qualified people applying that ultimately need to be screened out via an on-site interview, which is time consuming and considered a failure of the hiring process, since they have been set up to pass the resume screen and the initial phone screens. So my advice is to just leave it off, consider the knowledge a secret asset, and don't risk inadvertently damaging your own application!
All it takes is for a company to be burned once or twice by misleading applications from a coding boot camp candidate to just auto-screen out all resumes from them in general. It sucks, but I found myself looking at resumes that seemed genuinely good, but as soon as the boot camp was listed there, I no longer had trust in what I was looking at. So be mindful, there may be folks out there who would have normally had you interview but didn't just because of past negative experiences with others from your code camp, or other boot camps altogether!
As one of those under-deluge hiring managers, I've found that candidates have already begun hiding their bootcamp / academy education during the application process.
It is still pretty obvious, though: the resumes are all the same format, as are the application channels and techniques, and experience levels.
I'd recommend these individuals look toward internships, as I haven't found one qualified for a full-time job yet. Why aren't bootcamps lining up internship programs?
Some of them are - Ada's, for instance, and LaunchCode, both focus on internships as a big part of the program. But getting employers on board is a lot of work and I'd be surprised if it were possible to find enough places for all the boot camp students out there these days.
Is a bootcamper over age, say, 30 going to be able to get an internship? The problem there is that internships are generally regarding across the industry as being for fresh college grads.
They haven't been able to guarantee an internship, but they do seem to go to a fair amount of trouble to get everyone one. The last cohort all got internships in the last round, and a couple people from previous cohorts also did as well.
Same experience here as a Director of Front-End Development. Worse than not only hiding that they're coming from a bootcamp, they're positioning their exercises as actual "work experience." Granted, this appears to be a few of many bootcamps instructing their classes to do this, but it's definitely something on my radar these days when I'm looking to hire. Also--and this is an egregious oversight in my opinion--many of the portfolios are nothing more than a lightly modified (if that) Wordpress site, using a select few "popular" templates; usually the templates that tell people what level of experience they have with each technology, etc. If you want my eye, you really need to take the time and initiative to build it independently using what you learned.
Agreed, however, that internships and apprenticeships are a great first step coming out of bootcamps, but I don't believe that's the expectation being set when they're admitted. The reason I usually have to pass on bootcamp grads is that, working in a client-focused environment on tight deadlines, time spent training someone up from a narrow view of the industry to what we need is at a very high premium; CS grads coming in as Juniors have anecdotally worked better to that end.
Apprenticing at a product-focused organization with high competency in managing expectations is where I see most bootcamp grads excelling.
When I was an intern working on data warehouses, I made like $25/hr, which is pretty good for starting out. With overtime, you make pretty good morning for how little investment is required.
I think it varies and a lot of companies do it differently. I had a part time internship with a software company over the spring semester which "ended" at the end of the semester but that was just a formality to start a new internship contract full-time and with a pay raise for the duration of the summer. Most software companies use internships as "junior-junior" developer positions, I was still writing code that was impactful and used by the company, it was just understood that it was going to take a couple months to get me to a point that I was semi-autonomous.
Why would I believe, as a bootcamp grad, that you're going to be able to put aside your already-admitted bias when I make it to the table for the interview, or if I make it through the hiring process? Why would I want to work with a coworker who thinks "their resume looks great, but they're a bootcamp grad, so it must be a lie"? How can I be confident that you won't throw some bullshit about me being a bootcamp grad at me when we inevitably disagree about some question? I'd rather put it on my resume and take my chances.
The issue isn't with the candidate it's with the application of the candidate. You've presented two different things as the same. The initial screening process at many companies is pretty deterministic, based on fixed inputs in the person's application, and so can somewhat be easily gamed unless it is continually refined by engineering leadership to counteract some of the dynamics I mentioned by those who basically make a living trying to get all of their students through these screens.
If there is a sufficient correlation between radically underqualified candidates passing the initial screens due to their applications being (retrospectively) designed by the coding boot camp to do so, then it's reasonable to assume applications from those boot camps contain basically no real signal, and so really don't say much one way or another about the candidate's technical skills. In general, interviewing people is costly, and so with minimal signal you'll just say "no."
On the other hand, if there is no coding boot camp on the resume, there's no reason to believe the person's resume, github profile, etc, has been hand crafted by domain experts around passing technical job screens. You can much more likely take it at face value. So, that is why my honest advice at this time is to leave it off, because you are probably doing more harm than good. (This doesn't mean remove the work from your github or wipe the knowledge you had from your brain, just don't put it there because it may be sending a negative signal, regardless of your own merit.)
Once the person is in the door for an interview or the job their application is, generally speaking, not very relevant at that point vs their actual abilities to get the job done and work well on the team.
The post above highlights the negative stereotype of bootcamp grads (being under-experienced and under-qualified for the jobs they apply for), and therefore recommends highlighting your experience and projects over your bootcamp certification.
If you have a "great resume" then a bootstrap certification is not what makes it great. Self taught developers prove that a degree is not essential, and being self taught shows motivation and interest.
If someone disagrees with you and they have more experience and/or education, then your level of knowledge is the first thing they would attack, so again keeping it on your resume is no advantage in that case.
He's saying a person with a liberal arts degree and some amateur experience looks better than some one who graduated from a boot camp.
The implication is that boot camps let people appear better than they are.
And you don't need to tell them you went to a boot camp. So if you get hired without mentioning it you won't deal with that bias.
Someone who's self taught doesn't need a bootcamp.
In reality all good coders are self taught - you can't really teach this stuff. You have to learn to play, to explore the solution space and figure out the different ways of composing your raw materials. And you need to do this over and over again throughout your career as new materials become available. Self-teaching never stops.
Hack Reactor is touted as really exclusive, but it's a 12 week boot camp. Does anyone seriously think that 3 months or even 6 months is enough to become any sort of passable? A well paced, self taught programmer can surely strive to a higher standard.
Also startup accelerators usually work with businesses that already exist. It's actually a good analogy. If you already know a little bit about coding and computer science a bootcamp can really help. If you don't have the drive to learn programming than a bootcamp can leave you with a huge skills gap.
My first business failed miserably. I had no business training and no one in my family who'd ever run a business. I was just overwhelmed all the time and never had advisors to reach out to (a problem YC students wouldn't have)
In hindsight, I know what I did wrong and what I should have done instead.
I'd say it took me at least a year of failing before I could gather my bearings and understand what was going on.
For a junior web developer position? Yes, absolutely.
And it turns out that junior web developers make a shit ton of money in the bay area.
A whole lot of companies do not need serious CS algorithms experts. A whole lot of companies merely need blue collar, CRUD web devs to build their CRUD angular react node web app.
Being a crud web devoper is still a pretty good gig.
That's my main gripe with these boot camps. If you're an experienced programmer with all the fundamentals in place, you could certainly learn a lot about a new language/framework in 12 weeks.
But, that's not who these things are aimed at. New programmers need time to absorb the fundamentals of programming. Getting pushed through some fast-paced program is the worst way to absorb anything.
I do like the idea of hopping right into writing applications vs the more traditional route, but it needs to be over years, not weeks.
Hack Reactor is ~11 hours a day and has all the social support and camaraderie that comes when you do the same thing w/ other people. I'd be surprised if someone on their own could learn as well in the same time.
11 hours a day is a bit extreme. After a certain point I would be concerned about my retention. Personally, I've never had good results from studying more than a few hours a day, but I understand this may not be the case for others. I usually study a bit, take a break for a couple hours, and study some more.
In my area, I have had recruiters specifically tell me that they will not list junior positions because of the hiring market being completely oversaturated with bootcamp graduates. I have had several tell me something along the lines of "this is listed as a mid-to-senior level position, but that is just to keep bootcampers from applying".
Without any commentary on whether you can be skilled/productive/knowledgeable after a bootcamp program, it CAN hurt your odds to list it on your resume. A former employer of mine was burned so bad by a string of bad hires they say they will never work with bootcampers again. Anecdotally I have observed that bootcamps tend to have their own tight-knit networks of alumni or companies willing to hire from a given camp, so I can't comment toward the net effect (whether it's better not to list the bootcamp on your resume at all), but I can guarantee you there are employers who want nothing to do with you if your primary education and experience are from a bootcamp, as misguided as that may be.
The person you are responding to makes a reasonable point that if an employer cares about productivity, then what you can accomplish on your own and what you actually know and understand should be emphasized. They may perceive that applicants whose primary self-advertised selling point is "I went to Einstein-Hawking Ruby Camp" may not have anything unique/valuable to offer for a given role because they seem identical to many other applicants from that same place, some/many of whom may have underperformed. I would recommend not developing a chip on your shoulder about it.
>"this is listed as a mid-to-senior level position, but that is just to keep bootcampers from applying"
Wouldn't help. Would actually be counterproductive. Listing requirements higher than actual requirements is a game, and boot camps are good at figuring out and optimizing for games. Bootcampers will (and should) apply to literally every job description that involves writing code.
"But the coding boot-camp field now faces a sobering moment, as two large schools have announced plans to shut down this year — despite backing by major for-profit education companies, Kaplan and the Apollo Education Group, the parent of the University of Phoenix."
Not sure "despite" is the right phrasing here. I'm a DBC grad from about three years ago, and I know DBC had various issues, but I do suspect that there was pressure from Kaplan to expand rapidly, crank prices, and decrease the quality of the education (because that's how Kaplan made their money everywhere else they've been profitable). Kaplan bought them right before my cohort started, and there was serious concern even then that it was a bad omen. I think a lot of startups in general would do well with less pressure for rapid growth, and I suspect that the bootcamp market is much the same.
I quit the Iron Yard right after Apollo bought them/imvested in them. I have to say, the situation was similar. Reminds me of DHH's semi regular rants about the pitfalls of selling your business... It almost always is a bad move for the product, and is often regretted by the founders, despite a large windfall.
Nailed it, did an online course with Kaplan a few years back (Diploma) and was pretty chafed by the experience. The content was dated, the "teaching methods" non-existent, with pretty ridiculous qualification criteria.
Thank you! I remember when in High School, everyone was worried about standardized tests, Kaplan and Princeton Review were considered horrible for SAT/ACT prep. Most of the top students reported that local prep classes were much better, despite having several standardized locations throughout each city (Testmasters for Houston, KD for Dallas).
It's not surprising that Kaplan, a company that relies on services that are supposed to improve performance but not actually teach, would suck at teaching skills. I think the debate should expand from just coding schools vs uni to comparing coding schools.
The rapid expansion was likely a huge part of why those coding bootcamps closed. Coding bootcamps generally aren't major educational institutions - they're usually more like recruiting agencies that happen to target people who are about 9 weeks of serious effort away from being entry-level developers. That is, they're limited by the number of high-quality applicants that they can find and vet, not by the ability to recruit teachers and refine their curriculum.
This makes sense to me and rings true to my own experience. I went to a bootcamp and the people that did the best were those with a good deal of prior experience, and thus able to digest the most information. Students coming with zero (or close to it) programming experience/effort didn't perform well.
I'm including myself in the "good deal of prior experience" group, I did fine in the class and in my subsequent jobs. My class even had students that had been web devs on less desirable stacks using the class to ramp up on rails and they did even better.
Yeah, one of the best-served demographics is "People who attended at least 2 years of engineering school and either did not graduate or are underemployed after graduation."
I think traditional education, university, has a lot of flaws. But I also think one reason college/university has been around for a "long" time is that the system has merit. That merit in my mind being grading rigor, deadlines, classmates, and office hours.
I haven't done a bootcamp, but I've done quite a few MOOC courses so my opinion is based on equating the two. This might not be a valid assumption.
To me, MOOCs and I'd imagine Bootcamps are good to get an intro to something new, but they can't replace rigorous study of a defined base of fundamentals...i.e. a course of study.
What seems like a real opportunity are programs like OSU post-bacc in comp sci, and GA Tech comp sci masters. I've been toying with OSU for about 2 years now, and haven't commited to it yet because they don't have some of the courses online that I'd like to take (computer graphics). And I haven't done the masters program at Tech yet because I don't want to get into that without a more solid foundation. To me, more schools with post-bacc in comp sci and expanded course offerings (online) would find themselves flooded with demand. Recently I signed up at UCLA Extensions...It is almost the right thing, but still has a limited offering and isn't quite the right fit.
Which courses are you doing at UCLA extension? I'm hoping to get into the GA Tech Master's eventually, but I know it's extremely competitive, especially as someone who doesn't have a CS degree.
Fundamentals of Software Development. If you are familiar with loops, if/else, simple functions that don't return anything or take any arguments, and using printf...I'd say give this class a pass. It is trivial really unless you are 100% unfamiliar with programming. Unfortunately, I didn't make that judgement until after the date where I could be refunded.
Most coding bootcamps are a complete waste of money. Ever since I launched https://edabit.com, I've noticed a ton of traffic coming from these bootcamps and I'm not sure what to think of it. On the one hand, I like the free promotion but on the other, I can't help but feel as though these people are getting ripped off (considering they can access the site for free).
I left The Starter League after the first semester when I realized the buyer's remorse of paying more per day than tuition at MIT. The prices for bootcamps simply aren't worth it, especially given the numerous online and self-paced options out there... many of which are free. How my story ended: I left the bootcamp and took a few Udacity Nanodegree programs for $200/month and (full disclosure) loved them so much that I applied for and got a job at Udacity. I really flourished in the self-paced environment, and found that I was able to learn a lot more, faster. Now, I get to go to work every day and build systems that provide affordable education for students across the globe.
There are so many amazing and cheaper options out there, and I cringe when I hear about people dropping $15k+ for the same (or better) content that they can get for 100x to INF-x cheaper.
I definitely agree that there are less expensive options out there, but self-study isn't for everyone. Also, one of the main benefits of these boot-camps are their career counseling services.
At the end of the day, if you're able to increase your salary from $30k to $80k, the extra $15k on a course seems well worth it.
agreed. I started learning on my own with books and the internet, and Zed Shaw and Chris Pine. I loved it. I then went to a highly regarded bootcamp to find that there seems to be no value placed on teaching and hiring great teachers. I'd take the internet, stack overflow, zed, and chris any day over a bootcamp.
Apologies for (slightly) off-topic, but I have a question about edabit. How much of a beginner can a user be and still get value rather than frustration from time spent on the site? I've been wanting to learn some real modern programming beyond HTML/CSS & some JavaScript for aeons, would your site be the place to do it if that's my current base?
Sounds like you're my ideal user. I created Edabit out of frustration with codecademy and other sites like it. They're essentially interactive books (poor ones in my opinion). With Edabit, I structured it to simulate how people naturally learn to code "in the wild" and added simple game mechanics. The challenges can be sorted in order of difficulty (start on easy and progress to hard), each challenge has relevant learning resources and a discussion area for questions. Do a challenge every day and you'll progress very fast.
I'm not going to say bootcamps work for everyone, but my anecdotal experience proves otherwise. I know several people who were interested in coding but didn't have a formal education. After a $15k bootcamp, they got a better job and doubled their salary. It paid for itself in less than 6 months.
Same thing happened during the dotcom boom/bust. Newly-minted MCSE (Microsoft Certified Systems Engineers) were coming out of the woodwork with almost no real experience, and immediately getting well-paying jobs ($80k-100k at the time). As soon as the bust hit, those certificates were worthless and those people moved away from the Bay Area in droves. They didn't have any real passion for the job, they just knew that they could make good money if they passed a few tests. We called them dot-com migrant workers, at the time. The traffic was actually pretty decent for 3-5 years on 101.
I assume the same thing will happen with bootcampers, because I feel like many of them that I've met lack the passion for CS that the better programmers have. I know a few bootcampers, a couple from HackBright and a couple at my work. One of the HackBright graduates never found a job and went back to her old job which was kind of depressing considering how much she spent. But the others were decent, not great but decent. But I would prefer hiring a good fresh grad with a couple of internships under her belt over any bootcamper I've worked with, mainly because of the depth of knowledge they would bring to the table. Let's be real, how much can someone learn in 12-16 weeks, compared to someone with 4 years+?
Newly-minted MCSE (Microsoft Certified Systems Engineers)
I had MCSE back in the day (my org wanted n of them so it could become a gold partner of Microsoft or something, and the perks such as MSDN subs and 10 support calls were nice).
What killed it was "braindumps", people weirdly undermining their own certification by posting the questions they could remember online, until databases of all the questions were built up, at that point you could literally just memorise the exam, or blatantly cheat in some locations. That was why it was worthless; but someone who had actually learnt the material the old-fashioned way would be competent.
I can't believe how much this looks like 1999. Remember "Will code HTML for food"? Prepare to see a lot of JavaScript developers hanging around the back of Home Depot...
Here in Minnesota we went from getting almost no developer applicants and unable to fill seats to a TON of absolutely under qualified applicants who went to boot camps.
I'm not sure it's an improvement.
We've hired a few, but only one has actually worked out.
Could you elaborate on what you hired the bootcamp graduates to do, what you mean by "under qualified" for the rejected candidates, and the gap between expectations and performance of the ones you did hire?
Do you remember from what boot camps these people were from? I understand you don't want to shame people but curious as to whether there's been much success from even the bigger, more well known camps
Current Data Science Student at Galvenize in Phoenix here.
I came from a mix of technologies (approximate knowledge, but a master of none) before settling into the data sciences (Python ecosystem).
Galvenize has been precisely the challenge I was looking for and so much more. I barely got by the interview process, but picked up a Veteran Scholarship worth half my $16,000 tuition along the way.
Quit my job as a Salesforce case jockey and currently trying to stay afloat with the curriculum.
It's intense. As it should be. I want it that way. Otherwise everyone would be doing it. A counter argument might be that; "every one and their mother is taking a 'Data Science' title for the pay." From 2013 to now, that may have a lot of truth, but they are eventually found out I hope.
As for my cohort. There is a Physics PhD, undergrads in Mathematics and Physics, an acctuary Statistician from an insurance company, a Mom, and Biology grad, and a Veteran. An elclectic group I feel.
At this point, half way through, we just want to survive and not wash out.
Finally, once capstone projects get rolling in a couple weeks and whom is left of us should be feeling pretty good about their accomplishment and competent to take on entry and junior level Data Science roles.
"There is a Physics PhD, undergrads in Mathematics and Physics, an acctuary Statistician from an insurance company, a Mom, and Biology grad, and a Veteran. An elclectic group I feel."
How can this work? I mean, I can understand those with a math background being there to learn the tooling and programming, but how can a mom (presumably with no prior education?) and a vet (also presumably without any other qualifications) keep up? Or, if they're teaching at the level of 'this is the slope in a linear equation', what's in it for the math guys? I just don't understand how this sort of thing works in real life.
It's implied that the vet is the commenter themselves ("picked up a Veteran Scholarship worth half my $16,000 tuition"), who "came from a mix of technologies (approximate knowledge, but a master of none)" - hardly "no qualifications."
There's no reason to assume the mom isn't similar (many stay-at-home mothers in the US have college degrees).
Who gives a shit where or how you learned to code. What a stupid and indirect way to filter candidates.
Just show me what you've done. Send me repo links, production code, or even just the end result with some sort of proof that you actually built it. That's the best part about any craft - practicing or building something creates tangible results. If you don't already have a portfolio, get to work on that before you start applying.
That's great for front-end guys, but it's frustrating to me as a back-end developer to have expectations that I can show live examples of my past work to potential employers when I've spent years designing and building enterprise internal systems which have no visible result outside of the code itself, which is under strict NDA.
I get it, development is a craft, it's easy to judge the quality or experience level of a coworker after having to deal with their PRs for a month or two. However, it's not like any toy project I could throw on github is going to have real relation to the actual work I do, and trying to replicate e.g. some of the third party integrations I've written internally as public stand-alone packages is going to get me fired and sued by an overprotective employer.
This isn't a hypothetical fear either, multiple times I've gone through phone interviews to a "lets review some of your past work" stage, and my "I can't legally show you any of these things, but here's general descriptions of some of the major internal projects I've led or handled solo" has resulted in failing to make the next interview round.
Have you tried putting together an abbreviated version of your work on github? I've had success with toy utility apps to demonstrate my coding style and basic competencies because I am in a very similar position. Generally I've found it's less about having a large, completed application and more about having a solid chunk that's well architected and demonstrates an understanding of best practices. Like I have a bare bones UI WPF app with multiple projects, dependency injection with a stairway pattern, thorough comments, and decent though not complete unit test coverage. It doesn't do anything special and it only took like a weekend to put together, but it shows I know what I'm doing. It's a private repo and none of the code shows up in Google searches so it's also pretty clear that I didn't just copy and paste someone else's work.
The sad reality of software engineering is that the wast majority of code everyone writes is not something they would want to show in an interview. Even if they legally could, which is rarely the case for commercially developed software.
Heck, even reasonably good software can produce a very negative impression. Utilitarian code can be seen as ugly or overly simplistic. Elegant conceptual stuff often runs the risk of grinding against biases and preconceptions of the particular reviewer.
Your first argument is true, but I would argue that if you already know what you're doing, you can write some demo portfolio code specifically to show off your skills in very little time. Make that code pleasant to read, free of legal constraints, and be ready and able to talk about it. You probably will spend at least 40 hours a week at your job and it will dramatically affect your life. That's worth spending a few days, maybe even a few weeks preparing for so that you can get one you like.
For your second argument, I know what you mean, but that's also totally subjective, dictated by chance, and would apply equally across the board for all candidates. Even if that happens, it sort of naturally levels itself out competition-wise.
Also, remember that you're evaluating the employer too - do you want to work for someone who chooses employees that way? Would you want to work with someone who has a closed mind and an axe to grind about certain concepts? I wouldn't trust people like that to make good decisions that will make the company succeed, thereby keeping me employed - let alone providing opportunities to advance. Plus they sound like they'd be a pain in the ass to work with.
Produce it on your own time, using no company resources. If a company claims ownership of everything you produce in your own time using your own resources, you've signed the worst contract possible and the company should go out of business. Most of the time, they claim things you make using their resources or company time. Avoiding that avoids most issues.
Anecdotal, but most companies I've worked for have policies that claim ownership of everything I produced in my own time on my own equipment. I think that's the rule, not the exception.
You're right, maybe not the right thread for this.
I was commenting less on the article and more on the general disdain for bootcamp grads that seems to crop up in every article or thread about them. It always devolves into whether people with this education or that education are any good, and it's just completely irrelevant.
How do you know how much of the work person has actually done the work in the repo rather than fork and change, or even recommitting the files, copy-pasta, etc.?
Sort of off topic, but in the second picture the whiteboard says "Ajacks" (and not ajax, for asynchronous JavaScript and xml). Makes me wonder how fast and loose they were playing with instructors, unless this is just a staged shot, or maybe a joke I didn't get.
Not that you need to know what the acronym stands for (hell, no one I know uses the technique to get xml anymore anyways!), but it is weird to see the details wrong in such a detail-oriented discipline, and wouldn't people wonder where the name came from?
No, it's completely on-topic! These bootcamps are not teaching these people how to be effective developers when they skip the "hard stuff" and bring in the lowest common idiom in lieu of that. It's so difficult to try and re-teach people this exact concept--try explaining to someone who knows nothing but jQuery and AJAX that a promise has nothing to do with fetching data.
Sure, our UX/UI guy does "AJAX" to create working prototypes of his designs before handing it off to be stuffed into React / Ionic / WhateverJS (which is quickly becoming the standard requirement for a UX person), so it's not obsolete tech by any standard. But let's not act like "boutique" web dev shops are actually still a thing... stay relevant people, especially if you're paying those sorts of fees to show up and learn how to build an Angular2 app on headless Rails in 2017.
I think it's a joke. I doubt that the instruction is exclusively verbal; they must have seen "AJAX" somewhere along the line before whiteboarding Web applications. They're just having fun.
> ["Ajacks"] Makes me wonder how fast and loose they were playing with instructors...
Yeah... but that's just one word on whiteboard totally out of context. You don't know who wrote it, it could have been a student literally writing it for the first time after hearing it uttered, or perhaps, the instructor was spelling out the correct pronunciation to discourage folks from saying "A-J-A-X". Whatever the case, this doesn't make for a good "gotcha."
IMHO, there's too many jargon-jockeys in this field and not enough people who can truly explain things. Getting the acronyms strictly correct is the least of the problems.
If I was making dummy applications to show basics of how browsers, networks, web servers and databases work (which it looks like the rest of the picture is doing), I find it wholly plausible that someone comes up with a play of words on fundamental concepts like that.
Groups pick a team name for their projects, and they clearly picked ajacks as a play on "Ajax"... Possibly they also have 2 people named jack on the team.
I went to 2 bootcamps The Starter League Web Dev '12 and Mobile Makers for iOS Dev '14. Neither of the bootcamps are still in existence today. I feel fortunate to have gone through them when I did. Post Bootcamp I did independent work for 5 years, Web/Mobile Dev, before joining a startup.
IMO Bootcamps are great, people try and add up the cost and run the numbers, but the experience of growing and struggling through stuff with others, in an in-person environment, was enriching.
If there was a Kotlin Bootcamp in my area I'd be interested in learning more.
I've always had a problem with the phrase "learn to code." It assumes just being able to encode a thought in a programming language is good enough. It isn't. Having a thought worth encoding is what separates "super junior" devs from ones who actually know what they're doing. Being able to formulate worthwhile, efficient solution to problems takes more than 12 weeks to learn. There's no substitute for time and experience. One of the reasons traditional college works well is that it forces you to spend a long period (~4 years) immersed in the discipline: thinking and reasoning about computer problems. Do you come away from that with everything you'll need to make production software? No. That still necessitates experience. You will, however, be able to learn from that experience more efficiently because you've got the fundamentals.
I work at a large company that absorbs tons of MIS/CIS grads. The non-CS grads that excel are the ones that are constantly hungry to teach themselves new things but for the most part they suck compared to the CS people. I can only imagine how much worse these bootcamp folks must be.
Can someone remind me why boot camps were even a thing? What employer wouldn't be more impressed by a work sample? One possible plan:
1) Define success before doing anything. Pick specific companies or a specialty you want to end up with first.
2a) Take the three months (or however long you can afford to invest) and work backwards. Figure out the most impressive and relevant project that can be reasonably be accomplished in that time. Make sure it's part of a hot trend because the time spent is probably the same regardless.
2b) In parallel, network and build the best quality contacts you can in your target area. Blog about any interesting observations made as the project progresses. Come right out and say in your posts that you are doing this in hopes of building skills, experience, and proof of your abilities, and say where you want to end up.
3) When its done, make it public online make sure it presents with visual appeal and with cogent explanations. Ask for feedback from your contacts, because that's your excuse to show off: "sure was challenging but I was able to go from zero to learning and building this in three months!". Ask for feedback because it's your chance to ask about openings and interviews. Ask for feedback because you really will need it.
How does somebody new make a good project choice, when taking into account everything that would actually be impressive and help land a job would require years of experience to know? You can't without feedback or validation, so don't make the mistake of choosing solo. Just ask people who are in the target area to help you decide. Lots of people would be willing to give input and it's more chances for networking and follow up conversations.
"How does somebody new make a good project choice, when taking into account everything that would actually be impressive and help land a job would require years of experience to know? You can't without feedback or validation, so don't make the mistake of choosing solo. Just ask people who are in the target area to help you decide. Lots of people would be willing to give input and it's more chances for networking and follow up conversations."
If only there were some sort of...educational institution...that could put you into contact with people in the target area and get you that kind of input, even if your personal network doesn't already include people in that profession. And that could help you figure out the most impressive and relevant project that could be reasonably accomplished in a short time. And that could provide instructors from the industry who could provide immediate, rapid feedback on your projects. And then, maybe that institution could connect you to a network of quality contacts composed of previous graduates and contacts from the instructors' time in the industry.
This is misleading. I hope if anyone here is in the process of choosing, they will consider that making these contacts would likely not be that difficult. Reason is, the type of contact determines the difficulty.
Building a high quality sales contact list and network is extremely difficult, it can take decades. It's not uncommon for salespeople to be hired mostly on the basis of their rolodex.
Conversely approaching someone to ask for career feedback is much easier. In general, people don't want to be sold something, but they don't mind helping out an up and coming person in in the field. It can even make them feel good they were respected enough to be asked.
Omg... with that kind of intense training and focus... it would make sense to call it something like "boot camp"! Let's do it! Shut up and take my VC money.
I agree this is probably a 1000x more effective way to get hired at engineering firms that are seeking out top talent.
I think a big reason coding bootcamps exist is because the mental model is that "pay money -> software job" -- it's an appealing idea, and doesn't necessarily mean the person is not going to put in the effort, but it's broken.
I think it makes logical sense to someone that if they are going to pay lots of money for something, they think they are going to ultimately have an advantage over someone who took the path you mentioned, which is basically "free" other than opportunity cost. Surely, they must be getting something valuable for their money. Think of similar things like SAT test prep or other forms of job training that actually do legitimately teach trade skills that result in job placement that are hard to learn without experienced mentors, in person training, or expensive equipment.
Unfortunately, the reality is the opposite in software engineering due to the nature of what we do and what makes people really good. You don't need much other than a computer, an internet connection, and focused time to build something noteworthy enough to cause potential employers to notice.
The person above who built something from scratch on their own stands out head and shoulders above the sea of applicants from coding boot camps who have only done coursework.
Of course applicants "who built something from scratch" will stand out above bootcampers, and some can get into big tech firms with just a "computer," "internet connection" and "focus[]", but that's also a really tall order.
There's nothing wrong with a "pay money -> software job" mentality, as long as the person is interested in the work, and puts in the effort. I know several people who came out of college with a humanities degrees only to become a poorly paid social media consultant or something similar. They didn't have the know-how to get started with software development on their own, but they enjoyed working with tech and were smart. They paid the $15k to the local bootcamp and within a few months got jobs increasing salaries from ~$30k to $80k (I know one who started well into six figures).
We shouldn't lock people out just because they didn't get into coding at ten years old. Bootcamps often lead to solidly paying entry level coding jobs, a great lifestyle, along with the gratification of actually building something. Bootcamps serve a real need between self-study and a heavy-handed multi-year BS or MS. The driven MS or self-study guy or gal may get the better job, but bootcamps will get the candidate in the door quickly, and they can prove themselves while on the job.
You disagreed with me, but upvoting your comment because the counterpoint is compelling.
It's easy to assume resources are the key point - are people with less time/money well served by these bootcamps?
However, it makes sense that individual personality traits like motivation, ambition, and comfort level with uncertainty / cutting your own path could matter.
As aside I've always felt successful STEM people receive unbalanced praise, always credit for some ethereal genius, not enough credit for maniacal drive, near clinical obsession with goals, gall. Does the general public realize that everyone from Einstein to Musk would have been greatly diminished without these qualities?
Motivation, ambition, and comfort with uncertainty are definitely huge factors in a successful career. STEM people are experts in their field, and they have a mountain of seemingly magical knowledge, but respect for their "genius" ignores these more universal and often more desirable attributes.
I friends with an incredibly intelligent patent lawyer who quit her job to become an FBI agent. I know another really smart guy who took a huge pay cut from his big-tech job to be a reporter for the Wall Street Journal. They didn't quit their technical fields because it was too hard, they could easily handle the STEM jobs when they were thrown at them.
I look at them now and see an even greater level of professionalism than they had in their previous positions, and that comes with a greater respect. Many STEM jobs often get that self-respect, and probably also FBI agents ans WSJ reporters, wish the same could be said about many other positions.
Can someone remind me why boot camps were even a thing?
There was a sense among some that webdev had advanced to a point where the skill of labor needed had declined to cogs that could be squirted out by a crash course.
Ofc, there were always people willing to take the opposite perspective: that advances in the state of the art of development are continuously folded back into development processes. And there aren't roles that still require man-time after driving the skill barrier to zero because that becomes tooling given to the internal customer that specializes in a different part of the business.
But payroll and management salivate at the cog idea. So we got to see the idea be tested in the marketplace and prove out what was fantasy and what wasn't.
I think it's just natural consolidation in an early-stage market. There's only going to be room for a few major brands in the space, and then some niche players in particular regions and specialities. A lot of also-ran bootcamps are just trying to cash in in the meantime.
I remain a big believer that bootcamps will continue to supply a lot of the talent in the tech world, particularly in app development. I know too many success stories to think otherwise.
It's almost as if putting huge expansionary pressure on (mostly) locally-minded organizations causes them to fail. Who knew?
A couple of cherry-picked examples don't mean the coding bootcamp industry is going anywhere. IMO, there's no reason to panic until these bootcamps are being advertised alongside x-ray technician jobs during midday reruns of Judge Judy.
Now, the glut of junior devs entering the market - that's something to be a smidge concerned about.
The struggle to choose your domain: Web, Mobile, Embedded, Databases etc.
The struggle to choose the programming language(s) / technologies to learn.
The struggle to choose in which order and from where to learn them (for free).
The struggle to choose your Code Editor / IDE.
That's a lot of time spent learning about technologies to make the right decision for you, and googling for answers.
But guess what you'll be doing as a Software Engineer :)
I didn't go to one but I imagine those decisions are being made for you.
But I know about the struggle, and I remember it with pleasure and satisfaction.
Let's face it: People that go to bootcamp on the whole are not in the same set of people that have passion for programming. Most of those people discovered very early on their passion for computers, and either went to school for it, or are self-taught and don't need a bootcamp. I'm not saying it's impossible to meet someone that didn't know they looooved programming until they were 35. I'm just saying that most of the people in bootcamp are after the promise of salary to the exclusion of having a passion for computers.
At the annual Denver Startup Week I notice about a third to half of the startup industry is incestuous, that provides facilities for developers to work better. These are mainly code academies and coworking spaces. I feel if the tech industry ever ever has one of its periodic down turns, then this it could rapidly implode with all these developer services.
The reality is about half of the workers entered the tech industry since its last major down turn during 2000 - 2003 and live in the fairy tail land that it could not happen to us. Welcome to economic reality, suckers.
Don't count on that. If an economic downturn happens, it's entirely possible that the less experienced, but less expensive developers will do well. It may be the experienced one will feel the hurt.
In recent downturns people without college degrees got burned. HR could ask for more credentials, even if they were less relevant than experience.
Its just its been so long since the last IT downturn, the newbies feel invincible.
These boot camps are just this decades iteration of the "tech/programming schools" of the 2000s.
In the 2000s, tons of programming schools were created to exploit the lax student loan programs. They would bring in countless people and charge then $10K or $20K or even more to teach "programming" that you could realistically learn on your own. But it was so easy for people to get student loans and it was so easy for these schools to get people low-end programming jobs, that they made a killing off of it.
After the financial crisis and the crackdown on ineffective "programming/tech" schools ( especially their student loan programs ), these guys rebranded and remarketed themselves into "boot camps" which take a portion of your future wages.
When times are good, pretty much anyone who can type of a keyboard can get a job, but when a recession comes, these "boot camps" graduates are the first to be let go.
So my guess is that these boot camps expect a recession soon and are cashing out. Maybe they are the canary in the coal mine. Maybe the tech bubble is going to pop soon. Given how much they charge (10 to 15%) of the wages for the first few years of their graduates, I doubt they would leave so much money on the table unless they feel a shift in the economy or hiring is coming in the near future.
> Two specific coding bootcamps that 1) had been acquired by for-profit education conglomerates and 2) underwent relatively rapid expansion into second and third tier tech markets went out of business.
> As evidence of a larger trend, this article cites a single quote from the CEO of "a private lender and an alternative accreditor for the fast-growing boot camp sector." This is unpersuasive.
This article quotes Ryan Craig of University Ventures vs Rick O'Donnell of Skills Fund, to nearly the same effect.
So: big name closures of two bootcamps with similar pain points and acquisition contexts, vs. seemingly healthy expansion and unchanged placement rates for schools like Flatiron (mentioned in the article), Hack Reactor, App Academy, General Assembly, and so on. Further consolidation in the field wouldn't surprise me, but are we really observing a trend worth reporting on?
Once recruiters figured out that placing these under qualified people into jobs was not a good thing, the bootcamps started to train people how to fake their resumes. Just like how people figured out that if they want a specific job, they only need to update their resume to include all the keywords in the job description.
When I was hiring and screening hundreds of people, applications would show 'projects' completed on them as if they were real work. Hired.com was full of this for a while until they started blocking them there too. People would go so far as to make a domain name for a class project appear as if it was a real company. You'd go look at their github and realize they only made a few commits towards the 'project'. How is that a demonstration of skill?
I'm sure a few people have come out of these bootcamps with some real knowledge and skills. But this is the edge case, not the norm. You can't shortcut your way to a well paying software engineering career by spending a ton of money.
Folks gotta start somewhere. If someone is sufficiently capable and motivated to put together a basic app why not count that experience? Surely if they built it then their work is exactly a demonstration of their skill.
It was a 'team' effort. So, when you go look at the git history of the 'project', you can see who in the team actually contributed. Usually, it wasn't the person looking for a job. Then you wonder, ok, maybe shared computer... which makes it even harder to figure out. How is that a win for people who are paying tons of money to get an 'education'?
I believe strongly that software engineering is an art form that requires tons of practice to get good at. As such, you wouldn't expect a designer or artist to show up at an interview and not be able to show examples of their work. Just like a software engineer should be able to show something as well. Of course, the counter argument to that is maybe they didn't have time to work on something extra curricular. Except for the fact that the people who did the extra curricular work in high school, got into better colleges. Go figure.
Even worse is that I did try to interview some of these people and it became clear that the bootcamps were about training for the minimal viable education. Leaving a lot of basic fundamentals out. I'd ask what idempotency is and get blank stares. So sad.
Yes, you have to start somewhere, but that doesn't mean you are immediately prepared to get a job as soon as you graduate. That is part of the broken promise of these bootcamps.
Idempotency is a good example of a trivia term that would be unreasonable to expect most recent CS graduates to know. Not to say that it's not a valuable property for a service or library or whatever to have under certain circumstances-- but it's not a reasonable way to decide whether a candidate for a junior position is a good fit.
Huh, I did a diploma in computing (UK) in my spare time about 12-16 years ago and remember covering it in a databases module (and possibly when doing OOP with Smalltalk?) - I'd go with "it's about repeatability, knowing that sending the same request, eg SQL query, will return the same results".
That's a little off the mark, as I've checked, but I'd think a full-time CS (as opposed to programming or computing or IT) student would be able to define it very readily ...?
If they submit projects they did not contribute to then that is an issue. Your other points however, I disagree with.
- all code I write commercially will have dozens of contributors. It's a team sport and you need to be able to play well with others to succeed.
- the best place to get experience is in the works place. That is why folks hire juniors. They will have massive gaps in their knowledge, but they will also be keen and in learning mode. Help them improve and become great developers. They will do much better in a commercial environment with good guidance than struggling at home alone
I wasn't arguing against working with other people. LOL.
What I'm saying is that you should have clearly identifiable portions that you can point at as something you did. I also think that it takes extra curricular activity to truly master a subject. You can't just rely on others to show you everything. You have to experiment and learn on your own too.
>>When I was hiring and screening hundreds of people, applications would show 'projects' completed on them as if they were real work.
You have to start somewhere, right? Those projects may not be "real" work but they may be enough to have given the candidate exposure to various problem domains and experience in solving problems using code, which should really be sufficient if you are hiring entry-level devs.
I mean what is the difference between the projects I do on my weekends and the projects a code school student completes as part of their curriculum? At the end of the day there is only one thing that matters, and that is whether the candidate you are interviewing has the necessary skills and insights or the potential to gain them.
Keep in mind that many computer science graduates can't even solve fizzbuzz.
"Keep in mind that many computer science graduates can't even solve fizzbuzz."
I have encountered far more people who repeat this "fact" than I have encountered CS graduates who actually cannot solve fizzbuzz.
Closer to the truth is the statement that many computer science graduates can't solve a topcoder-elite problem, on a whiteboard, within 45 minutes, while talking out loud the entire time. Because that's closer to a real-world "fizzbuzz test" than anything I've seen on Joel Spolsky's blog. (sadly)
The difference between the projects you do on your weekends and projects a code school student completes are absolutely immense.
An applicant with strong weekend projects implies:
- They have a passion for building software
- They are self directed learners
- They have the initiative and determination to build things and ship them
- They managed to navigate problems without having an instructor hold their hand
- They actually did the work, and aren't taking credit for a group effort they may have had minimal impact on
Code camp projects don't say much of anything either way to me on a resume. They don't rule out the above but they don't support it either. They basically say:
- I care enough about learning to code that I paid for a code camp
- I didn't get kicked out or completely fail out of the code camp
- I realize that employers value seeing projects on resumes
To me putting the code camp projects on a resume when they are not clearly marked as being part of that code camp is as dishonest as doing it for college projects when they are not listed under your education background. I've seen countless resumes come in where the projects from code camps are presented in a way so that the recruiter/hiring manager thinks they were self directed projects the person did on their own. The code camps know that this is a strong signal for top talent, and so they mentor the students to craft their resumes to mask the fact that the projects were assigned work.
The result of this, sadly, was that enrollment in code bootcamps became a first order screen for me. I'm sure there were some good people in there. But the work required to actually decipher what the resume was actually telling me required too much effort. (It would require opening the projects they did, trying to figure out if it was assigned or not, if it was a group project, and what contributions they made directly.) In the end, this combined with the fact that many code boot camp applicants are woefully underqualified made it not worth the time to sift through them to find the best ones.
As I said above, 'group effort' doesn't mean the person actually did the work or learned anything really. A project YOU do on the side means that YOU did it. =)
It's easy to bash these code camps saying they don't do a good job at teaching people the "real stuff" like traditional education does. People graduating with CS degrees are probably on average better than a boot camp grad but they likely spent 8x the time and money. And most of then still need a lot of investment from their first employer.
Education is broken on both ends. Spending 4 years teaching yourself will get you way farther than a CS degree will. Code boot camps need to focus on teaching people how to self learn because that's really the only thing separates average engineers from great ones.
> Spending 4 years teaching yourself will get you way farther than a CS degree will.
For the extremely disciplined, maybe. For the rest, no.
Traditional schooling helps in two ways. First, they point the way to the important and useful stuff. If you're coming in knowing nothing, it's hard to figure out what to study. A good school will tell you. Second, they make demands. They set assignments and exams, grade what you did, and hold you accountable. They push you harder than you would push yourself, and that's really useful for anyone who is less than perfectly self-motivated, which is most of us.
Firstly, I work with a ton of people who came out of the Recurse Center (formerly Hacker School) and I've been consistently impressed by them. It seems to be a pretty self-paced thing, so maybe the people who do well there are the sorts of people who are excited about what they're learning, and I'm sure there's a layer of filtering at the hiring level. Just my personal experience.
Secondly, I think that while learning specific skills (app development, web development, etc) are really good things, they should totally be a layer on top of a core foundation of good computer science concepts. "Learning web development" ideally means "learning how to apply the concepts I know to the web environment", not "learning how to build a website The Right Way™". I totally blame inflexibility in these bootcamps not from their inability to adapt their course material fast enough, but on their lack of good conceptual foundations.
I've met some alumni of the Recurse Center. They were all career programmers or hackers prior. It is not a boot camp like the ones mentioned in this article.
The article talks about the closure of a couple of bootcamps and then holds up a few others as examples of ones that are getting it right.
However, it fails to give any solid evidence that any of these exemplar schools are any more stable/less likely to close than DBC and IY. Are they profitable or propping themselves up with VC money while trying to find product/market fit? If they're profitable, how profitable (and for how long)? What did they do to get there (layoffs, campus closures, pivots to a new focus)?
The quality of their grads aside, I wouldn't be surprised at all if some of the schools mentioned in the article also end up closing their doors in the next year.
The US Navy gets some IT work done by Information Systems Technicians. It's not clear from the job description, but they seem to be something between software developers and sysadmins. They have 24 weeks of training, which is comparable to a long civilian bootcamp. Anyone know if they're any good?
And you get loaded up with a bunch of very relevant people skills like management skills, and it will teach you all the je ne sais qois about yourself that you normally see in commercials for the military. Stuff like discipline and perseverance and drive. There are few other places in the world that will hand a teenager as much responsibility, trust, and purpose. There are some kids out there handling millions of dollars' worth of equipment. Plus, you can travel, you'll get into the best shape of your life, and they'll even give you a free pair of boots.
Was in the navy, not as IT, but I had friends who were. Way, way, way more on the sysadmin and traditional "IT" side than software dev. I doubt most of them could code at all, other than things like simple bash scripts. Zero CS fundamentals.
Many of us like to compare software development with other engineering disciplines. I like to compare it to playing music. Sure you can learn to play some simple songs in a couple of months, but it takes lots of effort to master an instrument. Like musicians and sports players, there is no easy way to become really good as a software developer if you don't start as early as possible and dedicates your life to it.
Coding bootcamps are just trying to sell a short path where it is not possible to have one.
You can study computer science and software engineering at universities. (Bachelor/Master of Science/Engineering)
You can study it at universities of applied science.
You can study it (without degree only state-certificate) at a school. (Staatlich geprüfter Informatiker)
And you can also do an apprenticeship in software development. (Fachinformatiker für Anwendungsentwicklung)
All are mostly free of charge OR you will even get paid doing them and you got an officially recognized paper that tells the world that you know stuff.
I realize everyone is generalizing but it's easy to lose sight of something really simple: Different jobs require different skills. Not everyone on the team needs to know how to make complicated architecture decisions or write the most efficient sorting algorithm. Personally, I'm happy when there is someone on my team who can do the things I find boring...even if they don't have a "passionate" interest in learning more.
> Not everyone on the team needs to know how to make complicated architecture decisions
depends on what you work on. on my team everyone does need to (at least with guidance). that said, we only really hire those with significant experience OR college grads who have already proven themselves as interns on the team.
Got to go to DevMtn for free in 2016. Got kicked out for smoking weed and they gave me a full refund out of pity. Learned enough to work 2 dev jobs in Utah, enough to realize what I really wanted out of life vs. what I thought I wanted.
Buying a Jeep soon and will be working remotely while roaming North America in 2018. Hobbies include: photography, writing, painting, hiking, design, animal rescue.
90% of jokes at DBC are programming word play jokes, so...I would not be surprised to learn they are building a storefront that sells single jacks for playing jacks.
One of the biggest differences between bootcamps and traditional schools is that bootcamps often measure (and market) their success by job placements. Most large universities have entirely different incentives, often based on honors from research programs and large funding grants.
If your goal is to get a good job and you don't have a strong background, then these bootcamps are a fantastic resource.
Another reality check for the boot camps: students are finally getting wise to some of the issues. A major camp in NYC decided not to offer another web dev course because enrollment was so low. As the raging issues in tech with respect to ageism, sexism, and racism get more play, prospective students think twice before leaping. I can only offer NYC observations, and not an official study, but employers won't hire much over 35 here. And if you are a woman or of color to boot--- forget it, its like trying to be a famous actor in terms of opportunity for you. The bootcamps are more than happy to take the money of people of color, women, and over age 35 beginners without a word to newcomers who ask these questions before they enroll- these concerns are brushed aside. What is worse is that if you look at the employees at several of these boot camps, the faculty is under 35, and often 95- 100percent white and male. Often, if there are women employed there, the women are not just young, but the youngest. Or perhaps they have a woman faculty member, but she is kept off their website. (specific NYC example- can't name names, but just look at the boot camps' websites in nyc and you will find the one. - the one with no women listed as faculty- they do have one woman- they just keep her from public view on their website) This kind of blatant discrimination looks very amateur in NYC where companies who have already been sued try to be a bit more subtle about discriminatory practices) these bootcamps staff themselves in a mini replica of this industry as a whole- not w an eye toward positive change re:inclusion. But they preach it all day long. Perhaps they think they are really helping without taking a good look at themselves. I'm trying to err on the charitable side. And I'm not saying no one at all hires women or people of color or people over 40, but nearly all the boot camp founders tend to be middle aged and then hire staff and faculty who are under 40, white and mostly male. If asked, I'm sure the words "culture fit" would get uttered. I'm frustrated at watching too many exceptional programmers in these categories who have lots of valuable experience get passed over for younger, whiter, and more male folks w no experience. A former restaurant server with zero teaching experience/ability/empathy should not be hired as faculty at a bootcamp over a CS grad w teaching experience who former students love. I was "taught" by such a person at one of the top bootcamps. He and many others there had no clue how to teach. Their idea of teaching is to verbally code up a project while a student listens. He was not an exception - he was the rule there. The lawsuits are already in the pipeline, and that will provide an official data set soon. Whoever escapes these will get to move the model forward and hopefully do something about these issues and drive some positive change- not just give it lip service.
Because dozens of bootcamps are churning out tens of thousands of candidates a year. There's only so many entry level positions to fight over, especially if they all have essentially the same skill set (full stack web).
Universities churn out teens of thousands of candidates every year as well. Actually there are at least a thousand universities in the us. Let's call it 30 cs students at each. That's 30k. Stanford has 574 last year in undergrad / 4
His point was that thousands of people coming out of bootcamps were saturating the market. My point is I think the market is bigger than that or bootcamps wouldn't exist.
Maybe you are correct but I think that bootcamps are created for attracting people to spend their money on a premise that they will get payed very good as programmers.
There is no STEM shortage and hasn't been for decades. Unemployment for CS grads in the UK is 14% according to the Graun (other sources have it at only 13%). And these people want to charge you a fortune claiming they can teach you better than a 3-year degree in a few weeks.
That's easier said than done. Which visa do I get if I'm a British citizen who wants to work in
the US? The only realistic option is the H1B. This requires me to have a job offer already, can only be applied for at a certain time of year, and makes switching jobs a pain once I'm there. All the other visas either (i) have no path to residency or (ii) are very difficult to get.
Huh? The main difficulty lies in getting authorization to work in the US, and EU citizens don't get any kind of preferential treatment in the visa application process.
Remote interviewing is easy now. We have Skype, hangouts, etc.
First, our salaries aren't high compared to the value we generate for these companies.
Second, the relatively higher salaries we get out here are driven by two things: 1) the number of companies competing for talent and 2) the artificial scarcity induced by how they define the arena of competition (over-focus on "CS fundamentals" and under-focus on engineering fundamentals).
If demand is high, because of a large amount of companies that are competing for talent... And supply is low enough that it can't fulfill that demand, then that is a shortage.
Supply being unable to fulfill a large amount of demand is the definition of a shortage.
Is that for CS itself? The stats I've seen published in the past bundle lots of computer related subjects together, which massively distorts the picture.
Once you consider the consolidation of the web into a few companies, and the news every week of another company outsourcing jobs to low cost locations, it's clear we are near or passed "peak tech" in the West.
People paying for training should look into things that can't be outsourced.
I got started in software through the Flatiron School. I spent three months learning a lot about development in general and iOS development in particular. I came out of it ready for an apprentice-like level of work: skilled enough to get paid, best fit for a company offering mentorship.
It was not a three-month CS degree, nor did it pretend to be. Comparing a person who changed careers as an adult to someone who started studying the subject in college is disingenuous. Also, comparing a person who needs guidance, colleagues and to start making money soon to a person who has 6 months or a year to spend learning on their own is similarly suspect. The fact is that if you came to software development by traditional school or self-teaching, these programs weren't trying to help people like you. Understand that people with different backgrounds can still contribute even if they don't contribute in the way you do.
As for the ability of folks coming out of these programs, it's a bad idea to equate all bootcamps with each other or all people within a program. A few years ago, there was a gold rush to this industry, so there will be jokers in the deck. Still, there are many talented, hard-working people for whom these programs were the best option. You don't have to hire them, but take them seriously.
P.S. - Traditional education and self-teaching do not have bulletproof records, either. I've spoken to lawyers who are disappointed in the ability of most Ivy League grads they interview. I've also spoken with many folks who tried to teach themselves software development but never built a full skill set.
1) Most of the bootcamps teach the basic of front-end, and a lot of them, teach by doing without explaining a lot of basic concepts. They are basically money grabbers and throw these people out of the door as fast as possible to get their money back.
2) A lot of the students are in for the money, not for the love of the job. Sorry, but it's true. I don't mean to include everyone, but out of 30 students, only 2 kept working in my previous company, they weren't good developers, but they loved the job and kept learning and improving themselves. Nothing wrong with pursuing a good paycheck, but in developers world in order to keep being relevant in the next 2/3 years you need to keep sharping your skills.
3) The best developers I worked with are the self-taught guys/girls who learn on their own before they even hit the college. The most boring developers I work with, the the ones who only learn to code while in college and never developed any interested to learn before that. But the most horrible devs I work with came from boot camps. Not their fault, it's just how bad these bootcamps are.