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."
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.
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.)
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.
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.