What? So, all of the military training methods don't exist? Military bootcamps are 6-8 weeks and you learn a massive fuck-ton of skills.
Hell, college courses are less than this in hours spent and people learn crazy amounts of stuff.
So how can you conclude that it's not possible to learn any skill despite a fairly huge amount of available evidence to the exact contrary proving you wrong?
For those destined to be more than cannon fodder, the skills training comes in advanced courses that last months or occasionally years (e.g. nuclear sub courses).
Unless you're in the Navy, then it's about keeping clean so you don't piss off everyone else on the ship. :-)
(ex British territorial army)
I'm not saying it's not possible, but the marketed result versus the actual result here is disparate.
It also doesn't answer my direct criticism of your comment. You claimed you can't learn any skill in 10 weeks, which is complete bullshit. People learn quite a lot of things in less time, so saying that is stupid.
Maybe you meant to say something less hyperbolic like, "I doubt that someone could master programming in 10 weeks." This is true, but then they don't claim to create master programmers, they claim to create junior programmers, which I (as someone who actually does train people for a living) can say is entirely possible.
I'm saying that you cannot learn any skill to a reasonably merchantable level in 10 weeks.
Regarding hyperbole, we haven't forgotten "Rails Is a Ghetto" yet...
[1] My background is EE, particularly RF comms. I took the technical lead on a project and had to write training guides for the US military to use certain communications equipment. The mantra amongst the specifications was "dumb it down so a brain damaged monkey could operate it".
Let me guess, you aren't very good at this whole logical argument thing which why you're just wrong here.
Again, merchantable skill is subjective and based on the free market, so no, I could learn a "merchantable" skill in 2 hours. Cleaning toilets comes to mind as one very such skill.
You're just wrong. It's possible to learn skills in 10 weeks of 8-10 hour days, and learn them well. It's possible to become a junior programmer in that time. It's possible to learn a ton of different skill in that time. You actually meant mastering these skills, and just refuse to admit it.
I think it was a logical and concise argument.
Perhaps a better statement is: "any semi technical skill takes way more than 10 weeks to become productive and not a risk".
Are you happy now?
Risk management is up to the employer.
If you aren't accepting candidates, won't it be better to explain(if you do explain) what you needed which they lack instead of profiling(Victims of these schemes). You haven't run into comp sci graduates who aren't suitable for the job?
> A lot of them have come from business and arts backgrounds and think it's an easy way to make quick cash
Most of the programming jobs aren't very involved. I will bet my life on at least 70% of working programmers unable to explain dynamic programming, let alone actually use it. In fact, it's very rare that I run into someone who can reduce a problem to a recurrence and solve it.
In an ideal world, that would be unacceptable. In the not-so-ideal world which we live in, programming jobs tend to vary a lot and there are a lot of jobs which do just fine with Django/Python knowledge.
Most programming jobs are very involved. Most vocal positions that are promoted on the Internet aren't. There are a hell of a lot of people churning out masses of code that runs things behind the scenes without so much as a though to expose it on TechCrunch or whatever nor follow any fashion or fad.
You are responding to arguments I didn't make. I don't know where are you getting the idea that my "programming jobs aren't very involved" is somehow related to Techcrunch or fads.
As for programming jobs being involved, true that I don't have any empirical data, but neither do you. You are going to continue arguing most of the programming jobs are involved, and I am going to continue arguing that 10 weeks of training is more than enough for most of the programming jobs. I would rather not discuss this "he said, she said" situation any further since nothing is going to come out of it.
I learnt bass guitar well enough to play 4 Guns N Roses covers at an open mic night and go through to the regional stage, in 8 weeks.
I learnt to pogostick in less than 4 weeks - bouncing 1 mile for sports relief without stopping.
I learnt to cook well enough in 1 week that I could could cook at least 21 different meals with a decent success rate.
I learnt Java/Android in 8 weeks and released my first app (721 downloads so far!).
I learnt to ride a bike in a weekend.
I learnt to drive in 1 week.
I learnt how to work behind a bar in one evening.
In fact I'd go as far as to say that (to the nearest whole percent) 10 weeks is long enough to learn any skill to a competent level.
I agree with most of your post. Learning Java in 10 weeks(5 days/week with about 5 hours/day) is more than enough. You sure aren't going to learn all nooks and corners, but you can learn a lot of general purpose programming and Java programming.
But "10 weeks is long enough to learn any skill" is as invalid as "10 weeks is not long enough to learn any skill".
I come from an arts background, and I am glad. A couple of years ago, I realized that though I was interested in technology and analyzing autobiographical internet writing, I was more interested in making the magic happen, but I didn't have the tools to do that and I was floundering. It's actually pretty awesome that we with "business and arts backgrounds" have been able to hack it with such different experiences.
I cannot even begin to describe how flustered I am by your silly comment that "it's an easy way to make quick cash":
1. I don't think it's easy at all. 2. Quick cash with San Francisco housing costs? Ha ha ha ha ha ha ha. 3. I had no idea how much programmers make going in. It wasn't the money that motivated me; it was learning something that truly interested me out of which I could hopefully make a career. 4. It pays better "crap" than the crap I was getting paid before. With a Master's degree, managing experience, language skills, international experience, a project management internship, editing knowledge, and a boatload of other very valuable skills, I was making around $24,000 a year with no benefits whatsoever, and that was after about a year and a half of searching for a job. Try doing any kind of thriving on that. So even though money wasn't the motivating factor, I think we can easily agree that I have tripled or quadrupled my value as an employee. That doesn't sound like it "pays crap" to me.
I won't know anything about how the market will get better, but please don't count on your employers for your personal growth. If the employer does that for you, that's an added advantage. Also, the way your employer shapes you very rarely aligns with your optimal growth. An ideal employer is a facilitator viz. RailsConf will be paid by the company, buy whatever books you want etc.
> but I have a wonderfully firm basis that will help me build an amazing career I never dreamed of.
It will help you eventually, but unless Hackbright has arranged interviews for you, be prepared for not hearing back from the employers. People who have formal education for at least 4 years in computer science secure an interview once in a while, and a desirable job takes many such secured interviews. From the employers perspective, if many such formally educated people turn out below par, a 10 week training program doesn't really excite anyone.
My unsolicited advice is start building things - small tractable things which you can build in less than 3 weeks. Build it and put it on github. It might not work for big companies, but small companies are more likely to give you a chance if they can see your code and verify that you can build things.
Given that was first year university with a bunch of other courses on my plate, I would say 10 weeks is ample.
EDIT: Just to add to that, in the following year I learned to program the Motorola 68HC11 microcontroller in a single semester well enough to build a 48 note midi controller (with Hyperterminal text based interface!) and the year after that learned PIC assembly language in a single semester well enough to build a miniature device to track an object in 3d space using sonar and infrared, including an integrated user interface with buttons and a little LCD screen. All of these projects were only a single university semester which is about 13 weeks, and with normal course load outside of that. I'd say the amount you can accomplish in 10 weeks if you focus solely on that in terms of programming experience would be enough to make you useful in many entry level positions.
EDIT AGAIN: I should also note that I taught a course in database design to students in Ghana with skills ranging from never have seen a computer before, to those who had used word and excel before. Most of them didn't own a computer. In 4 weeks, using only the mysql command line client and notepad, all of them were able to design and implement a basic database. A couple of them would have been useful as juniors writing SQL for reporting purposes or learning DBA stuff on the job (depending on the size of the company of course...) but they showed incredible progress in just 4 weeks.
Progress is good but if you throw someone into industry too early, then you're going to hurt the reputation of the education methodology (which in this case deserves it) and the company who is employing them.
The other examples were there to give credence to the fact that you can learn vast amounts in a semester.
Also you missed the bit where I trained people in 4 weeks who had never programmed before how to hand write SQL queries on the linux command line.
There were 2 out of a class of 16 whom I would be comfortable recommending as junior DBA or reporting type folks.
"Too early" depends on the industry. In neurosurgery you need an undergrad degree, then a postgrad degree in medicine, then 4 years as an intern, and blah blah (it's been a while since I watched "Scrubs" :) but for programming, particularly writing web based C.R.U.D apps, deploying Wordpress sites, maintaining existing projects, or writing internal tools for business automation, you can basically start as soon as you understand the basics of programming.
Not every company in the world is a 4 person startup looking for "full stack unicorns" - there is a huge industry out there that can make use of people with a solid grounding in the principles of programming to product "merchantable" work with real value.
Before the first program was half over, these two students won 2nd place: http://www.women2.com/two-student-programmers-build-their-1s...
Another example is the ESPNW event that took place before the second program was over: http://www.twilio.com/blog/2012/11/female-hackers-represent-...
It's not like they're taking random people off the street and claiming that they'll be competent programmers at the end of 10 weeks.
They are almost assuredly selecting people with the aptitude, interest, and determination to become a programmer, because, well, in the end, these programs are setup to turn out programmers who companies can hire. For example, I would be rather surprised if most the folks entering the program had never dabbled in programming.
My latest learning exercise was postgresql. I've done a proper engineering evaluation on it which has taken a whole year, but i tell you, i know it inside out now. I am confident i can handle any edge case or problem. Can your 10 week old developers even handle a simple edge case failure efficiently? That's where the skills are important or there is a roadblock every 30 minutes in this industry.
When I reliably can answer most stackoverflow questions on the subject, I am then confident that I know what I'm doing and then will sell my skills.
Even in areas where failure has high costs (say, medicine, or war), you don't go off and try to master a specific skill before doing anything -- you master some basic skills, practice using those (in increasingly realistic environments), then learn more advanced skills. For one thing, you don't even know beforehand where you may have particular strength, and you also don't know what opportunities will arise.
Even a junior developer with basic knowledge can make meaningful (and thus compensated) contributions during the learning process. I'd rather spend 10 weeks or 6 months or whatever building some skills, then get a job and learn while being paid, vs. spending my whole life in isolation trying to become a zen master and write the one perfect line of code.
Breadth first, then depth.
For "deep" areas such as mathematics, medicine, and theoretical computer science one needs an extensive theoretical background before being able to advance the field. A depth-first approach may be the only way of learning a useful subset. This may also apply to something like "database theory in general".
However for "product skills" (such as learning a specific database package or API) there's something to be said for a breadth-first approach. Especially nowadays, where today's hot skill can be neigh useless tomorrow. If you spend years only perfecting some skill you may be too late to profit from it! Also as the field is moving so fast, by the time you learned the PostgresSQL manual from beginning to end, there has been a new major release that invalidates many of the best practices that you spent so much time learning...
You don't even need to be able to "advance the field" to contribute meaningfully.
Take medicine. It's possible to teach someone some specific skills quite quickly (I probably have 200 hours of first aid training, essentially much of EMT-B plus lots of specific training in trauma, specifically dealing with massive hemorrhage from traumatic amputations, dealing with GSW, tension pneumothorax, etc., and various diving related issues, and some extremely basic radiology knowledge to assist technicians and rads in debugging a PACS.) With that level of training, or even 4 hours of really basic first aid training, you know enough to help. I won't be writing any dissertations on the best way to deal with a specific kind of trauma, but I can do a pretty good job of stopping bleeding in most cases. You're not going to have a top-flight trauma surgeon in every car. The 200-hour tech isn't going to be operating on his own (ideally), but can be a part of the solution. For some fields, like datacenter operations, experience is worth more than formal training, too.
Plus, there actually are a surprising number of cases where a relative newcomer to a field actually does end up advancing the theoretical limits. Maybe it's due to not knowing and accepting the limits of the field at the time, or maybe it's because that moderately passable junior programmer also happens to be a world-class expert in some other domain which just happens to be similar to the problem at hand, but it's not all that uncommon.
I'd still prefer any pending neurosurgery on me be done by someone with a good amount of experience, credentialing, and expertise, but it's a rare Django app which requires that level of caution :)
I wish people would stop these boot camps with ridiculous claims. We've had a couple of victims of these schemes apply to us and we've had to rather sadly tell them 'no way' and explain why.
A lot of them have come from business and arts backgrounds and think it's an easy way to make quick cash (hint: it isn't - writing software is hard and laborious and pays crap for the first couple of years, if you can stomach it that long).