Coding Academies -- Useful Or Nonsense? (techcrunch.com)
An anonymous reader writes: Stephen Nichols, CEO of a platform that helps non-coders create simple video games, thinks that so-called coding academies are essentially snake oil. "In 20+ years of professional coding, I've never seen someone go from novice to full-fledged programmer in a matter of weeks, yet that seems to be what coding academies are promising, alongside instant employment, a salary big enough to afford a Tesla and the ability to change lives." His point is reminiscent of Peter Norvig's in "Teach Yourself Programming in Ten Years."
Nichols also thinks coding tools will become powerful enough in the next decade that the demand for actual, dedicated coders will diminish (perhaps not surprising, given his business). But he's probably right that the people likely to go to a coding academy are likely to be the ones using those tools, when they arrive. "Put succinctly, coding is writing text files in foreign languages containing instructions suitable for an absolute idiot to follow. ... For a little while, spending tens of thousands of dollars on a coding academy might feel like a good way to surmount the intimidation. ... More likely, it is just a new pathway into debt."
Nichols also thinks coding tools will become powerful enough in the next decade that the demand for actual, dedicated coders will diminish (perhaps not surprising, given his business). But he's probably right that the people likely to go to a coding academy are likely to be the ones using those tools, when they arrive. "Put succinctly, coding is writing text files in foreign languages containing instructions suitable for an absolute idiot to follow. ... For a little while, spending tens of thousands of dollars on a coding academy might feel like a good way to surmount the intimidation. ... More likely, it is just a new pathway into debt."
Coding academies are nonsense and attract the kind of mind that becomes a lawyer because they want money, or becomes a doctor because they want money. Real programmers have gravitated towards their field long before ever having a formal education in it. Also, I highly doubt you can teach the computer science concepts that back up this field in a few weeks. Really, these places just produce code monkeys who don't really understand what they're doing but glue pieces of code from Stack Overflow together.
Teach them math and critial thinking... Coding is just a translation level. ie human "compilers". Taking one language and encoding in another. As C++ is converted to binary (or P-code to bin).
Writing code easy ANYONE can do it. Understanding what you are writing is meaningful, actaully does what you want? That is crital thinking.
"Cram courses" that teach a programmer how to use a totally-new language, totally-new development environment, or even totally-new paradigm are probably useful and worth the time, but they may or may not be worth the money.
Ditto if the student is someone who has many years of experience thinking in logical terms that "map well" to the kinds of thinking that good programmers use every day. The 4 questions at the end of the article are a good ones anyone going this route should ask before they invest the time and money. Another good question is "is there a cheaper/faster/better way for me to learn what I want to learn besides going to a cram-course or coding academy?"
(warning - off-topic material head)
Then there are the "academies" that are designed to give you "more than passing familiarity" with programming but aren't designed to make you "job-ready." I'm thinking mainly summer camps for children and teenagers but also non-credit "life enrichment" courses for adults that teach basically the same skills you can learn in a "teach yourself FOO in N days" or "COMPLEX_TOPIC_FOO for dummies" books.
Knowledge is how to play a game, intelligence is how to win, wisdom is knowing what game to play.
coding is writing text files in foreign languages containing instructions suitable for an absolute idiot to follow
The hard part isn't writing code. The hard part is knowing what code to write.
It's called attrition rate. For any profession there's a relatively small amount that stay within that profession for 10, 20, 30 years. The counterexamples to this rule are the professions that tend to be taken by people that wanted to be in that profession for all of their lives. i.e. an MD or a lawyer. I'm sure coding academies will attract a high amount of novices. But from that influx there will still be some percent - perhaps even 0.001% - that just springboard after it.
Is it enough to call it not snakeoil? Probably not. In my totally unscientific and personal experience, programming languages and frameworks usually have sufficient information for me to figure them out and know how to use them. That includes the very basic stuff of learning java, for example. If you name a programming language there's a way to teach yourself it for free. So the coding academies are vying for a portion of a market with a "free" and viable enough alternative. I'd call THAT snakeoil.
PS: I don't reply to ACs.
Everyone I work with is completely self-taught. Yes, people do courses and obtain certs so they're noticed by HR when they submit the resume.
I've never seen any of these courses or even formal CS education produce a John Carmack, ever.
If someone has the ambition and aptitude to learn how to code they'll find a way to do so, with or without specialized schools. All those schools will serve to accomplish is to spit out borderline engineers who never should have entered the field in the first place.
Nichols also thinks coding tools will become powerful enough in the next decade that the demand for actual, dedicated coders will diminish
Just because there are more and more powerful tools does not mean that the need for people to understand how to use them will diminish, any more than cheaper and better hammers have led to a decline in architects.
What it WILL mean is more and more custom and tailored software being built, which is great.
"There is more worth loving than we have strength to love." - Brian Jay Stanley
The old school system needs some change but what is the best way to go?
The University system now days costs to much and some case all the required classes can push it out to 5 years.
Well rounded is nice to have but now days lot's of people will be better learn more skills and not PE classes that cost more then a 2 year gym / club membership for just 1 class. Some still have the swim test. I say just by cutting the filler / fluff classes we can get it down to 2-3 years.
The tech / trade schools are more hands on (still 2-4 years) and they have less theory classes. Some theory is good but at some University they trun out people who have very little hands on skills / are not ready for real work.
The old on idea of your on your own needs to go. There have been cases of people getting in trouble for reusing old work / doing group work in class. also classes that are about cramming for the test need to change as well.
Maybe America just needs to reform its post-secondary school system, the rest of the world doesn't cost nearly as much.
You left out
* Teach Yourself Time Travel in 21 Days!
'Cause you're gonna need it if you hope to do the others in 3 weeks each.
Knowledge is how to play a game, intelligence is how to win, wisdom is knowing what game to play.
* Some countries excepted. Have you seen the cost of tuition in the UK recently?
The real "Libtards" are the Libertarians!
For example, ITT Technical Schools is the latest in a string of disasters in privatized for profit education. They got caught lying to pretty much everyone: state and federal authorities, investors, and students. Here's an example of how these scumsuckers operate.
This comes on the heels of Corinthian Colleges declaring bankruptcy. Goldman-Sachs owned a large stake in them before they went under. "In 2010, CCi reported that it received 81.9% of revenue from Title IV federal student aid programs." Corinthian is also now the target of multiple civil suits and criminal investigations.
All the money that went down these rat holes would have been better spent on existing public education institutions, like community colleges and four year degree schools. This is just another painful example of how the private sector fails at some tasks and that many activities are best left to the government.
Why is Snark Required?
If you have a degree in CS, I don't expect you to know any particular language, but I do expect you to pick just about any one up as needed by looking at existing code or browsing the web for a bit.
Yeah seriously. At some point you always need someone that can get into the weeds and gritty details.
PS: I don't reply to ACs.
> Nichols also thinks coding tools will become powerful enough in the next decade that the demand for actual, dedicated coders will diminish
For those who might not know, this has been predicted for decades.
Here is the cover of PC Magazine, February, 1981:
http://it-careers.pbworks.com/f/1192117231/tlo.gif
Nichols also thinks coding tools will become powerful enough in the next decade that the demand for actual, dedicated coders will diminish
That's what they said when they created Cobol.
Seriously I've seen this same pattern over and over. Some company comes up with a "power user" development tool which is seen as the best thing ever because it will allow business users (who have business knowledge) to do everything themselves. But unfortunately the tool never does exactly what is needed and it proves a bit too tricky to configure so either the thing is shelved or it's passed on to a team of "real" developers so they can integrate in-house tools with this piece of shit and work around the bugs. It's a nightmare because the tool is too high-level and limited for a programmer to easily sets his hooks in, so rockstars run away from that project (or company). That team becomes a dark pit where only lifers and quota employees are thrown in, and they are miserable and the whole thing sucks and there's champagne for everyone whenever a ridiculously low hanging fruit goal is achieved.
A power user development tool is even worse than an in-house "framework" designed by some dude who left two years ago to do whitewater rafting in South America and never came back.
lucm, indeed.
I first heard (a variant of) this idea in 1981. Don't hold your breath waiting for it to happen
Requiem for the American Dream
I have hired a number of 6 weeks immersive course graduates for our development team. Although skills and aptitude is certainly variable several have shown themselves to be excellent engineers, in some cases outpacing their traditionally educated team members.
That said there are certainly gaps in their education and general understanding of the field but that does not preclude them from making a general contribution.
It seems people have very short memories and don't recall Bubble 1.0. The only difference between "coder bootcamps" and "MCSE bootcamps" is what's hot now. In the late 90s, if you weren't an HTML, Java or CGi guy, there was a huge market for system admins as well. Now there's less systems focus because of "the cloud" but there sure are a lot of phone apps to be written. The result is the same -- less-than-honest training companies selling the dream of being a hotshot app developer in just a few short weeks.
I'm not a developer, I'm a systems guy with 20+ years of experience. Back in the late 90s, I graduated with a non-CS bachelor's degree, got a help desk job and taught myself the fundamentals of the network ecosystems back then (NetWare, OS/2, Windows NT, etc.) As part of the self-teaching, I took the Windows NT MCSE exam track. Slow going, but I learned a lot, including the fundamentals not covered by the exams themselves. A few years later, I had a good solid system admin job and my company sent me to one of the MCSE bootcamps for an upgrade cert. I wish I had saved some of the ads for these places from back then. They were doing what ITT Tech, University of Phoenix, etc. are doing now -- selling completely green newbies on a 2 week course to get them their MCSE for some ongodly sum. I am not kidding when I say we're still working through managing out some of these paper MCSEs from the systems world in 2015. I sound like an old stick in the mud, but these shortcuts around the fundamentals produce some really screwed up employees. There are still people who can't use the Windows command line, can't script/automate anything, and have no basic troubleshooting skills. And sometimes, employers who have been burned paint us all with the same brush.
If you're just reviewing material for a certification, or need to learn a new language in an intensive environment, these bootcamps are fine as long as you have some fundamentals to fall back on. They are not a substitute for learning a subject in more depth.
"Software development tools will soon understand what you mean versus what you say". Ok, so we are going to get better results from writing vaguer instructions and putting it into smarter tools? Hasn't he been in a corporate environment where people every day request one thing and expect the program to do something different because what they mean is not what they wrote? Ever since Babbage, people have expected computers to read their mind, and there's no magical method of doing so that's around the corner.
You can get from novice to a full fledged programmer in a couple of weeks. Back when I started college, I felt that I was a dismal programmer and my teacher suggested I should look at the (now legendary) book "Thinking in C++ "by Bruce Eckel (he was the one that inspired a lot of "Thinking in" copy-cats). So I did - I went through all the content and did all the exercises suggested. It took a couple of weeks of long hours since it's like 1000 pages long, but at the end I felt I understood programming to an acceptable degree.
The 20 years that followed just validated my experience - while I had to learn some specific areas of computing for specific projects, like WinSock (hey, it was the 90's), or parallel programming (which admittedly took another similar learning session), I was always head and shoulders above the average corporate developer.
I've also seen a lot of other people do it in a similar way - a relatively shor burst (like up to two months) of concentrated learning and self-training. On the other hand I've never seen a shitty programmer become a good programmer slowly over the course of 4 years. That just does not happen - either you put the effor in and become better rapidly, or you half-ass it and learn very little.
The problem with the coding academies is that they have low standards and they don't push people. A lot of folks don't have the patience necessary and should be failing these courses, but they are handed the certificate anyway. That's just the way it is with diploma mills.
There are fundamental capabilities involved in developing appplications that involve the process of logic, scientific method that all come from a structured STEM education. Learning syntax and best practices for developers can only be useful when layered on top of a structured STEM education. Some of the capabilities that come out of that STEM education are the proper use of logic, scientific method and one of the most important items: knowing what you don't know. How many of us have worked with that self taught programmer running around acting like they are the be all end all when they don't know their head from a hole in the ground? When you work towards that degree in STEM you get a sense of humility from having to work so hard to get decent grades in those classes. Science, math and engineering is f'ing hard. You have an appreciation of the science, math and physics that go into developing something that the self taught programmer with the HS diploma simply doesn't have. Further, you can be d*mn sure that HS grad/self taught programmer wasn't taking AP calc and physics in HS otherwise they surely would have moved on to getting at least an undergrad degree in some STEM discipline. I did a lot of work with rules engine deployments in the late 90's/early 2000's with large financial organizations. The selling point of these rules engines was that you could take your business people and have them build the rules that were fed into the engines. It went poorly. The fundamental reason was the business people simply had no good base in logic to string together their rules so they actually worked. You end up with having a bunch of engineers having to support the business people because of all the logic errors/incompatibility of the rules built by the business people. And when the rules engine would choke on their rules the biz people had a difficult time figuring out the problem(s). These tools that are being created to allow anyone to create apps are certain to face the same fate as the rules engine. Fundamentally, an app needs logic, loops and blocks and that's where the breakdown will occur for the non-programmer building the app. You will always need the trained engineer for app development. All these tools can do is reduce the amount of grunt work necessary to build the apps. You will need fewer programmers to do app development and that's a win. And the developers that will be cut off the payroll because of these tools are those self taught ones that really don't know what they are doing anyway.
Let's start an academy to teach students to become teachers in Japan by teaching them Japanese. The students initially know almost nothing about developing courses, lesson plans, etc. or teaching anything in any language. The academy does a fine job of teaching them the Japanese language and they get diplomas. They now have the useful skill of knowing the Japanese language. They still don't know how to teach.
I started programming in the 1960s and have written software in over two dozen programming languages on many systems, most of them now obsolete. (I'm a retired old fart.) The hard part isn't learning a programming language, it's understanding how to formulate a logical approach to constructing a program that will perform the job it was built to do.
Mastering heuristic skills and effective processes to get from initial concept to final program is about 90% of the work. Languages, development environments, and methodologies are simply the tools, so the best programmers consistently add more tools to their toolkits.
The focus on coding (at most 10-15% of the whole job) is a disservice to the students. It's like a flight school whose students never get to fly a plane, despite promising to qualify them as pilots.
It was more like 2 years rather than three months. They didnt have IDEs then, so it more tedious writing code.
This trade school taint cause some reluctance for big name schools like MIT and Stanford to delay creating CS departments and offering programming classes. Sort felt like teaching typing, something they should not offer credit classes in. MIT didnt have a formal CS degree until 1980, several years after I went through. You could minor in CS in EE, business, or math.
"Just around the corner" since the 1950s. COBOL and FORTRAN were touted in this vein when created. At least compared to Asembly, they were more productive. Graphical programming environments, UML, IDEs where all touted and practically automatically coding.
Only if you live in it.
SJW: a person who perceives an injustice, and while correcting it, commits a greater injustice.
I use sites like codecademy quite often, but I already have a degree. Great for learning the basic syntax of a new language or framework, or for getting a quick refresher for something I haven't used in a while. Can't say I know how successful it is for new programmers.
I always thought "software engineer" was too pretentious. I think "coder" is beneath me as it only speaks to the issue of translating algorithms into code, which is trivial. I've always preferred "programmer". There's a computer. I program it. I'm a programmer. That's simple. There's no bullshit about it. Good software strips away the bullshit. This is just my opinion; but I think a good programming mindset is one that loathes bullshit, which is why programmers don't do well in politics. Politics is mostly bullshit.
For all intensive purposes, "whom" is no longer a word. That begs the question, "who cares"?
Nichols also thinks coding tools will become powerful enough in the next decade that the demand for actual, dedicated coders will diminish
Then, we will tackle more difficult programming problems, like we always have.
Related to what you are saying, I have a revised maxim:
Those who can, do. Those who can't, move into management.
"There is more worth loving than we have strength to love." - Brian Jay Stanley
If it had been invented by a man you'd be saying it was the best thing ever.
Cobol was created by 3 men and 3 women. Pick something else if you look for controversy about genders disparity in IT.
lucm, indeed.