Why Non-Coders Shouldn't Write Code
jfruh writes "Software firm FreeCause made a bit of a splash with a policy that requires all its employees — including marketers, finance, etc. — to write JavaScript code. And not just 'code to learn basics of what JavaScript can do,' but 'write code that will be used in production.' Phil Johnson, a tech writer and editor who himself once coded for a living, thinks this is nuts, a recipe for miserable workers and substandard code."
It will at least give the non coders an appreciation of what is being done.
Now, they need to take the coders and make them do sales for a day.. finance go clean trash for an afternoon.. .etc etc.
---- Booth was a patriot ----
We were all non-coders once.
Saying non-coders shouldn't write code is like saying non-writers shouldn't write.
How about: Don't expect consistently professional-quality code from inexperienced coders.
Knowledge is how to play a game, intelligence is how to win, wisdom is knowing what game to play.
There's nothing wrong with making all your employees learn how to code, if you're in the coding business. That can help the non-coding guys realize the limitations of code, and let them write quick, dirty code themselves to test something. And if they have a knack for it, maybe they can serve as a coder as well as their old position (assuming your corporate structure is flexible enough for this).
But demanding everyone be putting code into production is wrong. Would you demand all your employees learn graphic design and have them all create graphics to be used in production? Would you demand all your employees study law and write contracts?
No, because that's stupid.
In a tech company, it makes sense to have everyone take something along the lines of CS101. Specifically JavaScript? I don't think it matters but it helps give everyone a sense of how computers really work and what they can and cannot do.
Competition Good, Monopoly Bad.
At every place I worked at, executives and managers had never any clue what they were talking about, what their decisions meant or in general what the programmers/artists/workers did. This made for lots of meetings to explain them stuff , stupid decisions and lost money and effort.
So making them learn about what the company actually does, could accomplish:
a) that they make better decisions or, preferably:
b) that they let the people who know what they are doing do their job
Node.js is for hipsters and overgrown web monkeys who think they can code.
The other side of the coin... why non marketing guys shouldn't write marketing materials:
function MarketingFunction(originalText) { var revisedText = new String(originalText + ", which will help build synergy and increase marketshare."); return revisedText; }
Quite true, unlike marketers and politicians, IT professionals usually have an aversion to lying or even stretching the truth via "spin". Your marketing will fail when compared to your competitors if they aren't mostly lies and half truths.
Many moons ago, I was called in to clean up a project which had been assigned to an individual chosen for a particular task because he wasn't doing anything at the time...
The code in question was a real-time application that was to run on an in-house production system. People would flick a badge at a badge reader, which would transmit data to the production system in question, and the app, in real time, would do the usual things -- is the user authorized for this reader, log the event, do the right thing.
Except what usually happened was someone would walk up to a reader, flick their badge, and buggy real-time code would bring down the entire system.
After a few days of this yo-yo routine on a valuable system, I was given the opportunity (sic) to fix things.
Mess, spaghetti code, dog's breakfast, n^2 monkeys on bad acid, it was worse than that.
Previous "author" returned to his previous position. I re-wrote the pig (after writing a spec), debugged it on a non-production machine, and when it was checked out, put it into production.
Pain in the ass. Yeah, most everybody can be taught to write programs. Not everybody can write correct or good programs.
Oh, HTML isn't programming, but I'll leave complex website design to them that knows what they're doing.
People who are really professional coders ought to resist this kind of silliness because it is rooted in the notion that anyone can create professional quality code. If that's true, why pay the real coders?
It isn't true, of course, no more than is the notion that if you can stick a frozen pizza in the microwave you should be preparing food in a restaurant.
-- Slashdot: When Public Access TV Says "No"
I know better than to feed trolls, but what exactly is wrong with Node.js - I get that it is a polarizing topic (anti-hipsters versus hipsters?). I'm just making some of my first web apps, and am very comfortable in c-type languages. I don't love javascript, but I don't hate it either, and have found some really nice projects in Node that have been easy to get started with, and seem to "just work" the way I expect so far. Is there something I'm missing?
Back in the 60s Robert Townsend was brought in to turn around a dying Avis Rent-a-Car. He decreed that everybody spend some time working a rental counter so they would understand the activity that was at the core of the business. He was very amused by the experience of his chief programmer, who fled in panic upon seeing his first customer!
That was appreciation. This is geekcentric nonsense. The CEO doesn't just want everybody to better understand the coding, he actually thinks everybody can contribute to the codebase in an ongoing fashion. This is the classic geek fallacy of "everybody's brain works just like mine."
He didn't just spout computer-generated buzzwords on the phone, though, he actually put on a fake mustache and physically attended a meeting - spouting total drivel. Nobody noticed until he started drawing Dilbert cartoons on the blackboard!
http://www.tealdragon.net/humor/articles/dil-hoax.htm
Everyone has to start somewhere. And in production, it doesn't really matter if javascript is clean. It just needs to work. Everyone has to start somewhere. And everyone should at least know how to do it. I don't get people on Slashdot. When you're talking about running it as a server side language, everyone complains that it's not a real programming language anyway, and how running server javascript is a dumb idea. But, dear god, if amateurs even think about writing it... they'll never be able to work with a programming language as sophisticated as js and be able to write readable code. So which is it guys? How about some philosophical consistency?
This signature intentionally left blank.
Sometimes (OK often) I think it is one of the reasons that companies think young guys are better programmers. Because too many managers want to believe the young programmers who do this. Yep might as well get rid of the older guys who say it'll take a month when this kid can do it in a week. And if the kid does it in a week it is shit, but everyone is so excited the feature is done that they refuse to notice it really sucks for a few weeks.. And then we get people writing papers about what is wrong with the software industry and blah blah blah. Rose coloured glasses on almost every manager sinks both projects and reasonable programmers.
-- I ignore anonymous replies to my comments and postings.
This is only a real argument because there are a bunch of tools who only want to hear marketing speak on the other end. So you get a bunch of engineers on one end making a product that doesn't make any sense to them, and then their marketing team sells it to another group of nontechnical employees that doesn't even understand what the product is supposed to do much less how bad it is at it, and then engineers get frustrated on the other end when they have to use some product that doesn't actually solve any problem they had because somebody signed a three year contract on it without asking them.
Both sides would have been better served if they had put their paper pushers and bean counters out on the street.