Codecademy's ReSkillUSA: Gestation Period For New Developers Is 3 Months
theodp writes: TechCrunch reports that Codecademy has teamed up with online and offline coding schools to create ReskillUSA. "3 months," explains ReskillUSA's website, is "how long it takes a dedicated beginner to learn the skills to qualify for computing and web development jobs." TechCrunch's Anthony Ha explains,"By teaming up with other organizations, Codecademy is also hoping to convince employers that completing one of those programs is a meaningful qualification for a job, and that you don't necessarily need a bachelor's degree in computer science." In his Medium post, Codecademy CEO Zach Sims calls on "students learning for the jobs of the future or employers interested in hiring a diverse and skilled workforce – to join us. The future of our economy depends on it."
It's too bad I can't mod TFS funny.
Great minds think alike; fools seldom differ.
Where you have to list assumptions for your problem statement. For instance: 1. We're assuming that the 'beginner' already has a functional knowledge of more advanced math. 2. We're assuming that the 'beginner' already has a functional knowledge of computers - things like screen widths And so on. Yeah. I can grab my 7 year old, plop him down and teach him to write basic programs like 'hello world'. But he won't have the background in all the other subjects along with the critical thinking and problem solving skills that are required to actually be a good programmer. THAT's a skill set that takes way more than 3 months to teach.
I don't normally reply to my one post, but here's the key take away from that article:
Codecademy is also hoping to convince employers that completing one of those programs is a meaningful qualification for a job
I.e. - create a new certification that companies can require. Then profit from it.
Because H-1Bs are cheaper.
There are plenty of high schools that teach people the basics of programming in the course of ten months. The advanced courses do a pretty good job of covering everything from languages to algorithms to software engineering. Yet I don't see businesses jumping at the prospects of hiring these graduates.
There's a reason for that: they only touch upon the basics because they only have time to touch upon the basics. While that may be enough to put together a website for a small business or create a basic smartphone/tablet app, only the tiniest minority will come away with the skills to make something as advanced as a salable indie game.
To do anything innovative, you need both the training and experience to handle the mathematics and design that goes into larger applications. That takes years, which is why university programs take years. Without that extra effort and the dedication behind it, very few people are going to be able to develop anything beyond the most basic program.
(Note: I'm not suggesting that the training and experience has to be formal, since a lot of self-studies have done amazing stuff in this field. Yet even teenagers who have created sophisticated programs have been building upon their skills for more than a year, never mind a few months.)
Technically, someone could be a "programmer" after only 3 months of work. More specifically, a "bad programmer".
From TFA:
That kind of says it all right there.
How about, instead, they put together a curriculum showing what an entry level programmer should know? Even if it takes more than 3 months to finish it all. And what the different sub-fields are in programming (kernel hacker, web site designer, database programmer, etc). Maybe you don't need so much math if you're going to be "coding" in HTML/CSS/scripting-language. But then you aren't going to be hitting the $80,000/year "average" that they claim.
And here you were worried where the next generation of software security flaws and data vulnerabilities were gonna come from!
Yeah, I'm sure three months is plenty of time...
#DeleteChrome
I'm not trying to be antagonistic, but basically in the same breath, you said that you're not a programmer, yet you judge programming to be a trade like plumbing.
I can't reconcile those two, and I respectfully disagree.
By the way, I totally agree about code riddled with bugs. I work on safety-critical software, and I can assure you, not all software (firmware in my case) is of such low quality. But I'll also concede that the cost and time to develop such software is much longer than your typical slap-happy PHP script running on foo.com's webserver...
It's LOL, for sure. In three months you can teach someone the essential keywords of a language and basic syntax, sure. Knowing the essential words doesn't make one a developer any more than it makes one a poet. Programming is nearly pure thought, reasoning. Noting the results of the thought-work using the shorthand known as "code" is a necessary piece of sidework, like an archaeologist. taking notes using archaeological abbreviations. The ability to take notes doesn't make one an archaeologist, the ability to scrawl code,doesn't make one a software architect. To be fair, their very name admits they teach the wrong thing - Code Academy. Apparently they teach code. Pretty much like setting up Medical Abbreviations Academy, where they teach medical abbreviations.
As others have said, I've been programming professionally, and studying my craft, for nearly 20 years ; I still consult with my peers several times each week because none of us know everything we nees to know yet. Except Knuth, of course. Probably the closest any programmer has gotten to knowing their job is Ted T'so - he's the best in the world at developing filesystems. He only needs about 20 other people to review his work before it goes to production.
I am both a programmer and a plumber, and I can tell you that plumbing isn't as bug-free as you make it out to be. For example, if you stuff too many potato peels down your garbage disposal too quickly, your sink will back up, requiring you to take apart the drain plumbing to get all the peels out. I know, I've had to do this in multiple houses. That's the equivalent of a page crashing when you put in bad data. If you put food down the disposal at a rate it can handle, it will work fine, and if you put reasonably good data into a given Web page, it usually works.
There is an entire industry devoted to fixing "bugs" in plumbing, from drain cleaners to root-removal services. How many bathroom sinks have drain stoppers that don't quite hold the water in the sink? How many shower drains get clogged? How many old pipes leak due to corrosion?
Yes, programming is a trade, like plumbing and electrical work. And like the other trades, programmers have to often fix issues due to problems that either weren't anticipated during construction. In my view, programmers in general don't create code that is particularly more shoddy than craftsmen of any other trade. With each trade, there is a trade-off between quality and cost.
and just how good and maintainable is that code?
PS: I don't reply to ACs.
Full disclosure: I hold a bachelor's in CS from Stanford and have been an engineer for 14 years since then. I think my degree was, to be polite, poor preparation for any real-world work beyond teaching college CS courses, although I have also never seen any program I think is better.
I've been saying for a while that any "good" engineering education of the future won't look much like today's system. A college degree is a needlessly long, expensive process for qualified candidates to go through to demonstrate their ability (although I definitely think college has many other benefits), and wastes our time with piles of worthless freshman requirements. On top of that, "Computer Science" isn't what engineers do - it goes into far deeper theory than is needed for almost anyone, and at the same time leaves out a lot of real-world skills that are critical for building functioning software.
Ultimately, the only reason CS degrees have the industry importance they do is because it's one of the only things recruiters can understand. For that very reason, boot-camp programs like this, despite their utterly moronic assertion that a decent engineer can be cranked out in three months, are nonetheless a step toward a better solution.
I think the industry needs some sort of advanced trade schools - basically, a prestigious version of DeVry that teaches not just programming using the language of the moment, but *software engineering* as the separate discipline that it truly is (maybe this already exists somewhere, but I think it should be widespread). We need degrees that are good enough to indicate reliably high value in a candidate and provide enduring background knowledge, affordable enough for the average middle-class person to break into engineering, and still provide a black-and-white resume line item that's simple enough to pass the buzzword filters in recruiters' minds. I see no reason why a two-year associate's degree that's packed full of courses on real-world subjects, as well as tons of actual code construction, couldn't theoretically be *far better* than any current CS degree from a top university.
I was never able to take a single class on scalability, security, development methodology trends and how to evaluate them, management of large codebases, refactoring, etc. These are not flash-in-the-pan concepts that only reflect some current fad, but timeless and critical skills that are fully suitable for a university setting. However, universities are too mired in trying avoid looking like trade schools (and thereby justify their astronomical prices) to care much about providing real value to their customers, which makes them ripe to be punished by the free market.
I'm not fearful for my job.
It will be my job to unpick the huge steaming turd that some manager decided to outsource to a "3 month programmer".
I'm not fearful for my job; I'm fearful for my sanity.
I taught myself BASIC in a matter of weeks during high school. In a sense, I "could program", and I had a great deal of fun making little computer games, "password protection" programs, and stuff like that. Then I went to college and learned how little I knew. Then I went to work and found out how much I still had to learn.
With the right drive, anyone can learn to program. Similarly, anyone can learn how to draw. There are places for simple carnival caricature artists in the world, and there are places for coders who get a start in a 3 month program. I'm very grateful to them, since they help make places for people like me, fixing the problems caused by copy+paste coders that don't understand some of the details that I do.
It is pitch black. You are likely to be eaten by a grue.
I'm not trying to be antagonistic, but basically in the same breath, you said that you're not a programmer, yet you judge programming to be a trade like plumbing.
I can't reconcile those two, and I respectfully disagree.
Are you a plumber? I'm neither a plumber nor a programmer but I appreciate both that both feature significant complexities which the layperson does not appreciate, and that an only moderately skilled beginner can yet still accomplish many common tasks.
"You're right," Fisheye says. "I should have set it on 'whip' or 'chop.'"