"Learn To Code, Get a Job" According To CNN
An anonymous reader writes "CNN is running an opinion article that talks about Michael Bloomberg's taking part in CodeAdacemy's CodeYear program, which aims to teach average people to learn enough to work as a Software Developer by year end. I'm trying to not be elitist in judging this article and those involved, but I'm curious as to what /. thinks of this questionable plan."
You can get a job as a software developer in the same sense as a lot of people could go through HTML For Dummies and get jobs as Web Developers. That's great when companies are hungry for anyone even minimally qualified, but it's not going to do much for keeping your job when they start having to actually work with and maintain your work product.
One of my pet hates is working with programmers who are doing it only because they need a job. Don't get me wrong, I wouldn't be here if I didn't get paid, but programmers without passion for what they do write lousy and uninspired software. People with passion are unlikely to end up in such a scheme, so I don't really see a big benefit.
I've worked with plenty of people who had 5+ years of "experience" who perform at the competency level of a 1st year coder. Especially in very large companies I've found that the day-to-day tasks are usually designed to shield the employees from any apparent consequences of their own incompetence or any risk of becoming competent. Typically, 90% of the job is just being attractive and good-smelling enough that your co-workers can be nice to you without trying hard.
Average users have a hard enough time even using software competently after a year's time. Let alone creating it.
Just think about many people still don't know how to find something simple like the control panel in XP after all these years...
Someone making promises that are fake but will reinforce uneducated PHB's
"Why should we pay you more? anyone can become a expert coder by studying at home part time for a year."
Do not look at laser with remaining good eye.
I remember first semester freshman year. The weed-out EE course was full of bright-faced eager kids convinced they were gonna get a good paying job when they graduated.
2 weeks later the class size was cut in half when they found out how much work was involved.
Anyone can learn to write a "Hello World" program but that doesn't make them a software professional.
...everyone knows that if you will just take a few weeks to learn to program, you can start making 60k or more a year within a month or two.
Ok, granted, this story wasn't quite THAT bad, and the idea that everyone should take a few weeks to learn what programming IS, the concepts, is probably a good idea. However, the idea that you can learn to be a programmer in one year is foolish. I've never had any formal training, self taught in Perl, javascript, some PHP, and been doing it as a minor part of my job for 15 years, and I'm not a programmer. Having at least moderate skills, to understand what a shell script or batch file is, what HTML code is and does, will help you in your job, but you aren't going to start creating more real programmers with one year, even if that is all they do is learn 24/7 for that year.
What there is a shortage of is people with MORE than one year of training as a programmer. People who can write good code, instead of the bloated crap that I write to just get the job done. But that isn't what this article is about, it is about promising something that won't happen, that learning a little coding will guarantee you a job. It won't help a forklift driver, someone used to working on an assembly line that is now part of a closed factory, or half the people looking for work now. It will do them personally good to understand a little, but it won't be the cure for our unemployment.
Unemployment is high right now, not because companies can't find good people, but because companies are afraid to take on the responsibility (and liability) of expanding and hiring until they absolutely have to, due to a messed up political and financial environment.
Tequila: It's not just for breakfast anymore!
Exactly. A lame little site with twenty little lessons on Javascript and they have had two slashdot articles already plus a shedload of legacy media coverage just because they snuck Bloomy some preIPO stock or something. Meh.
Democrat delenda est
We already have too many coders at my current employer, what we need are software developers that know how to architect a maintainable system.
I've been in this business for 30 years. Most code I've seen does indeed look like it was designed and written like a "lean-to".... and I have great faith that it will continue to do so as long as I live, and long after I'm gone too.
A major argument of the opinion piece is that having at least a rudimentary understanding of how computers and software actually work is increasingly important, and that learning some programming is a good way to accomplish that. I doubt anyone here would argue with that.
The second half of the article, while not explicitly saying it, does suggest that if a person spends a little time learning to code they'll magically get an awesome ("high-paying", in the words of the author) job. This is a major oversimplification, at least. The author provides no convincing evidence that this is true, except for a quote from his CEO friend.
Don't we want all of our code lean?
Not really - I've run into too many coders that think "lean" code is the same as "terse code". They skip comments, compress loops into a single line or use all sorts of other tricks to compress code into a single line, etc. Anything they can do to make their code "lean". Which of course, makes their code write-only.
Peter Norvig's "Teach Yourself To Programming In Ten Years" http://norvig.com/21-days.html
Pretty much sums it up. There have also been many posters so far that have mentioned you can't just "make" someone a programmer. They have to want it, to enjoy it and to already "be" a programmer in mind and spirit. Same goes for the new British thing of forcing gradeschool kids to learn programming. Having it available as an option would be great, but forcing them into it won't give you more programmers, much less good ones. Meanwhile, all the kids that were going to become programmers will still do it whether you encourage them or not. Simple as that.
Surely the "Lean" up above is a typo, but there is a serious problem of late with Slashdotters and their spelling and grammar abilities. People who learned English as a second or third language get a pass, but for all you up and coming kids who are native speakers, what the fuck?
(my two hamfisted cents. I'm going back to Skyrim)
do() || do_not();
In all honesty, it can't be much worse than the crap our India "consultants" crank out...
Pretty much yeah. Learn enough to be a software developer in a year? Not a chance. You might learn some programming language pretty well in a year but there's no way you can learn the essential skills for professional software development - debugging and breaking down even simple problems to elementary tasks. That takes years of practice because it requires your brain to rewire to allow completely new way of thinking. After a year, you won't be qualified even to work as an assistant to a code monkey, much less a real software developer.
Elitism: It's what Slashdot's serving for dinner.
Yes.
The code produced will the architectural equivalent of a "lean-to".
Its like practicing medicine after a first-aid course. Practicing law after watching Judge Judy.
These are the "handymen" of the IT industry.
Relax, guys.
These guys will get the moneymeisters to invest, as they will promise and deliver an inexpensive job.
Once the moneymeister has money invested, he will be easier to talk to as he will now have a vested interest in his investment actually being viable.
You know the story: Haircuts, $1.00. Across the street: We fix bad haircuts, $10.00.
But it gets better. The guy didn't need service at all until he got the buck job.
"Prove all things; hold fast that which is good." [KJV: I Thessalonians 5:21]
Call it what you will, but the bottom line is there is no way people can learn to be a software developer with this rubbish. It takes most people years to get even CLOSE to learning proper design techniques. Even then, I see people that are Computer Science majors about to graduate that still barely grasp the concept of object oriented design, let alone anything like logic or functional programming. Hell I have been programming for 8+ years and even when I finally got into the business world I am STILL learning a fair bit. Foundation is everything, and you're not going to lay a solid one for software development in a years time unless that person is a damn prodigy to begin with.
The above is NOT flamebait, o moderators. I meant it. I've been listening to, and reading, "blah, blah, stupid users never learn anything" since the 90's, and I think these criticisms are disingenuous as hell. Along comes an easy, fun set of lessons on the rudiments of programming, and people are deriding it for: too much media attention, too simple, too popular, et cetera. If your stance is, "I like being a computer geek because it allows me to look down on others," then that's your sad bag, but at least be honest about it. Only good can come from average people coming to realize that this stuff isn't some magic inborn to the 7th son of a rocket scientist; it just takes curiosity and persistence. I am calling bullshit on your defensive insecurity, and I have the Slashdot karma to burn doing it, tyvm.
The recognition that some people are better than others at certain tasks is not elitism, it is merely recognition of reality.
Elitism is the idea that those better people ought to rule over the other ones.
You don't need people who know proper design techniques, just monkeys who can spew crappy code. And this isn't just for low-level positions either; you can get a bunch of them together and have them write totally brain-dead standards like CSS! Then they can do things like completely omit something as simple as a simple, direct way of centering something instead of having to use some weird hack with margins.
They don't already?
Hackers write code. Professional software engineers deliver business solutions.
For the beginning professional software engineers out there, here's a tip : comment your code (and comment it correctly.)
Code tell you what.
Comments tell you why.
Glonoinha the MebiByte Slayer
Elitism I don't mind so much.
It's the exclusiveness, keeping others down.
Someone on top should be reaching down with a hand, not shoving down with a boot.
I'm a martial arts instructor. Inevitably, a time comes when certain types of people ask me to teach them some "quick self defense." What I tell them is that I can pretty much show them all the basics they need to know in a long day; but that without knowing when to use these things, how to use them, what degree of the various implementations to apply, learning to see things coming sooner, hopefully before they create mayhem upon your person... it does very little good.
I see programming as somewhat like that. I can show how to write a conditional loop, maybe teach what a class is, talk about different kinds of variables... but without considerable experience wrapped around those things, not to mention at least some math, some tech savvy, some idea about what hardware actually consists of, and a goodly bit of time, you're not going to be a "programmer" any more than a day under my tender care will turn you into Bruce Lee.
Which is not to say you can't go out and get those things over the long term (by which I do not mean one year, btw). But most people are looking for the easy fix, and they, consequently, are going nowhere.
Just an IMHO from a bit of a cynic.
I've fallen off your lawn, and I can't get up.
Your problem with CSS appears to be that you aren't familiar enough with it to use it effectively. That's expected, and the same would be true for any sufficiently complicated system. Of course CSS has its faults, and of course there are alternative options that might have worked better, but it doesn't matter, because CSS works and is good enough. That is all that was required of it, and it is why it is used. As it happens, I'm not aware of any other layout system that gives you the power of CSS and HTML yet remains simple.
Maybe it's easier for me, because I started programming web-centric software at about the time CSS arrived, so I've lived through the evolution and it seems perfectly natural to me. That said, I have the same problem moving to any new language -- it takes me at least a few months of messing around on little side projects before I'm comfortable enough to take on a real project, and then at least another 6 months before I feel I am truly proficient. You seem to want to skip all of that and go straight to mastery, and are blaming the system/technology because you can't.
Your problem with CSS appears to be that you aren't familiar enough with it to use it effectively. That's expected, and the same would be true for any sufficiently complicated system.
Mod my parent up. The vast majority of the anti-CSS comments here appear to come from hubris-sufferers who couldn't be bothered to research the language or the browsers properly. Truth is, practically all serious problems and divergencies come from one family of browsers (we all know which). If you understand how to put them into their standards modes and how to control their ridiculous hasLayout property, all of the problems described so far go away instantly.