"Learn To Code, Get a Job" According To CNN 688
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."
Whats the big deal? (Score:5, Interesting)
How does Code Academy make it any easier to learn to code, Than say documentation or a book? This is hardly a big deal, and they're making silly promises.
Re:Whats the big deal? (Score:5, Insightful)
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.
Re:Whats the big deal? (Score:5, Funny)
There is an awful lot of need for javascript lackies so that real coders can do real work. bring em'. slap em' when they do badly.
Re:Whats the big deal? (Score:5, Insightful)
Elitism: It's what Slashdot's serving for dinner.
Re:Whats the big deal? (Score:5, Funny)
Re:Whats the big deal? (Score:5, Insightful)
Re:Whats the big deal? (Score:5, Insightful)
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.
Re:Whats the big deal? (Score:5, Informative)
It's what much of the industry has settled for. Just look at any CSS code. Or try designing a website with CSS. I have a little website on the side that I recently did some CSS/Javascript/jQuery/PHP work on, reusing some other code I found and making massive changes to it. As I have lots of experience with assembly, C, C++, and Perl, I usually don't have much trouble learning new languages. On this project, the PHP was easy. The Javascript and jQuery, also not very hard, though not quite as easy as the PHP. HTML wasn't hard of course. But the CSS, for making everything look right, and also doing some simple animations? Holy shit, what a nightmare! I've never seen anything so horribly designed in my life. Doing anything meaningful with it is basically a big hack.
Re:Whats the big deal? (Score:5, Informative)
CSS...Doing anything meaningful with it is basically a big hack.
You can thank the browser vendors for that. Many of my design decisions are based on what it's going to take to make it look right in ALL browsers. What works right in one browser, will probably look horrible on others. Mind you, I wrote those sentences to be non-specific - in reality, all but one of the current browsers function in roughly the same manner where CSS is concerned. You can guess which one.
Now, if LESS [lesscss.org] could become the standard...
Re:Whats the big deal? (Score:5, Informative)
Never heard of less but it looks very very interesting, will give it a try in one of my projects.
Actually I was hoping I would stumble upon something like this eventually.
Writing good CSS for dynamic websites can become very cumbersome programmable elements....
(thinks of Facebook's 18MB of css...)
Re: (Score:3)
Holy crap, I just took one look at LESS and already I like the sound of it. They mentioned another glaring item missing from CSS: variables. WTF were those idiots thinking; I have to specify the exact same RGB color codes over and over, instead of just specifying them once as variables. The only problem is that it's yet more stuff for the user to download and run on the browser. Pretty soon we'll be downloading 10MB of Javascript just to visit a simple website. This needs to be built into the browser.
Comment removed (Score:5, Funny)
Re:Whats the big deal? (Score:5, Insightful)
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.
Re: (Score:3, Insightful)
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.
Re: (Score:3)
Amen brother.
I have a CS/AI degree, 20 years experience in C/C++/java/Lisp/etc .. but css, save me. Complex css menus that work in ie6+, fuck me.. that made my brain hurt worse than coding efficient but stable parallel matrix inversion in a mix of OCCAM/C on a mix of sun workstations and transputers or any other hairy crap I've encountered.
You do hear a lot of elitist distain for web monkeys, but I'm wondering how many of those people have truly got their hands dirty in webdev. Sure, php is mostly derp but
Re: (Score:3)
I really wonder about that. At least tables had a "center" property, but the morons who made CSS deleted that for some idiotic reason.
Re: (Score:3)
my idiot boss insisted on IE9, even though no-one used it so I targeted Chrome, Opera, Firefox
...
Did I mention I'm no longer employed at that company?
Gee, I wonder why...
Re: (Score:3)
Elitism (Score:5, Insightful)
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.
Re:Elitism (Score:5, Insightful)
Re:Elitism (Score:5, Insightful)
Mod Parent Up Please.
Really, I'm currently in the position of needing to hire a couple-few good solid developers and am having a hard time finding applicants let alone qualified ones so the concept of increasing the developer pool sounds attractive... Except! 1) As you say these dealios have been around forever and they generally do NOT produce good developers. 2) Did everyone just forget about the tech bubble days?! Everyone and their freaking grandma tried to get into "computer stuff" clogging the market with many thousands of completely crap devs making it hard for those of us who actually knew the trade to rise above the mire until companies finally started to get a clue. 3) I'm currently dealing with a small handful of College trained, experienced developers who can't seem to code their way out of a wet paper bag which does not make me excited about the possibility of hiring someone who's programming knowledge is based on an online Java Script Tutorial.
I will qualify my statements: We live in different days than we did 10 years ago. The sea change that has occurred means that people of all ages are now, generally, more "aware" of computers. They get along with them and are less likely to find their inner workings completely alien so maybe some more cream may come out of a better primordial goo. That and the article, if you actually read through it, specifically says they don't expect everyone to learn to program... just to better understand what they now work with on a day-to-day basis... in between lines telling them they'll be able to learn to code in 3 weeks and below a title saying "learn to code, get a job". I'll give very partial credit there.
Re: (Score:3)
But what if it leads to few of the College trained developers you hire being able to code their way out of a wet paper bag precisely because before they enrolled they had already been coding as a hobby for years, an interest that was initially sparked by an online javascript course?
Re: (Score:3)
Really, I'm currently in the position of needing to hire a couple-few good solid developers and am having a hard time finding applicants
We found Open Source projects are the best way to find, and assess, good programmers. If people are talented, and dedicated, they produce. We advertise positions through the local Linux Users Group - if the applicants have contributed to Open Source projects it's easy to check their ability and character. As it's rare to find people with experience in exactly what we want done - it's preferable to hunt for people with a demonstrated ability to learn what's required. Resumes don't cover that the way a mailin
Re: (Score:3)
So you've basically closed the door to all of the talent that has been working on coding for proprietary systems over the years. Sure, that probably works for you with the glut of programmers out there, but its a lousy way of runnning a business, and certainly you're closing the door on a vast array of people who may have done what you want done, but didn't happen to have been doing it in the F/OSS world.
Show me where I said I don't hire people from closed source backgrounds.
I don't hire people who's ability I can't check. I also don't hire people who can't spell - saves paying others to debug their code. Interpret that as you will.
Re: (Score:3)
CodeAcademy is a good attempt. Rails for Zombies and similar are better. I can't think of any reason I should have a problem with there being good, usable material at all levels.
"buzz marketing campaign" (Score:3)
Re:Elitism (Score:5, Informative)
If I started coding today I think I would go about it roughly thusly:
1) google "Game coding tutorial HTML5" or similar,
2) Find the code listings, run them, modify them a little to see what happens but eventually be annoyed that I don't really know what the magic incantations in javascript etc mean
3) Google "javascript introduction" and spend some time just writing "Hello world" apps and such, trying to learn basic javascript, until I got bored with that.
4) Return to the game code, be absolutely gratified by discovering I indeed understand a little more of the magic incantations, do a bit more targeted modifications of the code to see if I can actually predict the outcomes at all....until I got bored with what I could do with my current level of understanding and return to the course in basic javascript to learn more (repeat from 3, basically). At some point you may know so much general javascript that you can continue learning more about javascript itself by looking directly at the game code and realize how it must work.
As long as you find some little "loop" like that where you actually have fun all the time while learning, chances are good you will end up knowing quite a lot about how to program.
yes (Score:3)
I agree, that's actually my point, which you're taking the piss out of.
There is an awful lot of room for "not the best coder in the world" out there, javascript, access, whatever. And the more "not the best" we have doing useful stuff the more gets done, the less stupid stuff we good ones must do, and the more important interfaces offer basic coding friendly APIs for us to exploit.
In fact, I'm certainly "not the best" myself. I'm actually a mathematician by training. I love Haskell, C++, and Perl, but ba
Re: (Score:3)
Re:Elitism (Score:5, Insightful)
Personally it has nothing to do with me being able to 'look down on others' and has everything to do with this shit giving people a false impression of what it takes to actually become a software engineer. This shit attempts to trivialize the discipline in description. I am not looking to run around and say I am better than everyone, but I damn sure don't want people saying that what I do is something any moron can pick up in a year.
Not only that, this shit is just attempting to exploit the HUGE buzz around the need for more engineers (especially software engineers), the high pay statistics associated with the discipline, and the fact that people think the job market is in absolute shambles (it isn't near as bad as the general perception, with the way people talk you would think half the country is unemployed). I don't really approve of people being taken advantage of in such a manner, though I know some would argue if they fall for it they deserve. I disagree that anyone would deserve that precisely because of how little understanding the general populace has of what a software engineer does.
Re: (Score:3)
This is pretty much exactly what I was going to say, but I wasn't about to do it so politely. Who hasn't had that boss who thinks that because he once worked as a trainer in a group that did Java work and puzzled out god awful VBScript and perl scripts while creating an abomination of a MySQL database where everything is a string, but we can't change anything because hey, it works (for some values of "work").
In other words, until you've supported (and god help you had to modify) the hoary abominations cult
Re:Elitism (Score:5, Interesting)
While I like what Code Academy is doing, I do not like their terms of service ("we own everything you do, including the software you write in these lessons and can exploit this mercilessly at our discretion without even giving you attribution. If you design a lesson for us, we own it and you automatically give us copyright and intellectual property rights without renumeration or even acknowledgement.") They also plan on charging visitors to their site eventually, so expect a "bait and switch" if you get into it.
On top of that, what they have is useful for about the equivalent of the first week or so in an introductory computer science class. It is useful to get started and to "wet your feet", but by the time you are through all you can do is roughly the equivalent of writing a "Hello World" in Javascript.
It looks like they are planning on taking it much further, so I do reserve judgement on the rest of what they are going to do, and apparently they have several series of lessons in the wings that they are planning on releasing about one each week through the rest of the year, at least if I can read between the lines. It could be useful though.
Re:Whats the big deal? (Score:5, Insightful)
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.
Re:Whats the big deal? (Score:5, Interesting)
Why did they do it? Because there was gold in the hills. Proper coding takes a special kind of structured thinking. You've got a goal, you've got requirements and you need to break it down into subproblems of subproblems while not forgetting the overall goal. Not everybody is cut out to be a lawyer. Not everybody is cut out to be an artisan. Not everybody is cut out to be a business owner. Not everybody is cut out to be a coder.
And coders are not all the same. Some thrive in the front end and are very very good anticipating how users willl use the system(which is never how they told you). Others are very good in layers that involve logic. Others are optimization wizards. Others are very good when it comes to communicating with interface owners. And so on.
I really, really hate it when news outlets publish that there is gold in the hills when there isn't. Everybody rushes out and most of those that rush out will never make it.
Re:Whats the big deal? (Score:5, Insightful)
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.
Re: (Score:3)
Re:Whats the big deal? (Score:5, Insightful)
Re:Whats the big deal? (Score:5, Interesting)
I'm a science nerd, and I've learned a little bit of computer programming over the years.
Learn to code, get a job? Ridiculous.
I programmed some scientific formulas in FORTRAN in college.
I wrote a program in Business BASIC to replace my bookkeeping system. (It was more trouble than paper. I went back to paper.)
During the DOS days, I programmed elaborate batch files to zip and save my backup files on floppy disks. I wrote elaborate macros for XyWrite and WordPerfect, which worked pretty well. I wrote Lotus 123 macros to finally automate my bookkeeping system.
When the Internet came, I created my own web site in HTML.
Even during the hottest computer bubbles, I've never heard anybody say, "We're desperate! We need somebody who knows a little bit of HTML!" Or any other program you could pick up in a week of all-nighters.
I looked into computer programming because it would have been fun (and some people were getting really rich). But I couldn't get a job with my introductory skills.
I figure that it would have taken me at least six months to a year to learn some programming-related skills well enough to earn my keep as you trained me.
If you paid my expenses for a year, gave me the hardware I needed, gave me access to people who knew how to teach computer concepts and guide me in self-instruction, surrounded me with people who were obsessed with doing the same thing, and we spent all our time working on computers, talking about computers, meeting smart computer people, and helping each other with our problems (with an occasional break for a party) -- I think I would have been a competent programmer at the end. I might even have been good. Maybe very good.
That sounds a lot like what a college is supposed to do. The main difference is that in the U.S., you pay your own (exhorbitant) college expenses, and your own living expenses besides. If you want to make a mid-career transition, you have to spend your retirement fund. That's in contrast to many other countries. Maybe that's why Linus Torvalds came from Finland. Maybe that's why German workers are making twice as much as U.S. workers.
(NYC Mayor Bloomberg is really hypocritical. He's talking up these low-budget old-fashioned online textbooks at the same time that he's raising tuition and cutting staff salaries at the City University of New York, which is NYC's real engine of innovation, science, technology, engineering, high-tech industry, economic development, all that good stuff http://en.wikipedia.org/wiki/List_of_Nobel_laureates_affiliated_with_the_City_University_of_New_York [wikipedia.org] . His MBA-style educational fads are also destroying the public education system. He's destroying the neighborhood public library. Lesson for Bloomberg: When you've got something working very well, don't destroy it.)
Fortunately I have science skills in other areas (biomedical) that were also fun, where I could advance my skills and make a living. Unfortunately, I'll never have the satisfaction of writing a really good computer program. But I did learn how the cell works, and the cell nucleus, the cell membrane,
DNA, and what causes cancer. I've met Nobel laureates and cancer researchers. That's a good life too.
And there are more girls in biology.
Lean? (Score:5, Funny)
Don't we want all of our code lean?
Re:Lean? (Score:5, Funny)
Maybe CNN should lean to speak English?
Lean-to (Score:3, Insightful)
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.
Re:Lean? (Score:5, Funny)
I can see the job interviews now:
What's your alma mater?
Codecademy.
What projects have you worked on in the past?
At my last gig, I wrote a program to determine if a number was even or odd...in only ten lines!
Wow! So what can you bring to FizzBuzz industries as a software engineer?
Fizzbuzz.
Hired.
Re: (Score:3)
Re:Lean? (Score:5, Insightful)
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.
Re: (Score:3)
CTRL + a then CTRL + i?
Re:Lean? (Score:5, Funny)
Lean to spel, get a job as a slasdot editor!
Re:Lean? (Score:5, Funny)
Re:Lean? (Score:5, Insightful)
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.
Re: (Score:3)
Comments? What are those?
Re:Lean? (Score:5, Funny)
Comments? What are those?
It's the random fluff you put in your code so you can increase the linecount and show your eight bosses how productive you've been.
Re: (Score:3)
Comments, like pretty much everything, are a tool that can be used well, or poorly.
Re: (Score:3)
That's a ridiculous statement. That might work for some things, but not others, and sometimes you can be easily mislead about intent by really small errors. What if you're trying to program some sort of complex biology formula. Do you really expect everyone who ever reviews the code to be able to just look at it and tell both what it's supposed to do and if there are any errors just based on the names of the objects? Putting that kind of information in the comments is a solid engineering practice. You can a
Re:Lean? (Score:5, Insightful)
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.
Re: (Score:3)
The code shouldn't "need" comments, but the co
Re: (Score:3)
"Is creat that shit that bodybuilders take to make their muscles ripped? OR those folks who have an IQ of fifty?"
No, it's actually an assembly instruction. It's a tougher challenge than you think.
Re: (Score:3)
BT,TD,GTTS (Score:5, Insightful)
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.
Re:BT,TD,GTTS (Score:5, Insightful)
This is exactly it. IMHO, coding is equal parts art, ingenuity, and science. Writing great code is no different than trying to write a great trilogy of fiction. Anyone can write garbage, but it takes a mastery of the language itself, and that mastery is just a means to an end--creating something great.
Re:BT,TD,GTTS (Score:5, Insightful)
Give a bunch of random people the science, and you'll find people who had the art and ingenuity but didn't know it.
That's all we need (Score:5, Insightful)
Re: (Score:3)
Judging by my experience as a regular software user, lousy and uninspired software is exactly what companies want.
Re:That's all we need (Score:5, Funny)
Re:That's all we need (Score:5, Funny)
Sadists become dentists, programming is for the masochists.
Re:That's all we need (Score:5, Insightful)
*most* people can program
I dare you to do a week of first-line desktop support *anywhere* and come out with that belief intact.
Lots of people set their thermostat above the temperature they want just so they can turn it down when it gets too hot, even when they fully understand how a heater works.
Re: (Score:3)
Re: (Score:3)
I believe he is referring to those who think setting it higher means it will hit the required temp faster! I have known a lot of ppl who do that, they will turn an oven onto 220, so it will get to 180 quicker.. a reverse cycle air con onto 25, so it will get to 22 quicker.. I even know someone at my work who turns the toaster onto max, sits their watching it and then manually pops it every 10 seconds after a minute to see if its ready!
Re:That's all we need (Score:5, Insightful)
Aahahahahahahaahaha...
Heh. Ahem, sorry.
<snrrrrrrrk>
To tell you the truth, I honestly don't know if most people could eventually learn to program well. I know that most people can, with time and effort, learn to write very, very simple programs - programs most of us would consider easy homework assignments from CSC101.
But most people hate hate hate everything that makes good programmers good programmers. They hate the tediousness, the methodicalness, the breaking-things-down-into-tiny-steps, the 8+ hours of keeping your brain in an alpha state. What "real" programmers view as fun and almost a form of meditation, the average Joe views as nothing short of self-imposed torture.
So yeah, maybe everyone could learn to program. But I have absolutely no concern that any time in my lifetime, "most" people will want to program even if they could learn to do it.
Re: (Score:3)
Sorry to let you down like this. 99% of the time these days you are just googling and gluing libraries together.
Nothing wrong with gluing if you know what you are gluing actually fits what you are trying to achieve.
It is a *rare* thing to use comp sci skills to do things.
Nothing wrong with this either (CompSci != SoftEng). Sure, it helps for SoftEng to have CompSci knowledge, but is not absolutely necessary.
Working with cheap overseas labor has taught me this. No one cares about quality. They care about cost.
Agreed.
Every once and awhile I whip out the ol mojo and write some seriously cool code. But most of my co-workers dont get it.
Is it CompSci that helps the coolness? (i.e. algorithm complexity? scientific performance assessment and optimization? Even only a new scripting language or some automatic code generation?) Or is it cool because of the architecture/design (pertaining to SoftEng)?
seems feasible to me (Score:5, Interesting)
This will probably work. (Score:5, Insightful)
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.
Just what we need... (Score:5, Insightful)
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."
Re: (Score:3)
Learn to write in one year through a free interactive web site, and get a job at CNN. That's what I did!! Even billionaire-politician Michael Bloomberg, my hero, is learning his letters as we speak. Rumor has it, he'll become a proficient Bloomberg journalist by next week.
- Rushkoff
If you can read this, you can get a good job. (Score:3, Insightful)
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.
Well of course... (Score:5, Insightful)
...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.
In a year? (Score:5, Interesting)
Sorry, but I've been at it for about that long (learning Java) and I'm nowhere near qualified to do it professionally. Sure, I know the syntax and I have a good understanding of OOP but there's a LOT more for me to learn before I can write software people will actually find useful.
I love programming and I love learning about it. The discouraging part is that there is almost ZERO entry-level work in programming. All the ads I see demand "3-5 years experience", but that's another story.
Re:In a year? (Score:4, Informative)
Re: (Score:3)
Who needs coders? (Score:5, Insightful)
We already have too many coders at my current employer, what we need are software developers that know how to architect a maintainable system.
Here we go... (Score:5, Funny)
{
printf )"Hello World! I am now a Software Developer!\n");
}
Congratulations, here is your certificate of completion.
Re: (Score:3)
Wait, that didn't work. Give me a second.
Re:Here we go... (Score:5, Funny)
No certificate for you until you figure out why that won't even compile.
loop until realization(errors)==sarcasm
Re: (Score:3, Funny)
It's because he spelled print wrong, what a putz.
two major points to the article (Score:5, Insightful)
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.
Obligatory "you kids get off my lawn" (Score:5, Insightful)
Peter Norvig's "Teach Yourself To Programming In Ten Years" http://norvig.com/21-days.html [norvig.com]
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)
Oh, good. (Score:5, Funny)
Re:Oh, good. (Score:5, Insightful)
They don't already?
In my experience... (Score:5, Informative)
Programming is like driving a car, everyone thinks they are really good at it but everyone else sucks.
The last thing the world need is more bad coders (Score:3)
Good code comes from insight, creativity and other specific talents. Learning a language and learning how to program (two very different things) only help if the basis consisting of the aforementioned qualities is there.
Average people will just write atrocious code, that may or may not work and will be a maintenance nightmare. Typically, it is best to throw such code away, sack the person responsible and start over. At the same time, people are being lied to here by being told that they can become reasonable coders and are being lured in with the promise of job opportunities. I find that despicable.
If this sounds elitist, well, it is just realistic. You cannot qualify average people to be reasonable doctors, mathematicians, engineers, poets, ... either. All of these require specific talents. If you don't have them you should definitely not go there, because you will do more harm than good.
They might not get jobs, but... (Score:3, Interesting)
Learn to code != Be a Software Engineer/Get Job (Score:3)
Secondly motivation and progression. Some people just want to learn a little code, for example, to process the csv file for their charity group or simply have fun messing around, learning for simple needs or out of curiosity. Others, especially people who are motivated but haven't access to paid-for tuition can use this [as they used to use teach-yourself etc] as a starting point for a more serious assault on computer science. Learning isn't just about jobs, instant skills or being the 'best' immediately.
It won't teach them to listen hard to users or any humility, but that's another separate matter for a huge flame-filled thread.
HOW COULD LEARNING BE BAD?! (Score:3)
And you call yourselves nerds...
Look, you seriously don't need to know a lot to get started. Some people are talented enough to learn as they go.
And just because you learn something doesn't mean you're going to enter one of the most competitive development marketplaces in the world to do it professionally. Those that do probably would have anyway.
I would like to see programming in highschools. Seriously teach it to everyone, like Spanish. You learn things that are absolutely critical in life when you learn how to program, and a lot of supposedly normal well adjusted people are lacking some of these basic analytical and coping skills. Programming teaches problem solving, patience, linear thinking, humility, and an eye for detail. People that are artistically inclined will find that programming skills make them better artists. People who are not artically inclined will find that programming skills make them better people. Those are the things you take with you, even if you can't remember how to output hello world in base64 a year later.
Maybe I'm being narrow minded and biased, but I'm not seeing the downside.
Smells like $$$ for the more experienced ... (Score:4, Interesting)
If in the meantime a half million bad ideas get killed off by Krappy Koders badly executing them, how is that a "Bad Thing"?
Anything that hastens the day when we have real standards is a good thing.
Story time (Score:5, Insightful)
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.
Re:Story time (Score:5, Insightful)
It also depends on previous skills : if you know other programming languages, it's not that hard to learn a new one, because the concepts are familiar.
However, if you never did any sort of programming, you first need to learn that.
However, to be a professional programmer, you need practice, otherwise it's going to take too long for you to write any production code.
It's like muscle memory : You should no longer have to think about syntax : you just think ' i need to iterate this list ' , and your fingers write a for loop . ... but you shouldn't have to think about the separate techniques.
It's similar to martial arts , in that there you will think : evade, defend low, counter attack , floor , etc
Regarding the article : The idea of CodeAcademy is great for teaching programming , but it shouldn't be just to get a high pay job. That feels like cheating your boss.
Re:Story time (Score:4, Interesting)
There are significant differences between language, but that doesn't mean in any way that you're starting from nothing each times.
When you learned your first programming language, you learn some programming practices that aren't language dependent. When you learned you're second one, you learned a bit about the difference between syntax and logic, and so on...
Also, most of the programming challenge isn't the language anyway. (well, can be... I'm looking at you, Perl!)
It's true it does have an influence, but for exemple, you can think your programs pretty much the same way in all Object Oriented language.
Re: (Score:3)
Learning a new language when you already know how to program should just be a case of :
1) learning a new syntax - which should be straightforward ?
2) unlearning to automatically use the syntax you are familiar with
Only if you are moving to a completely different kind of language will you need longer (e.g. C++ to Haskell)
If you can only program in one language and think in that language then you will have huge difficulty in changing languages, but if you learn to program in any language and
Re: (Score:3)
And I've worked a lot in the IT industry, I would argue that the same is true there.
Re:Story time (Score:4, Informative)
I disagree. A bit of knowledge is a very dangerous thing at times, because little knowledge often comes with a lot of confidence. Better be ignorant and know it, thus avoiding a fight whenever possible, than being overconfident and receiving a beating.
It's a bit related to the old joke between electronic engineers and software engineers. Says the electronic engineer: "What's the most dangerous thing in a lab? A software engineer reaching for the soldering iron!". Says the software engineer: "What's the most dangerous thing in the office? An electronic engineer discovering the C compiler!"
Seriously: I saw some source code written by some highly qualified electronic engineers, and it was awful. They just have a different mindset. In electronic engineering for mass market products, cost-efficiency and real-live performance is probably *much* more valuable than re-usability and maintainability, since every cent saved on one device repays million-fold. In Programming readability / maintainability is among the highest priorities, and the runtime complexity of algorithms (http://en.wikipedia.org/wiki/Big_O_notation) is often way more important than current real live performance, because for later product iterations the amount of data might grow exponential, leading to extremely different "real live" performance.
I can only imagine what pain the ee's suffer when they have to watch an se with a soldering iron...
Re:Story time (Score:5, Interesting)
I agree with you that practice and broader understanding are far more important than just knowing the basics.
I work in IT, but I'm not a developer. I "know" code- in that I can look at a piece of code written in one of the more common languages and read what it's doing, and I can hold meaningful conversations with developers, and I can write amateurish little programmes for my own pleasure. But I am definitely not a developer; you ask me to write something of even moderate complexity and you're going to be dissapointed. It's not my job, and it's not a skill I've mastered to a professional level.
If this CodeAccademy thing can get large number of people to just understand coding, understand what can and can't be done, understand the consequences of certain requests or decisions, and able to write BASIC macros for Excel, then it's no bad thing. But there's no short cut to training up a proper developer.
Re: (Score:3)
Just an IMHO from a bit of a cynic.
You aren't cynical in the least. Lots of people with much more martial arts training than a day or two will simply freeze when they are met with actual danger.
Few people understand that the mind works in contexts and settings. If you ever wondered why you can decide today that you will work out more, and not do it tomorrow, and feel no dissonance whatsoever - it's because the "you" that made the decision and the "you" that didn't follow through are not really the same person.
And for many people it's a rude