Why Non-Coders Shouldn't Write Code 421
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."
Appreciation Exercise (Score:5, Insightful)
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.
Everyone needs to start somewhere (Score:5, Insightful)
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.
Wrong way to do it (Score:5, Insightful)
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.
CS101 (Score:5, Insightful)
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.
I wish all comapanies would do this. (Score:4, Insightful)
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
Re:Everyone needs to start somewhere (Score:5, Insightful)
And did you learn to code because you wanted to, or because your company required it?
Comment removed (Score:2, Insightful)
Re:Marketing guy's function (Score:2, Insightful)
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.
Been there... (Score:2, Insightful)
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.
Real Coders Need a Union, or a Guild, or Something (Score:4, Insightful)
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.
Re:Code? (Score:2, Insightful)
Geekcentric Nonsense (Score:5, Insightful)
Back in the 60s Robert Townsend [wikipedia.org] 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."
Re:Wrong way to do it (Score:5, Insightful)
Everyone should know enough about coding to ask smart questions of the actual coder. If you say something like "if you put into the machine wrong figures, will the right answers come out?", you don't know enough code. If you've never touched a line of code, you're not going to be able to adequately describe your needs to your coder. You may be asking for the impossible and not even know it.
Re:CS101 (Score:5, Insightful)
In a tech company, it makes sense to have everyone take something along the lines of CS101.
And in a legal practice or doctor's office it makes sense for everyone to have a bit of legal or medical education, which for the most part people do.
But only a gibbering idiot would think that in any way supports the statement, "Everyone should learn to draft contracts" or "Everyone should learn to diagnose and treat diseases" simply because they work in legal or medical environments.
Re:Appreciation Exercise (Score:5, Insightful)
At the same you complain that Marketing people look down on you. But your job is important right? You're better then janitor right?
Huh? I used to be a janitor, fella, and I can tell you, the people who spend their careers cleaning up your shit so you don't have to are some pretty fucking awesome people.
Here's a word of advice - your pay scale does not, in any way, reflect what kind of person you are. One look into any boardroom in this nation is all one needs to know that most of the people who take home the lion's share are complete, abject pieces of shit. Hell, nevermind looking at them, just look at how much they pay themselves to do virtually nothing, compared to how much they pay the people who actually make their money for them.
You want marketing people to respect you, but you don't respect them, or people that make your work comfrtable.
I couldn't give a shit less what 'marketing people' or anyone else thinks of me, Chief. Spending your entire life trying to live up to other people's expectations of you is no way to live.
Scott Adams did. (Score:5, Insightful)
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 [tealdragon.net]
Re:Everyone needs to start somewhere (Score:4, Insightful)
Welcome my friend to the land of the Pointy Haired Bosses... See, you can tell a person whose playing their first games of Chess, mate in 18 moves and that sounds like voodoo. But you've bothered to study openings, middle and end games, and you can see in those first 7 moves this is now a done deal. Telling the pointy haired boss, that an appreciation for consistent, tight code, that is syntactically succinct, clear, conforms to coding conventions, is well documented, but most of all, reflects that the coder understands abstraction, algorithms, reusable elements, and order of precedent to name but a few basic concepts, is the difference between an application that is quick, elegant and highly useable, and a reeking pile of digital sewage. If anyone could write software, it would pay $8 an hour and robust brown gentlemen you picked up a the day worker center would hustle you out an application after pulling your weeds. It actually takes years to learn enough to write proper programs and more years to hone that skill to a useful edge. Expecting people to just learn syntax who haven't the fundaments of logic or information management, to write code that isn't just a slow motion disaster, is at best deluded.
Re:Marketing guy's function (Score:2, Insightful)
Re:Marketing guy's function (Score:5, Insightful)
Re:Appreciation Exercise (Score:5, Insightful)
It will at least give the non coders an appreciation of what is being done.
No, it won't. A simple javascript program is not representative of a complex system design, and it will, on the contrary, make people think that this new MIS they are requesting from the software development department can't be all that much more complex than a bit of jquery.
Re:Geekcentric Nonsense (Score:4, Insightful)
That's the classic lamer fallacy of posting a comeback that makes no sense.
Re:Marketing guy's function (Score:2, Insightful)
Both sides would have been better served if they had put their paper pushers and bean counters out on the street.