For what it's worth, I think articles like this do a huge disservice to people looking for an easy way to "get hired coding", at least in terms of setting peoples' expectations. Reading this, this article makes it seem (to me, at least) like there are just thousands and thousands of companies who will happily hire you right away once you go through a few of these courses.
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.
I've never needed a degree to get a job as a developer. 15 years now. I have a degree in philosophy.
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.
Yeah. I recently had a guy with a CS degree ring up my groceries at the supermarket. There are definitely people out there with CS degrees who cannot make it as software developers.
Our CTO was a project manager for 8 years. Picked up web development 2 years ago and now runs a major tech startup... anything is possible. He had a traditional engineering education, but CS has nothing to do with it. You might learn the fundamentals from a theoretical perspective, but a lot of our web dev students in Europe are CS grads looking for a way to access the tech industry.
Definitely. Do you think, however, that educational systems should be working to fix this? Or that the industry relies (and is ok relying) on private training resources like bootcamps, and the self taught wonders of the world?
Right! What we are trying so hard to hire are not programmers, but good engineers. For candidates who don't have much industry experience, we are looking for potentials. Some crash courses won't grant potentials to candidates. Speaking frankly, we expect the new hires to learn fast, to have a great jump after working with good senior engineers for one year. This one year helps the new hires to connect the dots of their knowledges. That requires a solid background, which can't be acquired by crash courses.
There are genius programmers who don't need a CS or related degree. They are exceptions, though, not norm.
Go read the literature on Hack Reactor. They double load their students with learning to code (better (assumed they are not 100% green)) and with how to perform in the job. They also help with interviewing 101 in an applied sense. Imagine getting a job based on knowing how to code, but without knowing how to pass normalized interviews that many teams simply assume people have insights and experience around.
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.
Just a thought that comes to mind here (not really a response) is that yes, problems exist with training good engineers, particularly in a bootcamp format. Many comments below go into this. But we see a lot of students who are learning development as a life style choice as well.
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.
Honestly, it just depends on the company when it comes to background, I'm the senior most frontend engineer at my company, and when I hire, I look primarily for critical thinking.
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.
Our operating theory right now is that the best (and most useful) evaluator of developer talent (particularly new developers) is the projects they did for themselves. Or their solutions and learning through a single-dev job.
I'm sorry, I'm literally terrified of the people coming out of your organization after watching the video at the end of your post. I really question your organization's judgement in evaluating developer talent if you're seriously suggesting things like this (literally from your video):
- "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.
Well I appreciate your investigation into the entire article and associated content, that's awesome. Your dedication to the discussion is also key here because again, its not that I'm disagreeing with you in principle, but I think we're talking about about slightly different things.
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?
People do have to start somewhere. He is right about the copy and paste stuff, but there is a principle he is getting at not a prohibition. Everyone looks for answers online, but not everyone has the same capabilities and mental horsepower.
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.
It isn't like this is an article from a developer or hiring manager. It is just a paid blogger who is trying to net students via web searches. But more to your concerns, it isn't like this article promises six figures after taking a course. IF someone wants a job as a developer, there are jobs doing web content management and things like .PSD implementation as well as brochure website freelancing projects. Assuming someone wanted to learn, they have to start somewhere. No everyone is applying for your company's programmer job.
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.
I've worked 15 years as a programmer, architect, boss... I have one year of college. I found that once you hit 3-5 years of experience, getting a job was never hard. I also found that people who are mostly self-taught and self-motivated are almost always better hires than people with a 4 year degree.
We have discussions all the time with CTOs and recruiters about what gets a dev hired. We always cycle back to the fact that its really their personal projects that win the day.
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 can't really speak for everyone, but I don't give a damn about a developers' StackOverflow profile or their personal projects. Certification looks good on the company resume, but doesn't mean a person can code at all. Bear in mind that there are very few really good programmers. There are even less 'great' programmers. Programmers are just like any other group of people - they must fit together to be a strong team. Some people are better leaders, while others are better at banging out back end code. It's a cliched metaphor, but putting together a software dev team is not much different than putting together a pro football team - you won't win with 50 quarterbacks, even if they are all Pro Bowlers. When I interview, I am looking for people who can get things done, but in the context of a team, and I am really looking for how they think.
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.
I think this is just one giant strawman that gets thrown around in any discussion on this topic.
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.)
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"?
Its an article headline, so absolutely intended to be click-happy and instigate two things:
1 - interest from as many people as possible
2 - discussions and disagreements like this!
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!
Your last sentence. So true. ESPECIALLY in Europe. We deal with this all the time, students who did CS degrees and then realize they can't work in the coolest part of the tech industry because they don't actually know how to code. A lot of these guys are brilliant of course and just teach themselves, but a lot of others are brilliant and looking for some accelerated guidance. Bootcamps (in my mind) is perfect for these individuals.
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.
Definitely not, but where else do you start? We're asking this all the time as naturally there are a million pieces to becoming a developer. Code is just one tool in the box, but isn't it the basis? Particularly if you're starting from scratch, until you know you like code and how it works its hard to imagine being able to pursue a dev career.
Oh, learning to code is certainly a great start. But perhaps they should change their pitch to something like "Learn to Code, Get Started on the Long, Difficult Path to One Day, Perhaps, Becoming a Developer."
Hahaha! A little deterrent maybe for what is technically a start up, at least if you're talking about CareerFoundry, but I see what you mean. We're pretty harsh on people when they do their info sessions with us. The commitment is no joke. We loose a lot of students in the first few weeks when they start to realize the scope of what they have to achieve both in the course and outside of it. We try really hard to impress this on people before enrollment, even if on the front end of the site its mostly selling the mission. We don't want to intimidate people if we can help it, at least not before we have a chance to talk to them!
Totally agree. I took a class last year and learned a lot, but finding a job was extremely difficult. I finally found one in the early part of 2014, but now that I'm looking again it has been just as hard.
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.
Yeah, most companies treat people as replaceable cogs, when they should be treating employees as (for example) plants that need cultivation and care. Training should be considered part of the cultivation of the employee.
I think that mentality could end up being the death of many companies. Though for certain business models the "slave" is preferable to any alternative. The great leaders of the coming decade though are going to be people-centric, just you wait!
Edit: Just realized I commented twice to this thread, but I like this response (my second one) better so I'll leave it!
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 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."
I totally agree. This is exactly what we look for in all of our prospective students, as well as being passionate about it ourselves.
I would be interested to know how you look for these things. We find that although folks can seem very passionate and curious, sometimes they find out they just don't enjoy (or aren't particularly good at) programming. Would love to be able to figure that out before they enroll in our classes.
Definitely! The reality of it is that sometimes you have to go somewhere to get somewhere, and that somewhere is often a lot different next week than it was last week!
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.
Hi King_Magic I understand the point you're making, but for people who haven't studied computer science at university, or haven't been tinkering on a computer since they were a small child, these courses are a way they can break into this career. Tech should not be an elusive industry - especially when their is such a huge shortage of skills. These courses open up the scene for people who don't have the background in the industry, but want to change careers or expand in their current roles.
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.
> 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
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.
[Edit: Doh! Sorry @king_magic, I did totally reply to Rosie and not you! I'll leave the comment in-tact since other than the first paragraph I'm making (or maybe belaboring) still-relevant points]
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.
They might want to consider that there are a lot of people out there who could change their life by getting some additional skills. Why do you assume that everyone is not capable just because they did not major in CS in college? Whether it is monetarily or otherwise, there are a lot of reasons. There is nothing wrong with dangling a bump in pay as the potential outcome of gaining new skills. Your nurse analogy might as well be that of training to be a doctor instead of being a programmer or nurse.
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.
I'm actually really impressed with our student base in regard to your assumptions because they were ours as well. I noted this in a comment above, but many of our students are not (or at least claim not to be) doing our courses to "make more money". At least not on the code side. Our UX Design students often are experience designers who are upgrading by adding to their tool kit, but that's a different category.
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 think this is a really really important point. Even at our company (a bootcamp) we receive resumes like what you're talking about.
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.
> "especially when their is such a huge shortage of skills"
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?
I see your point, totally. The title is of course designed to get views, right? Marketing does have its role in any business, so we try to bring people with the interest into the fold. Pretty hard to educate them about the commitment without them even trying to code something though, so give them the mission and the avenue, right?
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. :-)
I'm thinking this may be an illusion. Is there any evidence that this route works?
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?
I know this isn't exactly what you are saying, but just because someone learned to program later in life doesn't mean that they are only in it for the money or that they inherently aren't as competent.
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.
Grant all that. The question remains: what kind of skills can you get taking the 'soft' route? They won't be the same as a University degree, and not nearly the same as a lifetime of devotion to the art. Did we really address that yet?
"Programming knowledge" is a deep, deep well. Its not going to be captured without real effort over a long time.
Of course 'programming knowledge' covers a spectrum. At CareerFoundry we have never claimed to be training people to become Senior Full Stack Web Developers - like with many careers there is progression within the job. You start off at one level, you learn more, you progress and hopefully get promoted. We teach Ruby on Rails, HTML5, CSS and Javascript. With these coding languages under your belt, and the sufficient experience, you could get a job as a Junior Developer. Of course, like you said - and like with so many careers - reaching that next level takes real effort and dedication over a long time. But there is absolutely no reason why people can't get started in their careers at the bottom rung of the web development ladder with these skills, and work their way up by learning on the job and alongside their colleagues and peers.
I tend to find a lot of the folks coming out of online or bootcamp-level courses start off as front-end or app (usually web app) developers, and then gradually pick up the backend and architecture pieces as they grow as a developer.
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.
Deeefinitely relevant. We teach a full stack course (as many other bootcamps both on and offline) but sometimes the goals of students aren't that broad to begin with. They start with a small chunk, and then pick up projects that perpetuate their learning as they go. I can totally get behind that!
I think the real opportunity is to explore (hopefully in depth) whether or not development is the right thing.
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....
>Tech should not be an elusive industry - especially when their is such a huge shortage of skills.
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?
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.
Do you have a link or resource for that argument you mention in the last line? I'd actually be really interested in digging into what that means.
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!
I'm going to vote for a simple answer on this. We don't have enough solid talent because there simply isn't a high enough saturation of learning opportunities. not even on the most basic levels. Higher ed CS degrees don't train you up to work in the million and one startups that are looking for engineers of all levels.
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.
I understand your point Kalium but I'm afraid I'm not persuaded on this 'selling a fantasy' idea. For many people that come to us, the decision is something they think long and hard over before making that leap, being fully aware of what they will learn and what their continued learning will have to be in order to gain employment upon completion of a course.
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.
Spare me the pitch, please. Spare me the specious accusations. I'm well familiar with bootcamps, the people that go through them, and the results they provide. I'm linked to one myself.
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.
Hey Kalium!
You definitely bring a passion to this, so I definitely want to understand you.
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!
The article goes on and on about six figures, including strategically placed bold type. You're trying to sell hope for a bright future. That's not a bad thing by itself.
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.
I see what you mean. There is a tough balance to be struck, so what then would you call realistic? If you're trying to explain to someone the potential of becoming a developer, and committing yourself to that learning and industry how would you position it?
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.
A bootcamp graduate stands a decent shot at an entry-level web-dev job. That's 60k-90k, depending on location. But that's just the beginning - to have a solid career trajectory from there is going to require self-directed learning of much of the material typically learned in a 4-year CS program.
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.
Perhaps I'm just an old get-off-my-lawn skeptic, but the phrase "Learn To Code, get hired" really brings up bad memories.
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.
"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 ;)
It's like 1998 all over again, when basic HTML knowledge promised the key to a comfortable middle class existence. And if you knew tables and how to use spacer GIFs, the sky was the limit!
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.
This is exactly right. In '98-'00 people in this situation were actually getting hired, in droves. I'd venture to guess most of them lost their jobs a couple years later and fell out of software development altogether, though.
Really? I feel like most people I know who were developers before the bust are either millionaires or still rocking. A few moves on when the bubble blew out, I even lived in an apartment in SF of a failed 2 man company during that time period; they both went to back to being finance guys. But that was the catalyst of the industry we're now all talking about, and its grown more and faster than many other.
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.
> most people I know who were developers before the bust are either millionaires or still rocking
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.
> You're selling people something they can "sell" to others (marketable skills).
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...
http://bit.ly/teach-the-teachers
I can totally agree with you, accept that I would say that for the future to be brighter, to be more filled with highly qualified talent, you need to increase the pool of potentials. That means more education sources and building interest and awareness around it. That's what bootcamps are doing, whether its for that purpose or otherwise.
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.
So poor software doesn't directly endanger other people? This is why I'm so nervous about a generation of "coders" - they just don't know what they don't know. Software can get people killed. Or (far more likely) can get peoples' bank accounts wiped clean.
I think if we're talking about someone coding portfolio websites and ecommerce shops using validated API's, we're not talking rocket science but we are talking the basis of a career.
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.
This is one of the biggest problems with the industry now; a lot of people learning to code without learning computer science. Coding is applying computer science fundamentals and without those fundamentals, you end up writing terrible and unmanageable code. Bootcamps are one of the worst ideas because they charge a lot of money, waste a lot of time with overzealous promises and, worst of all, hurt the industry by cranking out sub-par developers. Don't push people to learn to code, push people to learn computer science, math and algorithms.
CS grads write shitty code too--and often, it's harder to figure out what they're trying to accomplish, because they use some weird non-standard red/black balanced bloom filter with LZ sliding window compression instead of just, say, a fucking hashmap.
At least with coders you often find code that is obviously wrong, instead of code that is non-obviously wrong.
I honestly never thought of it this way (your last sentence). But yes, to your first point many of our students are CS grads who realized they wanted to work as developers but didn't know how to code... They might start with a stronger theoretical understanding, and perhaps can code more complex functionality or software than our non CS grad students, but ultimately they're on a similar level. Just depends on what the individual wants to be doing long term.
Partly because I'm self-taught, I don't know how much of your statement I agree with. I agree that the bootcamps thing is out of control, but I don't think that I agree that it's bad to code without learning computer science. It might make you more effective, but I've known people with CS degrees who were terrible at coding. Also, in college, I could design better relational databases than CS students in their last year of college (well, my roommate at least, who went on to work at Microsoft). But I don't know the difference between a binary tree and a b-tree, because it's never been necessary for me to implement one. Even then, I'm curious about CS and read up on it when I have free time, and I've been working on nand2tetris, but that's mostly because I'm curious, and while I think it's interesting I don't think it's made me a better programmer (yet). I've also had interviews for web dev that included algorithm/data structure (most don't!), one such place even wanted to hire me, but I didn't want to work there because given the nature of the job I find it unlikely that I would be writing most of the things they asked me about
A lot of big companies like MS hire boy scouts (or girl scouts) who feel that they need a certification to carry around a pocket knife at camp for their entry level jobs. They also hire really smart people too, but they tend to hire the B's, not the A's. Sometimes it isn't clear whether they can tell or not. They like people who can be molded ushered in a direction over time. What you are describing isn't isolated is all I am saying. For better or worse, these are hires that they can shape into sequoias in their forrest of talent.
Coding and Computer Science can be mutually exclusive. There is no requirement or reason why you should be required to take computer science to be a programmer. There are plenty of coding jobs out there that do not require (in principle or practice) a CS degree.
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.
I know great, long time and successful bridge engineers who have never studied math and physics. 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 civil engineering field you may be correct, but if you want to be a really strong bridge developer working at construction startups, building your own light weight bridges and other buildings, or freelancing as an engineering nomad and building small private bridges? You don't need any of that.
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"
Hahaha, I see your point. But casually designing something that endangers people's lives really isn't much of a comparison.
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...?
My point is this - what happens when some kid with 6 weeks experience leaves gaping security vulnerabilities in your ecommerce shop (yes, even with front-end code alone) that results in financial damage to your customers?
If we're going for worldly examples to coding dangers:
what happens when you're mechanic misses a screw when replacing your brake pads?
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.
You're comparing really really really small apples to really really really big apples.
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.
> 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?
You are completely missing the point. You can't just say "So what if a mechanic forgets to check the brakes to make sure they work before setting a customer loose in a car that is going to run off a cliff and DIE."
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.
Gack! No! Nearly all of the recommendations are a really bad disservice.
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.
Totally agree with this. Reaching the top level of anything takes time and dedication, but there is huge value to having a rudimentary understanding of code regardless of your professional focus.
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"
This is a crazy interesting concept. In part because I just never considered it before, but also because its kind of a midway: Let the elitists feel elite and set the standards, and the rebels and riff-raff fight amongst themselves for status.
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 would actually argue that "code" should be taught at the same time as algebra formally. But I don't know enough about European education systems to specify more.
Well you nailed it pretty much on the head. UK is already placing mandates that begin enforcement next year that state secondary schools must supply a rudimentary coding education to all students. Other EU countries are soon to follow, and the US government is essentially running tests across certain districts of similar ideas.
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!
I haven't an opinion on boot camps as they currently run (but am entirely self taught and having a great time architecting and building APIs and front end applications); however, I wish that the " Interested in learning to code, but not so keen on leaving your current employer?" section was the focus of the article and the boot camps.
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.
But did he WANT to code that himself? Or was it really a job for you?
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.
He was banging away at excel for a while trying to come up with a way to do it, and he probably would have hit on something sooner or later but wanted something for the next day, so I figured I'd give him a hand.
I figure, as programming is able to become more abstract and high level, "practical programming" will become a lot easier.
Nothing automatically provides the job. We're talking about a process hidden behind a click-happy headline.
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.
As an entirely self-taught programmer, I say skip these programs entirely. When I got my first real programming gig, my company sent me to a quick, 7-or-8 session long bootcamp for rails, although I'd already taught myself all the rails conventions. The program was a huge waste of time for me, and a waste of money for my employer.
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 :)
It varies WIDELY with the program. Not all of these are rip offs. Not all of the students get the same or need the same things as you. There are all kinds of different ways that people learn. There are also lots of different levels that people are coming into things on.
Do you want to leave with a solid understanding of how a programming language works, how memory functions, many of the fundamental algorithms and data structures in CS, and more of that kind? Or do you want to leave with a couple of different, solid Rails/Python/JavaScript/mobile apps under your belt, and go straight into app development? Different courses focus on different things.
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.
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.