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).
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?
Bootcamp isn't about skills, it's about breaking down the civilian mentality and then building back up a military one.
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).
Uh, no, I was in the Army and I learned way more than not getting killed or court martialed. In fact, you saying that says either your military sucks at training or you're lying.
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.
The military, well the British Army which is my only experience (not strictly true [1]), does suck at training. I mean really suck. Most knowledge is pumped down via training manuals written by people detached from the equipment or scenarios or is done via assimilation. That inevitably ends up with people who have ascended to a higher rank due to ass-licking giving years out of date advice to lower ranks. At the end of the day, it's a pyramid of process and chaos. Thank fuck I had the chance to resign my commission (cuts cuts cuts) before I got shipped to Iraq.
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".
So, you get to say something incredibly invalid and easily disproven like "you can not learn any skill in 10 weeks" because I wrote an essay in 2008? Four years ago?
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.
> 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.
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.
We do indeed explain that to them and provide them with material so that they can improve rather than just kicking them out of the door. We're good like that. We just can't hire them.
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.
> 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.
> 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".
At this point, you are just trying to validate your investment. I see that you somehow studied postgres for 1 year before using it. Study postgres for whole your life; I couldn't care less. 1 year is neither the desired nor the required time it takes. But since you invested 1 year, you will go all out declaring anyone who can use postgres efficiently after studying it for 2 weeks is lying.
I will remember not to approach any company where you work, Meaty, because of your lack of faith in people being able to dedicate themselves and learn quickly. It also sounds like you would never invest in any employee, which makes it clear that you would not be the right one to work with anyway. Developers are in demand so much right now that I have no idea how you find the perfect candidate. The market will not get any better without the investment of employers. I am by no means proficient after graduating from Hackbright on Friday, and I hope that every company I talk to knows that, but I have a wonderfully firm basis that will help me build an amazing career I never dreamed of. I think that is actually noble of the founders of Hackbright to change peoples' lives so quickly and wonderfully. It is my understanding that every programmer continues learning, and that is just what I intend to do.
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.
> The market will not get any better without the investment of employers.
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.
Yes, that is a problem sometimes. That is another thing really awesome about Hackbright--they provide a lot of networking opportunities and even a Career Day. I have nine interviews so far.
I learned enough C in a semester to get a (pretty crap) job writimg Javascript and PHP having never programmed before.
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.
I get what you're saying (I designed a 4-bit CPU at university, prototyped it in basic TTL and got it fabbed and it worked (!) in two semesters) but it doesn't mean I'll ever be able to throw a useful microcontroller core out of the door or that the work I did was of any merchantable quality.
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.
You missed the part where I said I got a job, producing code which made someone else money, after only a semester of C having never done any programming before.
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.
If Hackbright didn't have the capability to teach skills in a short period of time, we wouldn't have jobs, wouldn't have our own working apps, and certainly wouldn't be winning any prizes at hackathons.
You're also forgetting that they've got an application process.
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.
No, I believe learning a skill is an investment, which is why I take my time (sometimes years) and study for a long time before I even put pen to paper.
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.
I agree, to become an expert takes time (some say 10,000 hours). We don't claim to train people to be experts. Our students do not graduate knowing the solution to every edge case. They graduate with a strong foundation and confidence. They spend a lot of time learning how to learn - how to grow as a developer. The journey doesn't end with the end of the program. For many of our graduates, the end of the program is just the beginning (one graduate just wrote about this today: http://www.mercedescoyle.com/last-day-of-hackbright-first-da...). Our goal is to provide them with the skills they need to start a career in software development. So far, the majority of our graduates from the first batch (8 out of 8 seeking employment) have already started their new careers in software development.
In my case, a simplified view: reading the documentation, building a list of scenarios based on proposed functions and associated risks, testing each one and documenting it in a concise manor. Then building something serious, testing it, breaking it predictably and unpredictably and reworking conclusions from above. Also doing research on best practices, bad practices, performance reducing functions and hints/tips, integration paths etc.
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.
I think it would be insane for someone with little or no experience in the field to devote years to a specific skill (say, complete mastery of Postgres), before working on problems in the real world.
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.
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 :)
Yes, fairly simple skills. I would concur with my grandparent that it is impossible to master a complex skill set in just a short amount of time. That's not to say that it is useless. On the contrary: it gives your graduates a basis companies can work with to turn them into productive programmers for the company. Especially because your students will have a solid background in some other field (?). That can make them valuable employees if they are able to take the hurdle of working as a underpaid entry-level programmer for a while.
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).