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.
To your point about just being realistic: There are a lot of jobs that require some coding experience, but that are not full time programmer jobs. A marketing person might use some HTML and some JavaScript or even a little PHP. A designer will ultimately need to learn some JavaScript if they want to advance, especially if they want to do freelance projects on their own.
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.
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.
Thoughts?
- "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: http://socialmatchbox.com/wp/learn-to-code-learn-programming
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.
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.
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.
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.
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. :-)
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.
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.
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.
Example?
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....
Would love your thoughts!
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.
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.
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.
Many thanks for your comment.
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.
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.)
Agree? Disagree?
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."
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!
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"?
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.
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.
I'm not saying it's necessarily "right", but that it could be a reason why many companies do not share that viewpoint.
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.
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.