It's simply just not the reality, at least from my perspective as an architect at relatively decent sized consulting company (600+ people). It would be extremely unlikely for us to hire someone without a 4 year degree in a relative discipline (CS, software engineering, etc.). That's not to say we don't hire people without a 4 year degree, but those people have years of hardcore experience and are just as advanced/mature as their counterparts with degree - a far cry from taking a few online courses and declaring yourself "a coder".
I'm not trying to be an elitist or anything here - just being realistic.
Someone with a CS degree is not a developer.
A subset of companies think you need a CS degree to be a developer. Yours is one. That you work somewhere that is so vehemently anti-autodidactic programmers means you are incapable of objectively judging.
In my experience good developers don't have to have degrees and there are many bad developers with degrees.
Basically, degrees are a poor indicator of developer skill.
In reality, programming is a vocation, not an academic subject and many academics are very poorly suited for programming.
There are genius programmers who don't need a CS or related degree. They are exceptions, though, not norm.
I am not affiliated with HR and have not met them, but I like their approach on paper and could see it making a big difference. I have met people who have graduated from different programs. Some are ready, but that is largely a product of the person...not the program. I do not feel as confident about all programs generally.
I think what you are thinking is that people get knowledge, but not capability but things do not have to happen that way.
Maybe sounds odd but the mission for these guys and girls is actually never to get a "job", its actually to build prototypes of their own ideas or start freelancing as a web designer, doing small sites for friends and families then sourcing clients and using it all as a way to perpetuate their learning.
I don't know how many bootcamps get those kinds, but its become the majority of our student base.
I think for these people in particular bootcamps is brilliant. Though the problem with training good engineers for jobs in established companies still remains.
However, taking X amount of courses definitely does a disservice to the seekers - it is a huge amount of time investment to become immersed in learning enough programming to get a job, and how much you actually retain is one of the most important factors, as well as willingness to learn more.
- "Googling for solutions is key"
- "Marketers are the best at research"
- "#2 is copying cool things"..."this is a key philosophy for you to understand how to use other people's code"
Ah yes, because that's exactly how professional software engineering works. I don't disagree that what people build is an effective way to judge them, but I question your organization's ability to effectively judge a project through the lens of professional software engineering.
Please please correct me if I'm wrong, but your perspective as I understand it right now is that if you code at all, anything, what you should adhere to is an equal practice of social concerns and responsibility as someone coding international train schedules that manage thousands of lives in transit. Anyone who doesn't teach, or doesn't want to learn that way... ?
Emil's quotes from the video speak, from my perspective, more to the reality of learning from the standpoint of no infrastructure. No real previous experience with code. We want to get people excited about technology, excited about learning to code. Part of that is making easy to grasp, making it easy to problem solve. Teaching people in ways that keeps them energized and self-sufficient to make quick progress, and see that progress happening. We want people to grow and study, to explore their interests in code and perpetuate their own learning. I don't see how what he recommends in the video goes against any of those principles as they are starting points to becoming a developer. Ways of investigating new code, ways to problem solve when you're stuck. Coding complex and life-changing pieces of software is not where it starts, its not what we're trying to, or claiming to teach.
But lets flip that. Lets assume I'm still totally off base here (that's alright, you don't have to assume, you can just keep thinking it! ;-)). How would YOU motivate and excite people to learn code. How would YOU educate them, help them take the first steps from total beginners towards being able to build pieces they can be proud of? What are the basic and easy to grasp, easy to understand "go do it"s for you within the context of software development as a total noob?
It is great that there are so many options for people to learn to code, whether it is for web development or for software engineering which is the real fault line.
Here is a collection of learn to code resources that I put together recently:
To your point about just being realistic:
Hell, there are investment bankers and financial industry people as well as political campaign staff who do some coding because it is an implied part of the job or just because it makes the job easier. You never know.
Would you agree? When you're hiring a developer is it the time/certification/companies he worked for? Or his own stuff?
I know that's a bit of a shallow look at hiring which is way more in-depth, but would love your thoughts on that point.
I need to know how they solve problems, are they self-motivated to produce great software, how dependable they are, and can I count on them under pressure.
People under pressure is the key aspect that is the hardest to solve when hiring, or when finding a business partner, or anything where there is a shared responsibility and goals.
When I interview, I don't really ask questions that someone could answer by doing a Google search. I want to know if they will actually do that Google search and move on.
No, a few months of coding classes do not make someone a developer. However, it does separate them from other people by demonstrating that they are hard-working, curious and have an interest in the field. In my mind those types of people are the ideal candidates for junior-level positions. Much more so than some CS graduate who went through the motions to earn a degree on theoretical computer science and thinks he's now a software engineer. (I mean, last time I checked, the vast majority of computer science degrees were not terribly relevant to professional software development.)
But according to their sales pitch it not only makes you a developer; it makes you a super boffo, immediately hirable developer:
"Learn to Code, Get Hired."
Well, yes. It is a sales pitch! What did you expect exactly? "Learn to code and you might have a better shot at being hired as a junior-level developer, assuming you continue to develop your skills after the bootcamp ends"?
To be fair, this isn't a sales pitch but a guest post on our blog! ;-)
We present a number of companies and bootcamp angles in the article, to each their own how they "sell" the mission, or as some would call it "the dream". In our case we paint a picture of the ideal but crack down pretty hard when on boarding potential students about their goals and expectations.
I could of course be "just saying that", but we're an education company. Drop outs and sucky results aren't really our thing!
Without wanting to sound like a dick: a bootcamp doesn't make you a full-blown top-notch $150k "software engineer" in 1, 2, 3 or even 6 months. I just doesn't happen. The whole ecosystem today is just to complex to learn this in a short time. Operating systems, version control, protocols, databases, best pratice for security, making maintainable code.
I have been coding for nearly 10 years now and i am still learning every year.
Everyone wants more senior people which is understandable. The problem is there's just such a shortage of talent. I argue that if you find someone who possesses the passion, curiosity, and ability to learn quickly and train them for a couple months, you'll have a decent developer. Unfortunately, I haven't come across many companies who share this viewpoint.
I'm not saying it's necessarily "right", but that it could be a reason why many companies do not share that viewpoint.
We take this approach in our company, but its a risky cultural move for a startup who needs to progress fast, and a lot of corporations don't want to take the time/risk that you'll end up being a flop--generally because they're less connected to individuals as they are teams.
There is currently a huge movement, however, of "investing in people" as an ideology for entrepreneurship, investment and HR. Gary V. has been making a lot of noise about it recently. Subject of his next book? I'm not telling. ;-)
Inhouse and education and training is slowly getting trend again, and cool companies like friends of ours in Amsterdam (Acheived) and SF (Degreed) are starting to make it sexy again as well!
I totally agree. This is exactly what we look for in all of our prospective students, as well as being passionate about it ourselves.
Thanks for taking the time to comment.
Students struggle all the time, and some find out (even very quickly) that they just don't like coding. We work across the board to just help people figure out what they want to be doing so sure maybe its hustle on our end for a dropout, but now they know right?
I think its a bigger problem for bootcamps that are super intensive, particularly offline. The application process for these really has to include some coding prerequisites or you simply can't quantify someone's interest!
I can't say we haven't considered implementing a set of entry tests to "prove interest", we may still do this.
Actually in my experience that's exactly what most of these code camps are saying to students before taking their money. I get empty resume's weekly with links to github accounts full of obvious Ruby on Rails classwork and no mention of the code-camp. All from students who don't even really know what our company does (because someone clearly gave them a spam-list of startups they're suddenly qualified for).
I'm a huge believer that our industry really needs a trade-education alternative to 4 year CS programs, but the problem folks who look like a code camp have is that as far as I can tell most code camps are failing to set or achieve the expectations of their students.
[FWIW the company you're working for might be totally different, and I don't mean it as an attack on you specifically, but since you wrote the article generically I find it fair to comment on how generically disappointed I am in what I've seen happening in the current teach-you-to-code ecosystem]
EDIT: Sorry, more to say.
I think quite frankly if you imagine a venn-diagram with two bubbles: People who want to write software for a living and people who have a natural or learned aptitude for logical abstraction. We want the people in the intersection. It's true that those people are incredibly hard to find, but it's also true that we'd usually rather get by doing less with fewer than hiring first-bubble-only folks.
The problem is that code-camps are out looking for people in the first bubble (Want to work in software cause it pays well? Sweet! Join us!!). That's the wrong idea. There are probably loads of people in the second bubble (folks who have a shot at being great developers) who don't even know they'd enjoy this career. Maybe there's a high intersection of architects or botanists or carpenters in that bubble... Maybe there are entire failing industries full of people who'd have a much better-than-average aptitude for software. No idea.
Regardless, in my mind that's where the best chance at success in converting people into this industry is. Unfortunately it's more profitable for code-camps to attract masses of people and letting the terrible conversion rate end up being someone else's problem.
I'm sorry, but it's hard for me to believe that we're well aligned on this yet. Precisely because your marketing pitch is "Are you looking to increase your job prospects, or earn a higher salary?" (verbatim).
Presumably your funnel is filling up with people who want to make more money (as a relatively primary motivation). That maybe sounds right if you're training sales people. For this industry (and frankly trade education as a whole), I think it's going to lead to quite a bit of disappointment. An average student of yours could almost certainly have more predictable and successful access to a similar (maybe higher, lifetime) level of income by training as a nurse.
The promise of trade education should be that you go through, do well, and have a great chance to get hired at the end. The issue I have is that it seems like the code-camps are playing both sides here.. implying that's going to happen, while having to admit under inspection that it's basically not, ever happening.
I should back up and qualify my thoughts on this a bit more. I do not support some blanket idea that "trade schools" are a good idea or that they can help. I do support the idea that good skills education can help. I also support the idea that certain "trade schools" are better than others. The same is true of classes whether they are brick and mortar classes or MOOCs.
A lot of our students are people looking to start coding to develop a new lifestyle. Or simply to move into an industry that's more exciting. A LOT of our students are literally planning on taking an absolutely massive pay cut to leave industries like Finance to do work for dirt-pay first as a freelancer and then maybe a junior position at a small startup. They just want to get in on the hyped growing industry, and hoping that development is a good path for them. Some of them find out quickly that it isn't right for them, but some of them get more excited by the day and make the leap.
Anyway, the problems you have with the bootcamp industry are problems we have as well, but defining the dream versus the mission for each individual looking for answers is tough. One of the reasons we love discussions like this. :-)
We definitely advocate quality bootcamps for their teaching, but one thing that's upsetting is the lack of focus on the "career" aspect. Like, how spamming a billion contacts with your github account is REALLY not the way to go about it.
We see the problem all the time though, even in our own student's perspective of the industry.
The one point I would disagree with, at least from the perspective of our program as I can't speak for others, is that while sometimes we end up with people strictly in the first bubble, those are generally the ones that never finish the courses. It becomes to hard, the actual scope of a "career" becomes to realistic for them, and its no longer about the potential pay check but what they want to be spending their time on. If they don't have the stamina or mental mojo to land in the middle of your venn diagram they never finish, and don't try to become career devs.
And the final line of your comment is so so so so so important. As a startup of course we want growth and push for it, but we restrict so much of what we could "sell" with on enrolling students based on the fact that we don't want to risk perpetuating this problem.
I'm sure we still do though, certainly on our front-end of the site no matter how much we pan down the sale to enrollment. So the perfect solution, for us at least, is as of yet to be found.
This is the piece I take issue with - the reality is that if you're coming from a 0% background, and you go through a few of these courses, you may really only be at 5%. Even with a million people going through these courses, there is still a shortage of skills if there are a million new coders who are only at 5%.
Sure, there are going to be a few great standouts here and their, but I strongly suspect that is the exception rather than the rule - as an example, of my initial class of CS majors, only 10% of the original group graduated at the end of 4 years - because it's just really hard work.
> "No one is saying (and the article certainly isn't) that you can just jump straight into a job after a few weeks studying an online course, but what is true is that by studying online people can acquire skills via a course, then build up their experience over time, build a portfolio and then get a job."
Sure, in standout, exceptional cases. But back to the article - just the title alone - "Learn To Code, Get Hired" - don't you think that could give people just a tad bit of a wrong impression about how difficult it is to get hired?
Ok but yes, it is a serious problem, so much sell for something that might only produce, as you said, a 5% talent outcome. The thing is, and I'm willing to take criticism on this, we have to start somewhere! The skills gap is literally growing faster than we're producing even junior level devs in the world. In Europe (where CareerFoundry is based) the problem is literally a good few steps farther than the US even. So isn't one path to solution to try and onboard as many interested potential developers as possible?
Problems with this? Depending on the bootcamp of course, the person walking out with 5% actually knows and understands they have only 5% or they don't. If the don't they become a "problem" for the industry, they become noise. But if they know it, and are taught to perpetuate their own learning, to take steps towards the great goal of actually becoming a fully fledged and accomplished developer... and they actually understand what that means... well then the bootcamp has done a good job.
How many bootcamps are doing that? No idea. We're working on it, we're not there yet but trying. And of course we always have to get as much shallow interest in the front door to then weed through potential students and try and get the geniuses to work with us. :-)
Would love your thoughts!
I know that the effective programmers I work with, have similar life stories. They love programming, have done it since they were young, do it for themselves and not just for work.
The guy who gets a CS degree because there's money in it may get a job somewhere, but not in the circles I travel in. Which is architecture, design, backends, libraries and embedded solutions.
So what is the real opportunity to a part-time online-course student?
There seems to be this attitude in tech that if you weren't coding in kindergarten then you haven't met the prerequisite for being truly "one of us" in the tech elite, so why bother trying?
But to address your main question, there are many roles that benefit from programming knowledge aside from the 'hard CS' ones you list. For example, in my previous job as a technical writer learning to program was helpful for a) documenting our APIs and writing sample code, b) creating web-based documentation and c) running scripts in Adobe InDesign to generate automated documentation.
"Programming knowledge" is a deep, deep well. Its not going to be captured without real effort over a long time.
Many thanks for your comment.
There are also simply those who want to pick up these skills and apply them in their job -- one of the Thinkful students I mentored was a GIS data analyst who just wanted to be able to write scripts around the data he was working with.
Its definitely not fair (and not true because I know people who are the far other extreme) to say that you have to grow up being a developer to be a great developer.
Our CTO had a traditional engineering education almost 2 decades ago, but never touched web development. He worked as a project manager for 8 years. Nokia, Textr, etc etc. 2 years ago he started to learn web development. Today he's built a major platform and directs a team of crack developers. Is it a unique and special example? Hell yes. Can everyone do that? Almost definitely not. But is it proof that not having grown up coding doesn't mean you can't become a coder? Yes, very much so. And he's not my only story like this.
On hacker news we also talk a lot about developers with developers, many of which take it that to be a dev you have to be crazy talented across the board. I personally am totally ok with people who learn the basics of code, to start building sexy looking and simple websites as a freelancer. Hell I know people who learned front end, ruby (because it's "cool"), a little PHP then started working with a group of common platforms like Square and Wordpress, designing front ends and making an incredible living for themselves. I think that's totally a valid outlook for people in bootcamps, and not always considered in the conversation here....
1) If you consider tech to be an elusive industry because of this, would you consider the same for biology, chemistry or other industries/sciences that require a degree to effectively get a job in the field? Why is there no counterparts to "learn to code" for those fields?
2) Is there really a shortage of skills in the software development industry in comparison to other fields?
A shortage of skills is often the interpretation people get (or at least voice publicly) when they think labor costs are too high.
e: Not that I'm arguing that it's the case (or the alternate). You'll run into business politics, politics politics, lies, lies people tell themselves, and statistics before getting any actual insight on the issue.
The only convincing argument I've heard is that wages aren't increasing to match the reported demand. Which doesn't indicate anything directly. It suggests sufficient labor pools but rests on the assumption that if there are insufficient talent pools employers would pay more to attract talent.
The industry always calls it a "skills gap" (guilty as charged here), but our developing theory is that its an gap in education. Not privatized business-like education like ours, but in the core standard of education. In Europe certainly this is the more relevant discussion anyway as mandates are falling into place in the UK and other countries that enforce children to gain a rudimentary understanding of code through their traditional schooling. We're actually working really hard to help with this effort with a CPD for teaching teachers that we just launched. Yes its a savvy business move, but I'm really excited that we're trying to approach what we feel is actually the core issue.
Let me know if you have a resource for that argument, and let me know your thoughts on my comment!
You might argue that in the tech scene (those of us in locations where it exists and is prominent + we pay attention to the news because we're in it) its VERY saturated. But your examples of other industries are those that have been standardized by higher ed. Apart from MBA's and (for the most part agency-focused which don't teach you much about modern digital tactics) marketing degrees, the start up industry, even to some extent the tech industry, lacks the educational infrastructure that fields like the sciences do.
If it was on that level, businesses like the bootcamps wouldn't exist. Is it a problem that should be fixed? Yes, but bootcamps are the current solution. Some of them ::cough::careerfoundry::cough:: are rapidly working to help with the efforts of bringing things like teaching code to schools. Yes its a good business play, but it builds awareness around the problem at its core rather than creating a business to capitalize on it... which is what we do now.... obviously.
That's not what you're saying. It is, however, the fantasy that you and those like you are selling.
A lot of us find this deeply troubling.
Many of our students want to improve their overall job prospects, knowing that with tech skills (basic knowlege of coding, for example) their overall market value is significantly increased as every industry becomes more and more reliant of those with this knowledge. And not just developers. Hiring managers, CEO's, designers. The list goes on and on. Of course for those who do want to become developers this is an excellent start.
I'm not sure how the idea of teaching people valuable skills is in any way troubling. It's fairly discriminatory to older learners, or those who simply did not have the opportunity to learn at university to say that there is no hope for them now. Online programs like ours give people who haven't been exposed to programming a chance to learn in a supportive, mentored environment. Our mentors, who work the rest of the time as freelance developers, are able to pass on their knowledge and experience to their students in a similar way to how an apprenticeship would traditionally work.
And if our students do decide to become developers then learning coding languages is a pretty good place to start, I would say. It is a start that will, with the right experience and learning curve one day lead to a job. We all have to start somewhere and personally I think it's unfair to ostracize talented people simply because they haven't been lucky enough to have been exposed to a specific skillset earlier in life.
The idea of teaching people a little bit of skill while selling them on the potential that comes with a lot of skill is a problem. That you implicitly accuse me of wanting to keep others out shows that you aren't really thinking about my objection.
Please, come back when you do. Pay close attention to what famousactress and others are saying.
EDIT: And no, learning a language is not a good place to start. But you have too much invested in that idea to seriously consider otherwise.
Perhaps you can explain your opposition a little more specifically?
My response was really to explain our methodology, perhaps mistargeted in your eyes but we're not talking about a dream, we're talking about the mission our students are on, the opportunity we work to provide.
So no, not accusing you of anything. just perpetuating the discussion. Thanks for your input!
Just admit that you're selling a dream. You prefer to call it a "mission" and an "opportunity". Fine. Branding. Whatever. Tomato, tomahtoe.
The problem is that bootcamps don't produce that with any degree of reliability. No three-month bootcamp is going to turn you into the equivalent of someone holding a bachelor's in computer science. Yet that's exactly the concept that this article is based around - you too can be a six figure IT consultant!
It's not remotely common for someone whose entire technical skillset consists of a bit of a web framework, a bit of JS, and a bit of CSS to make six figures. Or to have a reasonable career path ahead of them without a staggering amount of self-teaching. Which while ideal, is very rare in practice.
And to be clear I don't mean it in a marketing sense so much as I mean how would you actually reword what you just called "not remotely common". I think its a totally relevant point, and while Lauren positions the ideal outcome, isn't that what we're all striving for...?
I think you're absolutely right that many, maybe most, perhaps even pretty-much-all bootcamps don't effectively teach students to problem solve, to self perpetuate learning. They don't even talk thoroughly about the commitment to their courses, much less the commitment to becoming a developer.
We're in a position where for instance, we sell the "dream" as you like to call, to bring as much initial interest as possible. But the commitment is definitely more than just an ideal, not something that converts a signup.
To be fair though, in our experience over 90% of our students do a call with us before actual enrollment in a course. That is to say a "purchase", and if there is anything we're clear about in that call its what they're really getting into. We don't have a sales team for that, Martin and I do the calls because we designed the courses and did the career leg work.
Why? Well because most students who don't have the stamina and understanding to become a developer over time drop out of our course within the fist 3 weeks, which is terrible. Not only does that just suck, but we're an education company, drop outs are simply the worst thing in our lives.
Now, could you assume I'm just trying to sell you with what I want you to hear, of course, but I want to be clear I totally agree with you. Actually we're just still trying to find our answer to it.
Lauren wrote an article from the perspective of capturing interest, and I think as a piece of content she did that beautifully and, even more to the point it triggered discussions like this one which we can learn from.
Interested in your continued thoughts, but thanks again for responding.
I think honesty is the best policy. Real completion rates, placement rates, and a distribution of starting salaries goes a long way. As does where-are-they-now data, but I know that that is hard to collect reliably.
I was in school during '97-'01 and when I got my BSCS our dean gave the CS department a special speech about how messed up it was out there and told us to consider just going back to get our masters degrees. My CS classes had plenty of cheaters and those who used their academic-powers to brute-force memorize enough to get through the course but you knew they didn't truly understand what they were doing. These are the people I think of when I give fizzbuzz(with a twist) in my job-interviews. I had classmates drop out of school because some company gave them 90k salaries and _an actual car_ because they had a webpage at csdepartment.myschool.edu~/studentID - by writing one HTML file, saved it as index.html and put it in the /home/studentID/public_html directory.
I too really don't want to sound elitist, but I've actually seen people get burned by this. I personally really respect the approach http://go.expression.edu/ takes to this. I was at an open-house back in '06, you could feel the energy of the people there. So excited to break into the world of 3D animation and land a job at Pixar or SONY. There were even well-known people from the media scene. I got to talk to one of the developers of Sonic the Hedgehog music team, a Pixar employee was there(Pixar is like a 5min drive from this college) and someone from Industrial Light & Magic(ILM) was there. One of the presenters was very honest about the possibility of job placement. She made it clear to everyone that the chance of landing a dream job is not high at all; that anyone who goes through this program is doing it for personal passion and internal drive. She set expectations properly. Having the skill from classrooms was one thing, but it was up to the individual to really breath life into their skill and it took some luck on who you know to really make it in. e.g., these are the people hoping to make it: http://galleries.cgsociety.org/
I just hope that the students of careerfoundry know that it's one thing to learn coding in school, but it's up to the student to really go the extra-extra mile and learn things on their own.... and a bit of luck as well.
Going the extra-extra mile is something we absolutely promote ;)
Many thanks for your feedback smtddr.
The only difference is that in 1998, you actually did have a realistic chance of finding a job in tech with limited knowledge and skill. Today's supposed tech labor shortage is more the result of a lack of experienced, highly-qualified candidates who fit a certain mold and reside in a handful of geographic areas. There is no shortage of the inexperienced, under-qualified candidates bootcamps and online programs produce.
It also took a lot of crappy people to produce the few genuine talents that took the industry by storm. The industry is growing faster than talent because its not standardized or accessible enough for all potential to be found. The problem is greater than a discussion of the validity of bootcamps, and though business driven I would argue bootcamps are a step towards understanding the true needs on a global scale.
My experience varies. Of the (admittedly few) people I can think of that I knew personally and who were trained-on-the-job during this time none are still developing software (though one works in QA and one is a project manager of a tech company last I heard).
> I would argue bootcamps are a step towards understanding the true needs on a global scale
Yeah, I buy that there's non-zero insight to be gleaned from some experience running these code camps for the industry at large. But we'll be doing that on the backs of people who guinea pig these programs in the short term with misaligned expectations, and relatively short term desires for new employment.
You're selling people something they can "sell" to others (marketable skills). The people being expected to evaluate (and then pony up for) the value proposition here are by definition uniquely unqualified to do so.
That's why it feels like a scam. If Facebook decided they wanted to run people through these programs for free because they thought it might have some value and solve a real need for talent that they have, I wouldn't be complaining.
As a matter of fact, it's telling that they aren't.
Of course we are, but that's part of any career motivation so I'm not sure I see this as criticism. "I went to university to learn XYZ skills, which are marketable to the industry and people I want to work with...". At the end of Uni most people are lucky to get an internship. Students leaving our program are looking for exactly that, at best a junior position or their first couple small freelance contracts.
Its not that I disagree with the claim that many, most, maybe almost all bootcamps fail to educate their students on the status they leave the course in (before they do the course) and on how to effectively approach the industry, but that's business side unfortunately.
I also don't see it hurting the industry at all, but that's not what you're saying. What you claim is that it hurts the individuals who are misguided, therefore the guinea pigs. Totally fair. We work pretty closely with each student and though we might sell big at signup, the conversations before enrollment are all based around realistic expectations and getting them psyched to start the long haul towards a new career. Of course I could just be saying that, but its one way we try to define ourselves and the quality of our students.
I'm not sure I understand the Facebook comment. Do you work there? I had a friend at Facebook and there were all sorts of CPD programs available to him in different formats. He did several I believe...
I keep coming back to the topic of traditional education because I think that's where the saturation and awareness should be happening, instead of the bootcamp level. Lots of governments and school systems working towards this. We actually launched something today which is part of our first attempt at helping this effort along, providing training specifically designed for teaching teachers how to teach code, as that's currently the ed system's biggest barrier. Would love your thoughts on the concept, not as a business but as a way of advancing technology, filling the "skills" gap by creating early awareness, and then putting bootcamps in a position to advance people with perspective should it come to that...
We're actually far MORE interested in the long long term solution, which is teaching code as part of standard education. Its inclusion in schools. We're actually joining efforts with teachers, administrations and government in both the US and the UK (closer to home for us) in the effort to make this possible.
For that tope 5% to exist, the other 95% have to as well...
Imagine a talent shortage; you are lacking skilled programmers. No, really! :-)
So what you do is print out (say, on matchbook covers) a very small ad "Learn programming! Start a career!" with a phone number to call and you basically spam the whole country / world with these things. And a few people call in, and you screen them, and a few of those you bring in and talk to, and a few of those you might wind up hiring.
And you plonk them into a classroom and teach them some programming, and a few people turn out to be just incredibly good natural programmers that you might not have gotten otherwise. (The ones you hired that didn't work out so well? You use them on government contracts).
IBM's model in the 1970s (and probably a few other shops as well).
It takes quite an investment, and you need to be able to deal with people at scale, which is something that start-ups and even most big companies (like Microsoft) are terrible at, for various reasons.
I have a hard time believing that wordpress developers end up endangering many people. Even more advanced software technicians, guys who are brilliant are making games and a great living but aren't putting anyone in harm's way.
Cardeology? Yes. Draw bridge tech, probably. Car computers, for sure. A social responsbility to recognize that you're good enough for that? Yes but I'm sure the people hiring you aren't going to mess around with that kind of thing.
People who want to learn web development to make fun/cool products and living don't need to be concerned about the complexities of banking software unless that's what they want to be doing with their lives, and I would hope that people like you, people advanced enough to do the hiring, aren't going to hire any dummies to do it.
At least with coders you often find code that is obviously wrong, instead of code that is non-obviously wrong.
On top of that, having a CS degree is no guarantee of someone being even a decent coder. There are tons of crappy CS grads who are bested by people with no degree, associates degrees, and random liberal arts degrees (e.g. philosophy, english).
You are right about the cost of boot camps. However, the exact same argument could be made against traditional 4 year college programs and masters degrees.
Ultimately, what you learn in the class is quickly eclipsed by what you learn on the job and in through continuous self study and pursuit of knowledge.
I know great, long time and successful web developers who have never studied maths and CS! I think this really depends on your goals, and the complexity of what you hope to be building. If you want to be at the top of the software development field you may be correct, but if you want to be a really strong web developer working at startups, building your own light weight apps and products, or freelancing as a digital nomad and building portfolios and private e-commerce stores? You don't need any of that.
I think there are a lot of self taught and bootcamp taught developers who would disagree with you, and while you could argue they are all "sub par", you and I both know it takes a lot of people trying to find a few people who are genuinely talented. That goes for any skill! That's what makes YOU stand apart! But that doesn't make them or their own pursuits any less valid.
See how ridiculous that sounds when you take another complex field and substitute it in? It should sound just as ridiculous for software development.
"Well, I freelanced as a cardiologist on some local homeless people and I watch a TON... A TON of House, so I feel I'm ready to break into being a surgeon"
yes, you can absolutely argue that developing the next piece of medical software for defibrillators is of equal importance, but if I'm sticking to coding front-ends of ecommerce shops and happy being great at that and staying on top of it as it grows... I'm not sure I see the point...?
Firstly, if your a biz doing transactions, you better damn well be insured, just like your car, just like your health.
Secondly, your mechanic might be a junior, but little mistakes get left by the most experienced of people as well. Especially on things they think beneath them or simple. I hold no doubts that you and I have both at some point made a simple but critical mistake on the most "simple" part of a project. Its human nature.
6 weeks is a bit of an extreme example for someone to trust the building of a transaction site worth hacking, but even so I'm not sure that type of risk is something anyone can argue as a problem with bootcamps. What if I teach myself for a few weeks and want to start getting jobs and trying stuff out? Same issue, and some of the best developers I know in the world are self taught.
Your mechanic's mistake might result in a few people being hurt (a bad thing, of course). It's not going to result in serious damage to hundreds of thousands of people's financial lives. It's not going to result in massive privacy violations. Or sink a multibillion dollar project.
I also think you might be overestimating the benefits of "being insured" - these types of problems can destroy companies. Is one inexperienced coder likely to cause something like that? Maybe not - but an army of them? Much more likely.
I'm not saying people don't make mistakes. But I am saying these types of courses cannot possibility teach you enough to truly know what you're doing, and I as a hiring manager would not consider hiring someone with no other experience than your organization's 3 month course and a couple of side projects without the benefit another 2-3 years professional experience on top of that.
I've agreed with parts of this statement several times throughout the various comments on this feed. Bootcamps that send their students out into the world without a realistic idea of where they stand and how to progress beyond their current knowledge are doing an injustice to their students, and to the people who have to sift through their resumes. Its something we try very hard to to work against, and set realistic expectations for with our active students. Its partly why we built our own curriculums.
I think your taking the context of small apples and putting them in the context of MASSIVE apples. But I like apples, so lets not get them tied into this mess.
I'm still very confused what you're arguing, as you present problems with the bootcamp model, but then what is the solution? How did you learn to code, and how was it better? How long were you restricted to education-only projects before "being allowed" to work on real things?
Hiring managers and advanced software developers lead teams for a reason, to filter out people they cannot trust from their team. I would also say though that something we do is take passionate people and give them the tools to kickstart a new career. Yes it takes time, and experience and lots of learning beyond a 3 month course, I think everyone can be realistic about that, but to say someone "shouldn't be coding anything" because that's where they started? Can't agree there.
So again, how did you learn to code, and how was it better? How can the bootcamp model be adjusted to do a better job?
Insurance can certainly cover the cost, but is it your company's official stance that it produces coders who need to be paired with supplemental errors and omissions insurance policies because they will crash your company's product or that it would be ok if they cause major problems?
I think you are somehow confusing graphic design with software engineering and programming here. Maybe what you should be telling people is that you are teaching people how to build brochure websites for a living. If that is it then your perceived quality or capability bar might not be objectionable.
Learning to code is relatively straightforward. Learning to do it well, applying the fundamental principles of computer science, is a different kind of horse (transportation device). People in the industry KNOW this. It's obvious. You have to put in the time to really know what you're about, and bootcamps & MOOCs don't really bridge the gap between 'ignoramus' and 'junior professional' as a rule of thumb. Of course, if you subject yourself to a diet of these things and study the field for some time (months at least), doing serious investigation of the fundamentals, I don't think you'd be much different than a particularly motivated intern or new grad. :)
That said - if you are, e.g., a marketing person, learning coding to help do your job and simplify your work will do amazing things for you, I hear. Learning source control will drastically make "copy 1 of report final 1" type problems go away. As patio11 often says, automating business process has huge value. (Which, by the by, doesn't make you a professional software developer if you do it).
Coding is a great skill, applicable in many places, but professional software creation with the high salary comes at the cost of serious competition with people who have seriously studied this topic for a long time.
Code is slowly becoming a mandatory part of education in primary and secondary schools in Europe. Do you think this helps approach the greater infrastructure of tech?
Do you support the idea of "professional guilds" or other associations that delineate the "people who just learned to code" from "people who have seriously invested the time to learn the fundamentals of their field in a very professional fashion"
Honestly, having worked in media (film) and with those guilds (SAG, DGA, etc) its very difficult for me to say this is a good idea. The guilds were constructed the way they are because of the in-and-out nature of working in production. Without going into detail, the model just doesn't fit unless all devs turn freelance.
Now a union, as the states has for many different labor professions etc: this is a concept that could work, but without an effective standardization system (something VERY hard to do in a world of open source, fast moving technology development, and new coding languages) it would be for show and simply an opportunity for the 5% who shook the right hands to sit on their golden thrones. Sounds very American though. ;-)
The thing is, neither guilds or unions were really built to enforce standards of work-quality. They were built to protect the workers against potential abuse from corporations/foundations/government firms/private sector contractors. So this would be inverse to the problem we're trying to solve, which is qualification of good devs versus "bad" or under qualified.
So what would work? Well if we all started by doing Oracle IT and Microsoft certificates, the furiously patient devs of the world could at least recognize each other for it. Actually... they already sort of do. :-p
I think ultimately the next form of standards is going to have to be written by the academic world OR some other government sponsored party of incredibly savvy individuals who's entire "business" revolves around standardization testing for devs. Not that there aren't companies kind of doing this, but well? And on a government level of respect and reach? Nope.
I suppose the only back draw is that it risks removing the creativity and how problem solving abilities are associated to personality type. I'm sure you could eventually formulate that as well, but sheesh, what data mayhem. Would be awesome.
I guess one point for it is hell, if google and amazon can do it for themselves, who's to say evaluations couldn't be built across the board?
That was really long, sorry, but super interesting question!
Kinda surprised that you've not heard it before, it's knocked around the professional programming circles for a while now. Anyway.
You're quite right that it's not a trivial problem. IEEE promulgated the SWEBOK, which the ACM publically refused to support (I read through the SWEBOK, it's, imo, generally irrelevant).
It's also not a question of creativity and problem solving, it's a question of quality assurance - i.e., the downside of being in such a group would be the culpability for being sued for malpractice. :-)
I DO like the idea of "coding malpractice" law suits though. ;-P
Problem at the moment is that we don't have teachers in the world who can code, much less teach it. We actually launched the first pieces of a platform today that approaches this issue. We'll be releasing more news soon about our efforts to collaborate with schools and governments to Teach Teachers to Teach Code!
A buddy of mine told me about the cascading discounts that he and his coworkers calculated by hand. They all know how to do it, but he wanted an quicker way. A little recursive function later and I made him a simple little calculator he could pull up on his phone. It saves him—and his coworkers—time and would completely be within everyone's grasp to create with a little bit of training.
I wish there was a push for practical programming and automation for everyone. Boot camps to help you improve your work through simple programming.
I actually agree, but as a business of course you go where the interest market is most stable. If nothing else than for the sake of your investor's heart-rate. ;-)
Jokes aside, I'm wondering if the increasing demand for education in school systems and traditional education is the long term solution to exactly this problem. We're working hard in Europe to participate as much as we can as we feel the skills-gap philosophy is actually an education gap it just hasn't been figured out yet.
I figure, as programming is able to become more abstract and high level, "practical programming" will become a lot easier.
I might post a more detailed comment if I could actually find somewhere to view this content.
A huge part of the comments in this feed have been discussing the challenge of teaching bootcamp students what the actual career is about, what getting jobs is about, that realistically learning to code is just one small part of being a developer.
Does the headline say all that? God now. Does the article say that? Nope, because its trying to draw in all interested parties. The problem is that some, perhaps many, maybe even almost all bootcamps on that list? They might not clarify it until to late.
Some of us are trying to figure it out. Both how to communicate it, but maybe even the actual solution!
In the mean time, if you can code start pitching on elance, man! There is always work even for those of us who are, quiet frankly, sub-par developers> our CMO can code, he sucks at it.
e: Its back, but in case it goes down again:
Anyone taken courses at these places? What were the good and bad of it?
I had already gotten 500% more out of just reading guides.rubyonrails.org than I did in the entire program. If I had been required to pay for the instruction, I'd have come out feeling distinctly ripped off, especially if I had been a web designer who'd never used command-line build tools before.
This might vary with the program. The particular format of the one I attended just wasn't well-suited to getting people up and running quickly, or addressing the varied needs of students at different levels. That being said, learning _how to learn to program_ is much more important. Learning that failure is the first step to success and a prerequisite to actually synthesizing knowledge. If they could teach that in these courses, they'd be priceless.
Hope that helps, kind of rambling but, that's my experience :)
Many of the online courses skip the former and jump straight into 'rails generate' -- but not all of them, especially if you supplement with Coursera courses which are often far more academic in nature. The in-person bootcamps vary a lot, and I had a fairly low opinion of them as a breed until I started mentoring Hackbright students and realising that they do learn the fundamentals -- but I know there are others that don't teach that stuff at all.
Disclaimer: I'm a part-time instructor at Hackbright Academy and a former Thinkful mentor. In structuring the part-time class I have had to think a lot about how to help convey the elements of CS in a very limited time-frame. It's tough. I honestly welcome feedback and discussion from others who have tried to do it.