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."
function MarketingFunction(originalText)
{
var revisedText = new String(originalText + ", which will help build synergy and increase marketshare.");
return revisedText;
}
What political party do you join when you don't like Bible-thumpers *or* hippies?
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 ----
While they are at it, perhaps their accounting department should replace the plumbing in their office building, the secretaries should swap the engine in the CEO's car, and let's have the janitors install a new security system. What could possibly go wrong?
sudo make me a sandwich
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.
a recipie for miserable workers and substandard code.
Which is why non-spellers shouldn't spell. Or something
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
So long as you are willing to spend the same amount of time per job learning all the other jobs that make the company work, including management. Turns out managing people it tougher than you might think. I've no desire at all to go in to management, though if I stay working for the university it is probably inevitable that I'll be made to.
If you are willing to do the same amount of cross training (per job) that you expect people to do for yours, then ok. However it is rather arrogant to think that your job is the only one important enough to have other people need to learn, or that you "already understand those other jobs."
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.
Dude, you missed the keyword "everyone".
So make that
"Pilots training flight attendants and passengers how to fly"
What could *possibly* go wrong?
I'm looking forward to see the janitor working on our modified FC kernel driver.
Corollary: Don't even think about using FreeCause products.
thegodmovie.com - watch it
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"
Everyone will be required to perform surgery every week.
Especially the patients.
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."
Why Non-Coders Shouldn't Write Code
:-)
Why Non-Surgeons Shouldn't Operate
Why Non-Terminators Shouldn't Terminate
Why Non-Welders Shouldn't Weld
Why Non-Judges Shouldn't Judge
Why Non-Burglars Shouldn't Burgle
Why Non-Existent Shouldn't Exist
Why Non-Veterinarians shouldn't Vet
Why Non-Fiction Shouldn't Fict
Why Non-Player Character Shouldn't Charact Play
Why Non-Females Shouldn't Do the Dishes
Why Non-Males Shouldn't do Men's Jobs
And so on. If everybody does what he/she does best, all will be fine! It's that easy!
rm -rf --no-preserve-root /
I'm glad I don't work for a surgery center with the same mentality...
Karma: Bad
Throughout my career I've had to work on Flash files built by designers. Most programmers I've encountered consider Actionscript beneath them and refuse to touch it. Companies figure that since Flash is supposedly a designer's tool that designers should also code.
You haven't seen bad code until you've been exposed to a designer's creation. It's the most convoluted garbage imaginable. I'd always be handed half-finished, barely functioning junk that needed "minor" edits. It would inevitably turn into an excruciating nightmare trying to figure out what this incompetent had done. In the end I'd just redo the thing completely because it was less work than trying to decipher and modify the original mess.
I'm convinced one of the big factors that led to Flash's downfall was crap code from designers. I couldn't stand, as a designer, being expected to code Actionscript. It's why I stopped including it on my resume.
From a perspective of quality, expecting every one of your employees to code is about the stupidest thing you can do. But more importantly, it's inefficient and an incredible waste of resources.
this isn't about altruistically teaching others a valuable skill. it's about vain programmers trying to show their non-programmer colleagues how hard it is to code in order to get more respect. how much more condescending can you get? different people have aptitudes for different skills. go teach some dis-interested people how to do the rubic's cube, or something.
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
Did you KNOW that capitalizing and BOLDING random words makes YOU look like a retard?
Copyright 2010. All rights reserved. This comment may not be copied in any way including, but not limited to caching.
Oh, oh... Executive Officers clean up overflowing toilets. Not so they get an appreciation of what is being done, but for the general entertainment of the rest of us!
Hell, I'd pay to see just one of the suits around here cleanin' a shitter or two...
Then try working for a small company that is owned by one person, or maybe two if they are spouses. Then you may very well see an owner come in half an hour early to clean the bathroom in the morning. And yes one person I once worked for who did so was a suit, a business/marketing guy. He never asked one of the programmers, qa/support guys or the receptionist to do so. Small shop, 6 employees, plus a consultant or two at times.
As an added bonus the suit above trusted our judgement on technical issues.
YMMV.
Let them write code, but for the love of my future cat, choose something like Java or C++ or C# that actually forces them to adopt a decent coding style.
JavaScript is, like Visual Basic or PHP, an undead language that requires a decent burial and a priest of the highest order to dispatch. I mean, these languages are really, really, not good starting places for learning proper programming, they're just languages that let you learn some basics very quickly. It's like the bike you got when you were 6, that had clickety-clacks and was composed primarily of plastic; no one is saying that you can't ride them at age 12 or 25 or 40, but once having mastered the general idea of human-powered mechanics, it's best to move onto faster and more capable things. The way some of these people use these languages, you'd think someone had attached a lawn-mower engine to a preschooler's tricycle; yes, that's awesome (and no, I did not know you could do that, let alone would want to), but try out some of these bigger toys, which I think you will find much more fun.
I am John Hurt.
If your guild actually had some basic education and standards for what constitutes "professional quality code" independent and irrespective of the marketing buzzword du jour, as well as some good-quality continuing education to keep up with the technology behind the latter, it might actually benefit you, people who want to learn to code, and ultimately the employers who want to hire coders.
But as it stands now, the entire high-tech industry has acquired such a fly-by-night mentality that I don't think there's any demand for "professional quality code". The demand is "do a marketing blitz quick ship it out the door before the hype dies down and let me collect my bonus and move on to the next project." The hubris and arrogance that seems typical of developers themselves doesn't help either. Whether non-coders could or should or would code is a totally minor side-issue, given the amount of professional-quality enterprise-grade crap software out there.
I'm one of those non-coders who code -- I end up writing a few scripts in Perl or PHP or Javascript or R or whatnot for miscellaneous tasks, but I don't want to be a programmer. I'm just glad I get to put my education to use and develop my skills in a different industry, where there isn't quite so much nonsense to put up with.
http://developers.slashdot.org/story/12/09/16/1631239/can-anyone-become-a-programmer
If you want to dig deeper, here's a page with the link to the 2006 study. Short version: not only can not everybody learn to program effectively, but that there's a simple test to predict if someone could or not without putting them through a year of school:
http://www.eis.mdx.ac.uk/research/PhDArea/saeed/
The overlapping bell curves explain a lot about grade distributions when I went to college.
If opportunity came disguised as temptation, one knock would be enough.
3^2 * 67^1 * 977^1
FTA:
Every FreeCause employee, from CEO Mike Jaconi on down, is learning JavaScript. Inspired by the dictate within its Japanese parent company Rakuten to have all its employees become fluent in English, Jaconi decided to have everyone, from himself down to the interns, learn to code.
Emphasis mine.
A Japanese firm having staff which are fluent in English is actually useful. It's a very common language around the world. There is almost no benefit to having an entire company that knows JavaScript, especially if they're not in coding roles. Sounds like the man just wanted to make headlines as a pioneer of some sort, regardless of the fact it makes him look stupid.