"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."
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.
Don't we want all of our code lean?
Get your PostgreSQL here: http://www.commandprompt.com/
NYC Mayor Bloomberg Vows To Learn To Code In 2012
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.
Perhaps we should be learning to spell first?
That about says it.
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.
Lots of people learn to code on their own from books, online articles and magazines (I did). Surely even a little guidance could kickstart the process the process for a reasonable and motivated candidate.
Nullius in verba
There is something about a good programmer. I can only tell you that it seems that they would program whether they got paid for it or not. If you don't have that desire, you never really become a good programmer. People who think, "hmmm... programming, that pays well" are barking up the wrong tree. They may survive in a forgiving atmosphere. If everyone is really lucky, the move quickly into management where they can't do as much harm.
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.
It will make for some good comedy when we start getting CV's coming through from all this. Unfortunately, the signal : noise ratio is just going to make it harder for properly qualified candidates to get noticed.
Solving real-world software problems requires a lot more than understanding the syntax of a language or two. Those who complete this course and then try to get jobs will learn that lesson the hard way.
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...
trying to fix or maintain code written by some half-ass amateur that got a certification or read a few books and "taught himself to code" in one month. The only thing better is when it's someone from management that does it because "coding is easy".
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!
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.
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 smell a pile of low cost poor quality cowboys coming onto the market and underbidding the competent contractors. Works for me as my job tends to be cleaning up after someone who vastly exaggerated their abilities and got in too deep on a project they dont understand.
"Have you ever thought about just turning off the TV, sitting down with your kids, and hitting them?"
main ()
{
printf )"Hello World! I am now a Software Developer!\n");
}
Congratulations, here is your certificate of completion.
Silence is a state of mime.
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.
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();
/Be/ elitist. Go ahead, it's justifiable.
I like music
If you want to see dot.com Bust 2.0, this will contribute to it. Do you remember the dot.com era? Most of those people with no technical or coding background who tried to learn how to code in 1 year (or less) and obtained some flea-bag certificate were the first ones to be let go. And yes, there were a lot of them. Without having the fundamentals of data structures, coding style, documentation skills, and good logic and problem solving skills, those new "coders" will have a very short career, if any. Most companies learned their lesson from dot.com 1.0.
"Happily lived Mankind in the peaceful Valley of Ignorance." -- Hendrik Willem Van Loon
.....air conditioner repairman in a few interactive web sessions per week for a year? chef at a 5 star greasy spoon? TV sitcom writer ? What professionals (esp unions) would be insulted by such a trivializing of their careers? Computers are the most complex machines every devised. How good could such a 'professional' be? (claimer: I am pro developer)
Pavlov wouldn't be so famous if he'd used a can opener instead of a bell.
We all started somewhere and frankly, if this drives some people to better contribute to themselves and the world or even just find the niche in life they've always wanted to be in, we'll have seen an excellent consequence.
A year of independent course work is unlikely to be enough to teach the automata theory/set theory/discrete mathematics/et cetera (ad infinitum) that is vital to developing a core understand of what one is interacting with in professional coding much less the various other "softer" disciplines required to know how to write code of a high level of quality. That said, even with many years of university, employment, and success behind me I am continuously learning, expanding, and refining myself. The risk, of course, is that low quality coders could result.
To counter-balance again, I generally like working on the harder and more interesting problems and this means that team members who are intimidated by those and as a result are happier with their job when doing the work that I do mostly because it needs to get done can be a godsend to my own happiness at work. Developing a mentoring relationship with such individuals has additionally been really gratifying.
In all honesty, it can't be much worse than the crap our India "consultants" crank out...
"But I'm leanin', leanin' to the Right. "
from the song "Politician" on the album by Cream Wheels of Fire
Lyrics here
Listen to it here
Bought some books, taught myself to touch type, took some advanced computer courses at college and about a year later I got a job as a software developer. Worked 80 hour weeks to keep the job and about three years later finally got really good at it. Sure I was smart, but success is 90% effort, people. I still find that systems are think, fail, retry, rethink, fail again, try again, good enough, refactor, keep trying ... success.
Bloomberg is trying to find an excuse for running for a third term. Any excuse no matter how silly or absurd is better than having people focused on the fact that under his leadership as Mayor the city doesn't actually have a program to train students to become programmers or find work in other professions that can then be guaranteed to given them a good shot at a decent job and thereby boost the city's economy.
Any thinking person might wonder, however, how Bloomberg has the time to learn enough coding skills to help him appreciate what its going to take to actually develop city-wide plans to actually make it easier for coders to find jobs? If this can help in that, its surely worth his time. If nothing materializes in terms of a real jobs program, then this is little more than a publicity stunt. He got himself into this. It will be interesting to see him get himself out.
...with as much predictability as winning the lotto.
At least the title and summary are. Two misspellings that could have easily been copy & pasted correctly.
As the summary says, he's "trying to not be elitist". Well, I'd be willing to bet some of these newbie coders with a year of education can at least spell, when they're hoping to get an audience of hundreds of thousands. It's a good thing he submitted it AC.
Serious? Seriousness is well above my pay grade.
I took all the math for a B.S. in Computer Science. I don't consider myself a mathematician.
The funny thing is that I used to work with a mathematician who thought he was a programmer. It was quite frustrating.
It takes years for someone to develop the essential skills to work on software development.
The fact is you can call yourself whatever you want, but I doubt anyone will hire you as a software developer after a year.
This just HAS to become an infomercial! Who needs to buy distressed real estate for no money down when you can just become a coder in a few short weeks!
Three Squirrels
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.
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.
I will argue with that. Learning to "code" is not likely to aid non-programmers in understanding how to participate in the process of creating good software. What is increasingly important with respect to computers and software is how to analyze, organize and communicate business logic and requirements.
As a developer, I want clients to be able to clearly describe the problem they are trying to solve or the goal they are trying to achieve. I do not want them suggesting how I meet their requirements.
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.
At least thedailywtf.com will have an inexhaustible supply of new material once all of these people get exciting jobs in the fast-paced software industry.
Programming is a great discipline. It's not my main gig anymore, but I still write widgets and utilities to help with the various other crap I do. Good for CodeAcademy (or whatever the hell it's called). Javascript is as good a place to start as any.
sig has been sent away for a few small repairs...
Saying that someone should learn to code because we live in a digital age and use all sorts of information technology everyday is like saying we should all learn to compose and perform music because we all listen to it. Don't get me wrong. I gladly encourage anyone who finds coding interesting to pursue it. But not everyone finds it interesting or even intuitable. And there are definitely some people who should never, ever write code for a living (I've encountered some of their handiwork).
I'm currently planning on becoming a brain surgeon in about 9 months from scratch with their innovative internet courseware.
LOL!!! I literally woke up my neighbors laughing at the statemented that you can have SwDev in a year...
2002: "We should hire third worlders to do this stuff."
2012: "We should get the unemployed to do this stuff."
It's all good, go for it. Some of them will be able to do it, and do it well, and communicate about it with others, and not go stark raving mad. Most won't. The ones who do will be a boon to our field. The rest will learn that we are actually worth more than our current considerable compensation. Average people knowing more about programming, by trying to do it, means more people who grok that what we do is far out of the ordinary.
Admittedly, there will be another five year period when lots of pretty hairstyles with empty suits under them will think we can be replaced easily -- this time by homeless people or something -- and those empty suits will crash and burn. Just learn to recognize them and get out of the fallout zone.
Stop-Prism.org: Opt Out of Surveillance
(Sarcasm on) Oh great, yet more people coding that will probably do crazy shit. Like writing functions that are thousands of lines long, giving crappy name to variables and functions. Oh and refusing to use templates when they should in C++, not understanding pointers. Hell, they'll probably even do some playing around code trying to figure something out and put all that mess in the final app. Yeah, should be great. (Sarcasm off)
Did you know 80 to 90% of the moderators on slashdot wouldn't recognize a troll even if one dragged them under a bridge.
I am confident that there are many people I could tutor up to being able to program reasonably given a year. Doing this in a large classroom sounds really difficult, but I won't discount the possibility that someone managed to come up with enough of a condensed curriculum that they can do this for a fair number of people, at least enough that they can fill a number of low-to-mid-level programming jobs. They might not understand a lot of the theory, but the one thing we know about the future is that there will be a need for a lot of programmers at various skill levels.
For every problem, there is at least one solution that is simple, neat, and wrong.
Programming is like driving a car, everyone thinks they are really good at it but everyone else sucks.
STFU about slashdot bias.
Coding is like construction it's almost all shit and rarely done to perfection for two main reasons . Cost and time. I'm sure most would like to do an awesome job but there are bills to pay and the guy that does the almost good job for a little less money usually gets the job.
"the elements of computing systems" will get you from logic gates to cpu design to assembler to writing a compiler in 300 easy pages.
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 basically I learn whatever I need for whatever I'm doing, and then move on. I've never actually won at codegolf, but I've contributed useful insights even there.
The Christian religion has been and still is the principal enemy of moral progress in the world. -- Bertrand Russell
i do hope that "pointers" was a pun.
"They were pure niggers." – Noam Chomsky
Our resident subject matter experts once again have once again proven that Slashdot is infested with arrogant intellectuals.
Most people grow to hate programming because most teachers teach it badly. Perfect example: all engineers at my alma mater (Stevens) needed to go through a programming course with the idea that everyone would become a better engineer with a little bit of programmer in their system. That probably would be the case IF they didn't C++, arguably the most unfriendly language for beginners to learn. It's fine for Computer Engineering students like myself to take that because we will actually need those concepts later on. Does a Chemical Engineer who's bound for doing pure chemistry research really need to know what pointers are and how to use them? (This alone confused most of the people in the class.) Does anyone that isn't doing this for a living need to do this if they just want to write an Android app?
If CodeAcademy can teach people the basics in ways that are actually interesting and worthwhile (Project Euler doesn't count...a lot of people hate math too), more people *will* learn how to code. Tons and tons of people of varying intelligence come up with great ideas every minute of the day but fail to execute because they not only don't know how to code, but are afraid of learning because "it looks hard." Google tried working around this with App Inventor, but that never really took off. This initiative probably won't make people Google-quality coders in a year, but it will spark the innovative light our country has been direly looking for lately.
(You can definitely start making serious money as a programmer or IT guy with a year or two of education and a good connection. People admire doctors and lawyers for what they make, but I know guys who make just as much as they do or more with no degrees and WAY less stress...as contractors anyway. IT in general still pays really nice money, especially if you know where to look.)
If anything, I'm hoping this will make those with the IT pursestrings up those budgets a little easier...
But oh, if we pass the stimulus we will stay under 8% unemployment. Or if we pass this insane high speed rail to southern california that will fix everything.
Learning to code? If you are interested in that. It would be smarter to get into health care services, or tax related things. Law is always safe too. Coding? There are so many people doing it, and it's a cut throat business.
It's either on the beat or off the beat, it's that easy.
I moderate therefore I rule!
--
Why on earth would it take a year to learn to code? This isn't like becoming a surgeon or politician. It might take a couple of months to really type well but come on. I train someone in a matter of weeks to do as well as a Stanford or Berkeley CS Grad. Bottom line people skills are what really matter in programming. There is one very import skill however. You really need to be able to answer a ridiculous question in a phone screen. That is a true test of a great programmer and any Google employee can tell you that.
I don't think I could invent any type of work that is more perfect for
offshoring/inshoring than IT.
1) Unlike manufacturing, you don't have to mess with physical inventory. This is
huge. Shipping costs, and other supply chain costs, can be very substantial.
With IT, everything is done over the internet. Perfect for offshoring.
2) Unlike manufacturing, you don't have to worry about special plants, or
special equipment, special environmental regulations, or worker safety issues.
Just use ordinary computers, and ordinary office space. Dealing with foreign
regulations for building permits, and the like can be a nightmare. With IT, you
don't have to bother with any that. Just rent space in an existing building.
Even if you build your own building, you don't have to bother with all the
special issues that go with manufacturing.
3) Unlike health care, or other fields, you don't have to bother with sort of
special education, or licensing requirements. For example, we can import nurses
from Mexico, they would not be qualified. Health care licensing is regulated by
the state. Nothing like that to worry about with IT, legally, practically
anybody can do practically anything.
4) No unions to fuss with. Replace all the IT workers you want with visa
workers, then send the entire department offshore. No need to worry about union
pushback.
5) No standardization in IT. You can always tell the government there is a
shortage of qualified workers, since there is absolutely no definition of what
is "qualified." You have a virtual carte blanche to make up any kind of
statistics about salaries, or qualification. For example, you could look for
workers with an arbitrary list of experience requirements, and when you don't
find them, use that as an excuse to hire offshore workers with no experience,
and just a liberal arts degree.
6) US IT workers are not represented by any professional organization, and
therefore have no voice in congress. Dump on IT workers all you want, what's to
stop you?
7) Due to massive corporate propaganda, it is widely believed there is a
shortage of qualified US IT workers, so nobody will blame you for going
offshore. There was significant public outcry in the 1980s when manufacturing
was moved offshore. Michael Moore even created a movie, and Billy Joel wrote a
song. Nobody cares about spoiled IT workers.
8) You can point to contributions made by actual immigrants, and then prentend
that H1Bs are actual immigrants. Great PR.
9) You can place the race card. You can say that anybody critical of replacing
US workers with offshore is a racist, bigoted, and xenophobic; and thereby,
immediately quash any dissention.
10) US IT workers are too spineless, selfish, arrogant, and disorganized, to put
up any sort of meaningful resistance to your offshoring plans. Take your time,
when you start importing visa workers, only the workers who are directly
affected will care. The guy in the next cubical won't care until his head is on
the chopping block. US IT workers have a special trick of sticking their noses
in the air, and their heads in the sand. US IT workers will say: "they could
never do without me. I'm much too valuable. Only the poorly qualified lose their
jobs." Dumping on US IT workers is like shooting fish in a barrel.
11) Significant saving. US IT workers can be quite expensive.
12) Indentured servant status is even more important for IT workers, than other
workers. Everybody's information system setup is different, so it takes a while
for IT workers to learn their jobs. US workers can quit just after they get up
to speed. Which means you are training people for their next job. Worse yet,
they can take what they have learned (on your dime) to your competitors. With
visa workers, they have to stay with you for six years, then you can send them
to your offshore operations.
12) Most IT workers don't work directly with
6) Treating your users as co-developers is your least-hassle route to rapid code improvement and effective debugging. 8) Given a large enough beta-tester and co-developer base, almost every problem will be characterised quickly and the fix obvious to someone.
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.
Most ACs are not even worth the keystrokes to insult them. Be generically insulted by this and ignored otherwise.
Most people can't even do form-to-mail pages correctly so why would you trust them on anything more complex?
Always a good recommendation, very insightful. The comments about C++ and Java being unsuitable for beginners are also right on the point. I second the recommendation of Python, it allows you to ignore the Machine mostly and focus on learning to program. As a second language I would recommend C on Linux, to get to know the OS API and find out how to actually do all those things Python makes easy. After that you may (or may not) be ready for a monster like C++ or Java.
Most ACs are not even worth the keystrokes to insult them. Be generically insulted by this and ignored otherwise.
Seriously, we went down this road already. Y2K, 1999. My lord the number of mediocre developers. And the H1B limits were substantially higher then too. It just compounded the problem.
Ok, well....I am going to speak whats on my mind here, because I can't say it to some peoples faces.
Being the manipulative and deceptive bastard that I am. ;-)
1) Coding for everyone, perhaps he means php? Ok, when LAMP comes to my, I think of shooting people. ;-)
It isn't that php is the worst of all time languages, with its messy all over the place bloat code. I mean, Java was bloaty, but I love Java because all of the conventions for declarative syntax, which exhibit and enforce decades old engineering approaches that make good software.
It is easy to debug, has facilities for objects etc....but can still use functional methods of programming.
Php? Absolute nightmare to debug, on any platform. Declarative syntax style is, _anything_ and _everywhere_ is just O.K. It is so super easy to do declarative logic because _everyone_ can code. Nope. The only thing I see php good for is building content managers, does an OK job.
2) Don't get me wrong, I think php is great for little projects, as it allows you to do some things up front you couldn't do otherwise fast and simply.
But it _never_ stops there. All of a sudden you got php all over the place with people thinking it is some sort of language they can build reliable applications with it.
Php creates a huge and disastrous hardware requirement as a general purpose application platform. I have seen small changes literally, just blow up websites overnight not because the code is right or wrong, its just because php has really nasty memory requirements for executing stuff you can declare anytime. A website that could support 1,000 people literally can support like 50.
Who knows, depends on the php implementation on the given platform.
3) PhP is like all over on the UW-Madison campus, and everywhere I go it is nothing but a giant mess. People complain all the time about bugs, or classes that bring the whole website down because 30 people executed a php script all at the same time.
Invariably it is because amateurs are coding stuff, that don't want to learn threading, don't know how to think or use any kind of parallel assisted language like Java, because it takes too long and it is too hard or worse, they only want to pay $10 bucks an hour.
So I am not for everyone coding.
I am going to shutup now, before I get the urge to talk about Javascript and its crap. ;-)
-Hack
Got Geometrodynamics? Awe, too hard to figure out? Too bad.
I second that. Best find so war was a quadratic sorting algorithm to remove dupes from an arbitrary long list in a time-critical application. In Java. That has hash-tables. I spotted this while looking at data-paths for a security review, the double-loop did just look wrong there.
Offshoring is often just an expensive way to kill a project.
Most ACs are not even worth the keystrokes to insult them. Be generically insulted by this and ignored otherwise.
You obviously have no clue what you are talking about.
Most ACs are not even worth the keystrokes to insult them. Be generically insulted by this and ignored otherwise.
think about how much better it would be to learn to be a billionaire and then have all that money in less than a year. It is looking more and more like anyone can do it if bloomberg can.
they might learn to think a bit more logically. And that would not be a bad thing.
maybe that is the 'unique' thing ? i have never heard a popularized attempt to teach coding to masses.
Read radical news here
All of these people who think that they can take a few classes here and there, read a book, and then get a job are completely hopeless. They think that creating software is something that is taught in some sort of class. Guess what, it isn't. It's more of a way of life. You don't become a coder, programmer, software engineer, or whatever it is you want to call it. You either are, or you aren't. Those who are normally discover their talent by poking around and finding others with the same drive to learn how things are made. It isn't really about the code, it's about finding out how things work, and how to do those things for yourself. There are so many posers in this field, it isn't even funny. The sad part is that most of these posers have letters after their names and useless pieces of papers given by Universities that like to pretend that they are the gatekeepers of knowledge.
Sig: I stole this sig.
We let taxi drivers buy half million dollar houses. We're all gonna get our power from solar and wind farms. Everybody's gonna be driving electric cars in a couple of years. Why shouldn't laymen be able to write computer code?
Frank W. Miller
Bingo.
I, for one, welcome the competition.
However, I will point out that while it may take only 3 months to put out a programmer, it takes several years to produce one worth hiring. To put it another way, it only take 3 months of chemistry to put out a Chemist, but it takes several years of working with chemistry to put out a Chemist worth hiring. Or an 'introduction to English' class to put out someone who speaks English. What you are looking for is someone who can handle the task fluently, which is an all-together different category.
We all remember the confusion that the fly-by-night IT companies caused during the dotcom boom, in which people with no understanding of computers took 3 week courses, and believed that was all they needed to get a good job in IT. These actions had the nasty side-effect of sabotaging wages for other IT people, as an inferior product was mixed in with a superior product, forcing wages downwards. Since programming is a fair amount more difficult than building a computer / maintaining a network, I do not think a 'gold rush' will result from people trying to get into programming jobs. Why? Because the bar is that much higher, and it's fairly obvious to your future boss (who is a programmer) that you know nothing about programming after two questions. From a conspiracy standpoint, jobs for programmers have been flowing back into the United States, after business's recent attempt to outsource fell on its face; as programmers once again are in demand, the wages for them are expected to rise; hence, someone may be making a belated attempt to (put charitably) increase supply of programmers to the market (and possibly scam people in the process by blowing smoke up their asses about attaining a six or seven-figure job with minimal training), or more realistically, to attempt to mingle inferior products (programmers knowing only one language, with 3 months experience) with superior products (programmers knowing at least 3 languages, with several years experience), to lower the cost of superior products (drive programmer wages down into the ocean, right as businesses need to hire local programmers).
I am John Hurt.
This is just another method of claiming that those who are not great successes and in their predicament due to personal failings. After all, the only thing that stands between the guy who can’t find a decent job, and a great job is the willingness to spend some time learning to code on the internet.
Promoting this mindset does nothing but fuel those who claim that one’s position in life is entirely the result of choices. They then go on to claim that their privileged position is entirely a result of their own choices and actions’. This allows them to escape to calls to a moral duty to help provide the opportunities that they java enjoyed to others.
Now they can feel good about asking for the schools, which they have enjoyed the product of, to now be underfunded. After all, they can claim, you no longer need those expensive schools, you can learn to code on the internet.
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.
out there today. Just look at the job ads. you see an ad for a C++ programmer. You scream for joy. Little do you know, before you click on that link, that you are about to have the hammer dropped on you by words like VB.net, ASP.net, python, perl, MS SQL, Websphere(what the heck is that?), BEALogic(wtf??), Rational Rose(WHAT THE?), MFC(yeah even something MS doesn't even support anymore), assembly/registry manipulation, Posix threads, awk, http/html, javascript. All REQUIRED for ONE job.....and YES there are PLENTY of job ads out there just like that.
who in the right mind would apply for that job? even if you are seasoned how much are they gonna pay for that? and how many people born since 1990, most of them about to get out of college have ever heard of BeaLogic and RationalRose? I was born in 1976 and i had to go look up websphere, bealogic and rational rose up on google to find out for myself.
It's not a calling, it's a profession and you can learn it just like you can learn any other profession. Yes, you have to be intelligent enough to handle the concepts, but that's it and they aren't that hard.
Most good coders that I know are among the best at spelling and grammar. Probably because they have to know ... languages.
"Somebody has to do something. It's just incredibly pathetic it has to be us."
--- Jerry Garcia
This assumes, of course, that the person can probably count above 10 with their shoes on. An assumption, by the way, which I've found is not always justified in some of the coders (and even some design engineers) I ran across during a career that spanned five decades in the business (OK, so just barely five).
ASSEMBLY
'MOV me up' XOR my wife please...
Let's accept that they can turn out professional developers in a year. If that's true, then they'll turn out developers until the wages become unappealing. They probably couldn't run it all the way down to minimum wage. A year is quite an investment, so the wage will be more than that. What jobs are there where people train for a year and get hired?
Now, please don't take this as an insult to plumbers. You'd expect that a lot of people could become plumbers with the proper training. A quick Googling revealed that you apprentice for 4 to 5 years. APPRENTICE. The concept of plumbing is something that anyone can grasp--pipes, they gotta fit together, valves, blah, blah. We've all seen it in our house a million times. The devil's in the details though. If I had to replace a copper pipe with a torch and all that, it'd probably take me 10X as long as a pro. I'd be lucky not to have it leak the first time.
Now that's plumbing. It's common. Anyone can tell you what it's there for. It makes sense. TCP/IP stack? RFC? Writing a TCP/IP stack based what you read in the RFC? It's so far removed from the every day world. I didn't do anything like that until I had been programming for 20 years, and it was challenging work that took months. OK that's a bit of an unusual task; but reading technical specs and coding up an in-house solution is something a developer should know how to do. Heck, how long before these people would even be able to read the API documentation and write a simple JPEG processer using libjpeg without any hand-holding? How do I parse the command line? What's a library? I have to link it? What's a linker? Shit. Not even funny. Totally not connected to the ordinary world.
I cannot begin to express my disgust at this oversimplification of a career that can take DECADES to master. The idea that you can "teach anyone to program" in a year is so fucking INSULTING it's not even real.
Can you teach a doctor to operate in a year?
A lawyer to handle a case in a year?
An engineer to design a building in a year?
Then why in God's name does this FUCKTARD think you can treat programming in the same way.
What a way to expose his complete and utter ignorance.
Tell you what buddy, how about we let people take over YOUR job. After all, it's just spitting out random words that make no sense. Anyone can spout nonsense. Apparently YOU get paid for it.
I do not fail; I succeed at finding out what does not work.
I READ the article, where do you think I got the quote from?
Douglas Rushkoff must be the first of the million monkeys it takes to produce Shakespeare by randomly banging on a keyboard. As he's the first to utterly fail to produce even ONE coherent word, I think it's an apt analogy.
I do not fail; I succeed at finding out what does not work.
The point is to be able to write short little commands for everyday use. Commands you might only use once, and even when used once already save hours.
People must understand how computers work in order to use them. Since the state of the art in GUIs is still horrible, this means they need to be able to program at least in whatever shell skripting language they have.
This is something that needs to be taught like maths or history. It's something which everybody should have heard of. Then you will find people who are good at it around you. Those people will be able to actually use computers to gain productivity, and help others improve their productivity.
I take some offence on the word "software developer". It indicates that there is a special class of people who are allowed to program, while the rest only uses it without being allowed to write a loop. This is a false idea. The task of the software developer is to make little pieces of "Lego" the users can incorporate into their own programs. Those programs might also be single line shell commands.
I'm looking at all this with some dismay. Of course, learning a little javascript or [better, since it was designed for non-specialists] BASIC won't make people a real-world top-class coder, software engineer etc. Therefore, if people are realistic about expectations, this activity is fine, a little over-hyped perhaps, but fine.
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.
On y va, qui mal y pense!
With so much manufacturing work going overseas or replaced with low maintenance machines we have a lot of people who can't do jack shit for the current job market. This is trying to take our assembly line workforce and convert them to programmers. The problem is programming isn't a learn and repeat process, it's a creative one. Just about anyone can do assembly line work, you get trained and just do the same task over and over until you rotate into a different spot. Programming requires the person at the keyboard to think about the process that function/module/task needs to perform and articulate it, something that requires a different thought process and much less common.
We either need to find some other rudimentary tasks for those incapable of creative tasks to perform or our jobless rate is probably stuck in limbo. Sadly this means we are likely screwed until the other countries we have outsourced all this manufacturing work to reach our economic level and stop being so cheap. Will we be able to adapt before the pendulum swings too far and brings down the stack of cards.
Then again I could be wrong and making a bad assumption about how much people can adapt.
I don't know everything.
While that might not be reasonable, I do see jobs where the addition of programming know-how (or even more awareness) would be helpful and can make the difference between available work or not.
Eg, system/application integration. Sometimes a bit of glue programming is needed above and beyond doing installations and support. (Perl, anyone?)
The business-type people (or anyone who talks in sound-bites) scramble to put a label on this activity. Tacking on "analyst" is getting old now, so maybe the new buzz word is "coder" which might have a different context than what the audience here is jumping all over.
All minds are the same. They just need to be molded.
We're all the same except for differences in opportunities.
If we use rote memorization we can create millions of new programmers, who will be adequate and spend lots of hours in the office (I mean "work hard").
Genius is a myth and does not exist. It's just pure practice and the right training.
Give me your average mouth-breather and through the magic of education I can transform him into a top-performing coder overnight.
We are all equal! If you disagree, you are a Communist.
Futurist Traditionalism
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.
This signature has Super Cow Powers
Most persons taking a job without a passion will do uninspiring product and will be a chore to work with. No scratch that, it will be a job to work with them. You are not a special snowflake as programmer. It is just that we had the luck of having a lot of pationate people, much more than other profession IMHO, and we were spoiled by it.
C. Sagan : A demon haunted world:
http://www.amazon.com/gp/product/0345409469/
visit randi.org
Good that the rates for people who can clean up the mess are higher.
You don't want to learn to code. You want to learn to program. Analogy: you don't want to learn how to nail 2x4s together, you want to learn how to be a carpenter. To be a programmer you need 4 things:
The problem is that all but the first are things you won't learn in the simple "programming for dummies" courses.
That's just what we need. More inexperienced people writing bad software.
No surprise that IT has such a bad reputation. Look at the people we allow to run our servers, write our software and design our systems. Many of them are brilliant, few of them are good craftsmen. That is because we admire hacks and shortcuts so much that we allow them on production systems. No where else in any industry does that happen. Every geeky subculture, be it engineers, scientists or doctors (oh yes, doctors are very geeky - talk to some!) has its admiration for hacks - but the adult crafts see them as steps towards an elegant solution, not as the solution itself.
We don't need lower barriers for programmers, we need higher ones. Much higher ones. We don't have a lack of coders, we have a lack of good code.
Assorted stuff I do sometimes: Lemuria.org
It's when parent poster says they taste good we gotta worry!
Nothing is "simple". When Jane Goodall first did her research with chimpanzees in the field it was because women were so so despised in the then male dominated field of biology, that no lab would have her and her only access to real research was in the field (a place where very few leading researchers spent any time.) What was particularly interesting is, that at the time the definition of human being included the use of tools. She discovered that chimps were fishing for termites with specially prepared sticks that the apes would carefully fashion for the task. When word got back to the main body of researchers, they had to change the definition of what it meant to be human and spoke of the primitive use of tools. Jane laughed and said "Primitive? You try fishing for termites with a stick." In fact the skill requires such finesse and care, that it takes a human being almost as long as a chimpanzee to perfect the skill. That is, it takes weeks, even months of training.
Plumbing, isn't just sweating pipes. Its following code. Its knowing about the relationship between flow, pressure, and hydraulic shock. Its being clear how to plumb a system so your fresh water source never gets mixed with your grey or black water even if for some reason flow reverses. There are thousands of important issues to be aware of to perform plumbing well, even more to do it brilliantly.
At one time I worked with plumbing for semiconductor furnaces. These were very critical lines carrying N2, SiH4, ArH4, PH3, gases that are toxic in part per billion. We had to use helium leak check equipment to ensure the security of our plumbing. Advanced fittings, exotic metals, high vac and pneumatic systems, all of it is just plumbing.
Basic or simply scripting are coding. Dynamic HTML sits on the borderline between coding and simple content. I don't know what they plan on teaching in a year, but it depends on the person playing. Give a bright kid a little rope and he might just get all boy scout on you. More often then not though, expect some poor sod to hang himself.
Maybe there are some geniuses out there who could do it, but learning to be a COMPETENT and valuable programmer takes more than a year. More than two years. There's a reason why it pays a lot - because it is HARD and requires SKILL and KNOWLEDGE. Maybe some factory could turn out a number of stumbling oafs in a year, who would make things worse by not knowing sound programming practices, but this is a BAD thing. We have enough problems with people, particularly those from China and India, faking credentials in order to get programming jobs (but I must say there are also a lot of talented programmers from those countries). We don't need more people dumped on the market with lots of dubious credentials and little skill.
People need to have fundamentals which make them valuable thinkers, such as basic skills in communications (English, or whatever the language is of the country in which they reside), mathematics, physics, reason, logic. Then they can attempt engineering (I suggest we need more mechanical engineers in the world), metallurgy (sorely underrated), biology, etc.
Not everyone needs a doctorate! I'd rather have a handful of competent BS or BA people than an incompetent doctor! I know that's not the style these days, but it's how I'd run things.
Sometimes I think I belong in the 19th century America, with individual discovery and exploitation of the principles getting one ahead (in spite of Edison). Alas, steampunk style does not guarantee success...
I think I kind of agree with your position yet not quite. I think it's just a little harsh and doesn't leave room for the gray(grey?) area. I'm don't consider myself a software engineer or whatever term as I only recently really got into learning programming and software dev a year ago. But I do understand that there are types of people. I for one am the type to want to know how things work and don't feel comfortable using something that I don't understand. So for instance this drove me to take apart cars and do all work on my cars. I pretty much know everything about cars but am no engineer by any means. I've been using computer since childhood (I'm 29) and just fiddle with things. I played around with programming when I was younger like in jr high and high school but then got into 3d animation and have been on that adventure for a while. In college I was a comp sci major for like 2 years then switched to be an animation student. After working as an artist and spending so much time working on that I finally decided to try my hand at getting into programming again as it is something I really want to learn about. There is something interesting here though. Suddenly I am able to learn this shit way faster and easier than ever before previously. All the concepts of programming are just clicking. I had a hard time back in the day learning. So, I guess for me the gray area is timing. I somehow achieved the necessary mindset to be able to learn programming concepts and I don't know why. Maybe you have some input?
Balderdash!
Does anyone remember when "cowboys and Indians" was a kids' game and not a tautology?
Confucius say, "Find worm in apple - bad. Find half a worm - worse."
The world does not need more code, it needs better code.
The more code we have, the more humanity needs to maintain. This is a problem.
I'm not saying this won't work, but I question our ability to inspire and train competent software developers. Software development is a big process that involves a wide array of skills, many more around human interaction, logic and communications than memorizing syntax and APIs. The way I see "programmers" taught continues to focus on syntax and one or two API ecosystems, and ignores the fact that programming languages and API ecosystems change fluidly and frequently. Graduates arrive ready to work in a world that was 5 years ago.
When a developer comes to me, I don't give a crap about the alphabet soup on their resumé. I care about whether they are good at working with people, and good at adopting new technologies.
From what I've seen, manager boot camp takes 0 days, and you can declare success no matter what happens. Kind of like politics. Oh, wait, exactly like politics.
"If you're not passionate about your operating system, you're married to the wrong one."
You have to care about it and not everyone does. That is what makes the difference between a good coder, mechanic or most any other job that's harder than typing letters or stack shelves.
Most people could draw well too but most people don't want to invest the time into learning it. Same with coding. CA is probably going to be a good start point but it's just that a start point. You won't be a good coder by the end.
Writing programs is pretty easy... relatively easy to the near impossible task of debugging programs.
I'm an artist that uses code to create my work (openFrameworks, processing, vvvv, quartzComp, libcinder, etc.). I code 15-18 hours a day. I am ALWAYS thinking about code.
My bugs bend my mind into a pretzel. I couldn't imagine someone who hardly cares about this putting in any real effort.
What kind of programs do people who do it only for a job write?
Where can I sign up? To become a brain surgeon. Within a year or so.
I'm very tech savy. I'd have no problem in screwing a frame on someone's head, to cut away skin, to very carefully drill a hole in a scull and to insert an electrode in the right place. Hell I'd to the systematic checks in order to assure that I'm not damaging anything in the process. Imagine how much time I could save a real brain surgeon!
That didn't sound too convincing, did it? Just as convincing as people trying to code in one year. Sure, you'd be able to write a small program on your private system. But you can forget doing anything half meaningful. Unless you have real talent in which case you still need a formal CS education.
I hadn't the slightest objection to his spending his time planning massacres for the bourgeoisie... (P.G. Wodehouse)
Teaching them how to react PROPERLY when their fight or flight response kicks in.
You know, like when your adrenaline levels hit 125 heart beats per minute, and your body goes into its first stage of panic. Things go real weird with the mind at that point. People freeze up or go psycho. Their ability to make rational decisions and think out their subsequent reactions plummets dramatically. Which means everything you just taught them goes right out of the window when a predator jumps in their face. Let's not even talk about when a crisis drives you to 150bpm or higher.
You can't teach people how to adapt to this inside of a day, and without being able to adapt to that 125 bpm level 1 panic mode, anything you teach them is fairly useless.
--- Grow a pair, liberals... stop letting the Republicans bully you!
Is how to speak a Slavic language or Hindu.
The second skill to learn is how to get a passport.
--- Grow a pair, liberals... stop letting the Republicans bully you!
My best teacher of all time, was my programming teacher, he could tailor his teaching style to match your learning styel, we do not all learn the same, yet he had most of his classes with high grades because everybody got it, and it was thanks to him. I was in an intensive 1.5 year course, highly intense....day in day out...but the .5 of it was 6 months stage...on the job training, so technically I knew how to program by year end. It is very doable if you have a proper curriculum, and have set goals that are realistic. Keeping on top of what needs to be done is the most important. If you set a timeline, you must respect it, else you fall into the procrastination
and this is where a week project turns into a month long one.
A section should have been added about documenting your code. If the article had that it would have been better.
~~ Behold the flying cow with a rail gun! ~~
And why not? I make most of my money with failed projects and crappy code.
Only true to an extent. Like I said in my post, the initial education is laying foundation which is the most important part of creating a good software engineer. Actual applications of the concepts is akin to the way engineers work to begin with. We know tons of math and physics principles but the engineers job is to apply those principles in a meaningful way. It is very difficult for people to apply principles that they never learned.
All the articles coming out about start-ups, being your own boss, writing your own iOS app and making money....sure smells like 1999 - 2000 to this Slashdot old-timer.
The last thing the world needs are more "day job" uninspired programmers.
Lifetime job security fixing or replacing badly-written code, here we come!
This has been a problem every since businesses stopped being willing to train! I hate to say it, but business has brought this on themselves by thinking they can find someone who's a prefect fix off the street without providing actual training (versus learn-as-you-go which is the norm everywhere I've worked). Companies seem much more willing to invest in other things besides their employees. The workforce as a whole suffers.
Sure, you can get generic training at school (and accrue a mountain of debt) but whatever they teach you isn't going to be the exact skill-set that a given employer wants. I'd like to see some sort of program where a company provides, for instance, two years of training (perhaps 4 hours of formal training and 4 hours of mentoring (like working with an experienced programmer)) in return for a contract to work for another two to four years after the training. All programmers should take a turn training because nothing makes you lean a subject like having to teach it.
Competition Good, Monopoly Bad.
I am seeing a lot of arrogance in the replies to these posts. Maybe it is because the original article mentioned the idea of getting a job after completing these lessons. Maybe its because some people feel threatened. Maybe its because some people can't conceive of the possibility that another person might be able to be as good or better than they are because they didn't share the same experience. CodeAcademy is a great idea. It is a relatively ease and free way of learning the BASICS of programming and software engineering. It easy to see how someone could complete a course or two and dive further into the art of software development. They might take a course at their local college, MIT OCW, Khan Academy, etc., get involved in an open source project, or just have a greater understanding of complexities of what make our digital society work and more respect for the "real" programmers. Get over yourself.
This might depend on the language. Some languages have a more fixed set of grammar and spelling rules than others. As programmer I love to learn patterns, which I can apply to a well defined group of problems. My native language is German. And it is an extremely ugly language when compared with a computer language. Exceptions of exceptions in exceptions in every imaginable grammar and spelling rule. For each exception there might exist a historical reason, but in many cases they don't follow a apparent logic. Many of the mnemonic tricks given by teachers to at least give the appearance of some logic behind those exceptions, are utterly worthless. They all could be compared with algorithms, which works only in 85% of all cases. As a programmer I would not want to rely on crap like that. So in contrary to your experience, most coders I know are much better in computer languages than in German.
Guess what, it isn't. It's more of a way of life. You don't become a coder, programmer, software engineer, or whatever it is you want to call it. You either are, or you aren't.
That's utter hogwash. You're no more a born programmer than you are a born doctor, actuary or lawyer . All require a certain level of intelligence plus lots of hard work to become good, but they're not like being a concert pianist or professional sportsman which only a very few can ever achieve.
To have a right to do a thing is not at all the same as to be right in doing it
I'm sorry, but it's perfectly possible to learn enough to write fine code in a year, even in a self-directed manner (since you are free to study current material it may actually be beneficial to do so) -- the limiting factors are experience, aptitude, and desire -- not a degree.
I've seen far too many people come in the door with a nice degree and an entitlement attitude, just to watch them sit in a corner and flounder about. What makes it worse is that they are often unaware of their ineptitude, and having that degree in common with other successful engineers, they tend to make poor assumptions about their place in the scheme of things.
Now many of those who work hard and spend the $$ to get a fancy piece of paper often have those important attributes I cited, but we should avoid mistaking cause and effect.
I was crazy back when being crazy really meant something. (Charles Manson)
"Average person", as you're using it, is a meaningless concept. Average intelligence? Average creativity? Average aptitude? Average aesthetic ability? Average what? Does this mythical average person only ever possess average quantities of each? And who decides what average is?
Obviously, the people trying don't find themselves so mediocre that they don't want to try.
I'm not trying to troll you here, but there is nothing realistic about your perspective. Take a look at a Gaussian distribution -- that is the reality. The "average" outnumber the "special" people by orders of magnitude and will, without exception, have to do occupy the jobs you state they should never do.
I was crazy back when being crazy really meant something. (Charles Manson)
I suspect those ads are placed just to pacify the Dept of Labor. After getting no replies, the employer can then say, "See? We can't find qualified candidates! We need that H1B!". The real job probably requires only 1 or 2 of those skillsets.
Survival basics if the economy collapses and a major inflation event
makes money nearly worthless.
Be ready to evacuate away from any concrete jungles when it all falls apart,
and good luck !!!
google "32 trillion offshore needs IRS attention"
I can't speak to the effectiveness of a one-year coding boot camp.
What I CAN speak to is the effectiveness (or lack thereof) of the academic training people are getting. My group has had open positions for almost a year, because we can't find anyone with decent IP networking, scripting/automation, and QA skills. We're getting applicants... lots of them.... with master-of-science degrees in computer science who can't write code to traverse a directory tree or automate an SSH login. And these degrees aren't from "Smilin' Fred's Used Truck Parts and University"; these are major accredited universities like Stanford and UCLA. It doesn't matter whether the applicants come from the US, Europe or Asia; none of them are qualified. Those folks should be mighty upset at their schools, because by the time they emerge from college with a Master's degree they're carrying six figures of student loan debt, and all that money has not prepared them to be hired.
We pay well, we're consistently in the top 5% of places-to-work rankings, we pile benefits on employees until they submerge, we don't do 60+ hour workweeks, and we still can't find a qualified candidate.
I'm all for the one-year boot camp, because six-plus years of academia sure aren't working for squat.
Everybody gets what the majority deserves.
"learn enough to work as a Software Developer by year end."
There's a difference in being a Programmer and being a Software Developer. A programmer writes code. A software developer not only writes code, but understands were things fit together in the bigger picture.
Coder's Stone: The programming language quick ref for iPad
Since syntax checking. :-)
My belated opinion on the original article- coding is a hell of a lot easier today than when I started. Almost all the common patterns and algorithms are in the framework libraries, no matter which framework you're programming in. I wouldn't hire somebody with this experience as a senior developer- but as a first year initial hire, no problem.
SJW: a person who perceives an injustice, and while correcting it, commits a greater injustice.
CodeAcademy is just that... Computer Based Training modules revamped into a webby centric platfrom....
I hated them when I started out, but management deemed them totally cool and the greatest low cost way to teach old programmers new tricks.
The old programmers hated it because it was mind numbingly slow and ineffective at retention of new concepts.
The young programmers hated it because it was mind numbingly slow and ineffective because these were concepts we learned before the CBT was designed.
CBTs are reactive programming to address yesterdays problems.
Your model is flawed: You get a Gaussian distribution for each specific talent requirement profile. Some may be in the, say, top 5% for poet, others for engineer and still others for mathematician. If you are not in the top 5% for "coder", you have no business trying to work as one, as you will do more harm than good (fuzzyness applies). Same for the other examples. However even if you would not be a good coder, you may still be a good candidate for poet, doctor or mathematician.
Hence "average" always refers to a specific talent profile, not a specific person. Sorry if that was unclear.
I expect there are people that are really talented at nothing, but the typical "average" person (as in "randomly selected") should at least have better scores with regard to some talent profiles.
Most ACs are not even worth the keystrokes to insult them. Be generically insulted by this and ignored otherwise.
There is always elitism, but you miss the point. Most people can't think their way out of a wet paper bag.
Wason selection task
Correlation does not imply causation
In the second case, you get wankers who take this maxim far too seriously, when they should be reasoning "where there's smoke, there's fire". The vast majority of valid reasoning falls below the harsh standard of implication. Programming escapes many people, because you have to have one foot in each camp. pfail = 1e-6 is no good for a file system. In debugging, the common case is to succumb to the rare event.
I've worked with really good students who can't consistently manage to get modular clock arithmetic right on a micro-controller. In the vast majority of cases, normal algebra applies, except when it doesn't.
u16 begin = clock();
while (clock() - begin < 100);
u16 begin = clock();
while (clock() < 100 + begin);
In a normal programming task (e.g. far away from the file system), this kind of small distinction isn't critical every hour of the day. But when it does become critical, you need the kind of person with an instinct for realizing "but wait, this might be the tricky bit, slow down a think a bit here".
This requires an innate capacity for self-monitoring the process of conviction. Many people have it, more people don't. The second group will never become value-added programmers whether they are trained and paid a wage or not.
Yes, but if one spends your first twenty years growing up in a New Age cult of evolution deniers, one is awfully late to the party when it comes time to buckle down with intelligence and hard work.
When you're picking teams at the staff picnic to run the obstacle course, do you pick the kid who practically lived on a skateboard growing up, or the bookworm with coke bottle glasses? A secure sense of balance navigating logic-dominated systems takes just as much work to develop as a bunch of skateboard tricks.
We had a kid in my residence who had never wrestled with his siblings growing up. He got the hang of it pretty quickly when the rough-housing started, but someone always got beaked in the nose whenever he was involved. The rest of us knew how to play hard without getting hurt or hurting anyone else.
You're not born any of these things, but the differentiation is well under way by elementary school. That beaker is a doctor now.
I'm a Software Developer. I started programming when I was 11, so I guess I have 18 years experience (10 Professionally). Programming certainly uses the brain differently than the average non-programmer is every going to comprehend. I have worked with many fresh-out-of-College programmers, and most of them (not all of them), who hadn't started when they were younger, were way behind where I was freshman year of high-school. Many of my "I'm going to be a programmer" friends who started in College failed, miserably. I remember a good friend of mine, brilliant in Math, was just constantly frustrated like a one-armed man trying to learn to juggle. Somebody wake me up when I can take a 1 year Rocket Science course. Or, a 1 year MD program.
"learn to code, get a job" is functionally identical to "Learn a new language, get a job." We call our programming languages languages because that's what they are. it's a new way to communicate.
People who only know how to communicate in one language never really understand how easy it is to figure out how to solve translation problems. Learning a new language is incredibly easy and it's probably one of the most valuable tools that you can get as a human being. Why? Because communication is key to human advancement.
It's true that learning how to code will make you a more valuable worker. But it's not the only way and it's not a fire and forget solution. If you don't learn how to code, and you don't learn another language, you're holding yourself back in ways you'll never be able to understand.
If you can read this, I forgot to post anonymously.
The experience of tinkering with other systems such as cars let you see the logic behind the way things work. After you started breaking into these types of systems, your mind started to enter a lower latent inhibition state. You started seeing things for what they are, not what they are perceived as. Young programmers normally build things with legos and start taking apart things around the house to see how they work. This marks the difference between a schoolyard engineer and a real engineer. You aren't the exception, you are the standard, you just may have came a little late to the game.
Sig: I stole this sig.
Yea, late to the game definitely. I mean, I have other experience behind me but I wish I learned what I am learning now a lot earlier.
Balderdash!
I don't think you could even apply these categories and classifications yourself, let alone tell someone else how to. You may call someone a "5% coder" and I may say they are more like 50%. All of this is subjective, you can't deal with people this way.
I was crazy back when being crazy really meant something. (Charles Manson)
Hey! Let's get to know each other. What's your name? Type it with quotes around it like this "Ryan" and then press enter on your keyboard.
That's exactly the kind of greeting that I warn children and other newbies not to respond to unless the site is thoroughly vetted.
If you must moderate, please moderate as irrelevent, not something bad, because I'm sure someone will find this interest
You are right, but also an ass. The "average" person is incapable of most tasks. Driving a car safely is beyond the capacity of most people, and beyond the patience of the rest. Being an effective lawyer is beyond most people, as you must follow inane arbitrary rules while advocating the innocence of a person who confessed to you they are guilty. "Cooking" (in the sense of combining food into some better food) is beyond most people as well. They can follow a simple recipe, but anything finer than that (following a recipe for ganash or something complex that takes assembly skill, rather than just following), and they will end up with something inedible, and completely unable to improvise (substituting self-rising flour for flour+baking powder when out of baking powder, but letting it sit to rise a little to make up for the difference, or oil/butter/lard substitutions, or icing sugar/sugar granules/caster sugar differences).
Learn to love Alaska
Guess they're a bit clueless at CNN. Has anyone seen a Software Engineering job posting that didn't require a degree? I haven't and some require a Masters. Have even seen Electronic Tech jobs requiring a degree. Want a software job? Go to college, get good grades and then maybe, just maybe, you can get into a good software job. But I should tell you that the other Software Engineers I knew who had degrees were still having difficulties finding work. People like myself with decades of experience and no degree are pretty much out of luck.