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."
Marketing guy's function (Score:5, Funny)
function MarketingFunction(originalText)
{
var revisedText = new String(originalText + ", which will help build synergy and increase marketshare.");
return revisedText;
}
Re:Marketing guy's function (Score:5, Funny)
Or, alternatively, here [sourceforge.net].
Re:Marketing guy's function (Score:4, Interesting)
Re:Marketing guy's function (Score:5, Funny)
Re: (Score:3)
Re: (Score:3)
Marketing gets a bad rep, but if you were a tech company would you want your coders or engineers selling your products to the general population?
No, but similarly I'm also concerned about marketers selling my products since my company hinges on customers trusting us, and the trust is likely to go out of the window as soon as your average salesman starts making up any old bullshit in order to sell the product.
Solution? Have these conversations behind closed doors, well away from the street.
My thoughts exactly. Non-engineers really shouldn't be directly involved with purchasing engineering solutions.
Re: (Score:3)
You know, I almost wonder if anyone has ever sat on a phone conference and just parroted whatever comes up on that thing. I think with a typical non-technical tech PM talking to another non-technical tech PM (something I've actually seen a lot) this could actually fly. Would be at least fun to try!
Say...
If you hooked a chatbot up to one of those things, and had a marketing exec play the part of the human, do you think it would pass the Turing test?
Followup - assuming that the marketing drone affirms the chatbot as human, would that mean that the chatbot passed the Turing test, or that the "human" marketing drone failed it?
Note: I'm only half-ass joking.
Re: (Score:2)
do you think the marketing exec could pass the Turing test?
Re:Marketing guy's function (Score:5, Funny)
do you think the marketing exec could pass the Turing test?
Well, perhaps, if not for the satanic ritual that's part of graduating from marketing school, during which the individual's soul and humanity are removed and replaced with tapioca pudding.
Before you ask, it's obviously because tapioca is the most evil of all puddings.
Re:Marketing guy's function (Score:4, Funny)
Each one is a live baby Tapioc. They scream in your stomach as the acid kills them.
Re: (Score:3)
No, a Black Pudding is the most evil of all puddings
Any Australian will tell you that Albert is the most evil of all puddings.
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: (Score:3)
Surely in the case of buzzwords being good at them means everything to this company how else would a person with a degree in political science end up in charge of a software company. So it has nothing to do with coding, it's all about buzzwords, which are the good javascript coding ones and when and how to stick them in communications.
Somehow I think something deeply delusional is going on. If everyone in the company learns how to code then we can sack all of the coding only staff, think of the money I w
Re:Marketing guy's function (Score:5, Funny)
Or just use the Corporate BS Generator [atrixnet.com].
Or, alternatively, here [sourceforge.net].
I prefer this site [foxnews.com] for my Corporate BS. Thanks.
Re:Marketing guy's function (Score:5, Funny)
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;
}
Re: (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.
Re: (Score:2)
What if your targeted market is IT professionals?
Re:Marketing guy's function (Score:5, Funny)
What if your targeted market is IT professionals?
Then you have a failed business model since IT professionals, as a rule, have no budget.
Re: (Score:2, Redundant)
Of course programmers never say things like, "this will only take a couple days," only to see the end result a couple weeks later (and not because of changing requirements). Programmers are just a capable of over-promissing as anyone else. Sometimes more-so.
Re: (Score:3)
Inexperienced programmers do that. Experienced programmers know to take their intitial estimate, double it, and add a week before they answer any questions about how much time something will take.
Re:Marketing guy's function (Score:5, Insightful)
Re: (Score:3)
One of the biggest rookie mistakes (that I still make from time to time) is that in my estimate, I assume I'll actually be able to work on the project uninterrupted. Yes, simple things could be cranked out in a couple of days, if that were the only thing on my plate, but that ain't ever the case.
Re: (Score:3)
The difference: Even the craziest of PHBs wouldn't ask a coder to write marketing materials. Then again, yesterday I would have said the same thing about expecting marketing people to write code.
"We think you should buy our product. It doesn't really work, as such, but we would like to continue to get paid".
Re: (Score:2)
coders write marketing materials all the time. This is what happens when engineers become CTOs.
Re: (Score:3)
function MarketingFunction(originalText)
{
var revisedText = new String(originalText + "!!!!");
return revisedText;
}
Re:Marketing guy's function (Score:5, Funny)
would add more exclamation marks, but Slashdot won't let me
Make it recursive.
Re:Marketing guy's function (Score:4, Funny)
Here, I fixed it for you:
(function() {
var MarketingFunction = new function (options, callback) {
var revisedText = new String(options.originalText + "!!!!");
callback(revisedText);
}
Function.prototype.toString = MarketingFunction;
});
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.
Re:Appreciation Exercise (Score:5, Funny)
Re: (Score:2)
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 ... (Score:4, Informative)
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.
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.
Re: (Score:3, Interesting)
"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."
How did you manage to pull that off within a sentence?
1) Your payscale doesn't reflect you
2) Your payscale determines who is an abject piece of shit
Truly you are amazingly mentally flexible.
Re: (Score:3)
At the same you complain that Marketing people look down on you. But your job is important right? You're better then janitor right?
Oh come on, it's not like we haven't all vacuumed or plunged a toilet or cleaned up vomit at some point. We're not better than the janitors, it's honest work, we just don't want to do it. We could legitimately consider ourselves better than the marketers; most of them are liars, and lying is bad (m'kay?)
Re: (Score:2)
Although sadly, that would probably greatly improve the fortunes of a lot of companies I happen to have been associated with.
Re:Appreciation Exercise (Score:5, Interesting)
Every cook has to learn how to govern the state.
- Vladimir Lenin
In the early days of the Soviet Union it was a very popular idea that there should be no specialization in work. No man should have to do the same thing over and over every day of his life. Jobs should be changed regularly to keep the worker interested and motivated.
Re:Appreciation Exercise (Score:5, Funny)
I would have hated to get heart surgery from one of their doctors.
Re: (Score:3)
I would have hated to get heart surgery from one of their doctors.
But if there were no specialized worker in the field of making you eat junk food, perhaps you would not need heart surgery
Re: (Score:3)
That might explain Lenin's death at the age of 54, from stroke I believe.
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:Geekcentric Nonsense (Score:5, Interesting)
In the late 90s I was at a software company that created circulation system software for the newspaper industry. We had a good number of system testers (pretty much all of them) who had never worked at a newspaper before. As one of the senior leads, on every project I worked on I made sure that a system tester went on site with me to sit with the various departments and help them understand/learn the new system (as opposed to just classroom teaching). This was a 'bonus' for the customer.
My bosses were leery of not getting money for this extra training. But when they realized that the system test people improved by orders of magnitude because they actually understood implicitly what the features were for they started sending coders on site as well (to program in situ on projects). The quality of our system improved immensely, much quicker than otherwise would have happened.
Re:Geekcentric Nonsense (Score:4, Insightful)
That's the classic lamer fallacy of posting a comeback that makes no sense.
Re: (Score:2)
Yeah, if that's what they were doing, I'd say this is great. I think it'd be great for us engineers to take a short class in marketing, or business accounting, or sales.
But for goodness sake, don't take my "Super Abbreviated Marketing 101" project and make it the basis of our next ad campaign!
Re:Appreciation Exercise (Score:5, Interesting)
About 20 years ago I worked at a chemical company. Almost all the junior engineers hired had to work out in production facilities for six months to a year, disigning and implementing the occasional needed improvement they discover. After that they were allowed to become office based engineers if they wanted, or stay in operations but move to real management. It worked very well.
One time we had an electrical engineer who was trained to program Distributed Control Systems, and somehow he was never required to work in a production facility before that time. He built some attrocious logic into the system making it a pain to manage the smelter I was at. Things that should have been grouped for safety (i.e. you adjust a control, but the reading you needed to watch was on another screen) or just good functionality so the operators could focus on the situation in the plant and not switching screens all the time.
When we complained he told us we were whiners and not capable. Since a few of us were actually closer to the operations manager in terms of grade, we had him forced to use his own software in production on a few weeks of midnight shifts. There was a noticable improvement in functionality before the 3 weeks were up. And even more in the months that followed. It is often very good to forcefully put people in someone else's shoes, since they will often say it, but not do it on their own (even metaphorically).
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: (Score:3)
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.
This is a really important point, and I'm surprised more people haven't picked up on it. Learning to write short code snippets that do one thing is really easy for most reasonably intelligent people. Learning to understand the scope of a major project takes years of experience.
I see nothing wrong with this (Score:5, Funny)
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?
Re: (Score:2)
Hmmmm, let me see... You never have to wipe because every time you flush, 30 inches of balance sheet shoot up your Ass. The CEOs car explodes preventing the implementation of the next stupid idea. And finally, They find the bodies of would be industrial spies in a drain trap in the basement. Sounds like everything's working just fine to me.
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.
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?
Re:Everyone needs to start somewhere (Score:5, Interesting)
Back in the '80s, IBM Canada gave a number of employees the chance to learn how to write code after being told that they didn't have any other skills that the company required. If you wanted to stay employed by IBM, you had to take a two year course which was actually quite substantial (covering assembly language, PL/1 (which was the language of choice at IBM back then), databases, and the usual IBM system stuff like JCL) and was administered by Ryerson (which was a polytechnic, not a University then).
A surprising number of people graduated the course - I seem to remember that it was 80% or more - and went on a new career path coding in the Toronto Lab.
So learning to program because your employer requires it is not necessarily a bad thing for both the company and the employee.
myke
Re:Everyone needs to start somewhere (Score:4, Interesting)
I was told that some kind of test was applied to determine aptitude and this was used to select the individuals for the program but...
I tutored one our (former) secretaries as she went through the class and she had a devil of a time understanding that after a statement like:
a = b;
"b" wasn't 'empty' (ie she felt there was something physically moved from "b" into "a", leaving "b" empty). The idea that "b" would continue to have the same value after the value in the variable is stored somewhere else just didn't compute (if you can excuse the pun).
She eventually got past this hurdle and made it through the course.
So, maybe IBM knew something 25 years ago that seems to have been lost.
myke
Re: (Score:2)
because my degree required it.
Re: (Score:2)
This is about people who have chosen a profession other than programming being forced to program so as to produce an appreciation for and awareness of what their company's programmers do. I agree with your idea, but I don't see the applicability in this particular scenario.
Re: (Score:2)
I agree with what you're saying, but the morons in TFS are actually talking about putting that beginner code into production!
Re: (Score:2)
I agree with what you're saying, but the morons in TFS are actually talking about putting that beginner code into production!
Perhaps so that the non-coder gets to feel that special cold sweat that comes right as a deployment happens and you start to wonder about all the test cases that weren't in your test plan.
Or perhaps part of this is to give the non-coders an appreciation of how their testing and promotion process prevents buggy code from hitting production, and why changes can't be turned around in a day.
Re: (Score:2)
Who's this everyone that actually WANTS to do this stuff? The problem isn't that people who want to it aren't being given the opportunity to do so. The problem is that people who have no interest in doing it, or have a totally different job description other than developer are being told that they suddenly all have to learn programming. Some idiot actually thought it was a good idea that suddenly the marketing people are going to be contributing code to the product simply because they required everyone t
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: (Score:2)
A recipie (Score:2, Funny)
a recipie for miserable workers and substandard code.
Which is why non-spellers shouldn't spell. Or something
Re:A recipie (Score:5, Funny)
a recipie for miserable workers and substandard code.
Which is why non-spellers shouldn't spell. Or something
No, that's spelled correctly - it's recipie, shorthand for a recipe for a delicious pie. Which fits perfectly since miserable workers can't make a delicious pie, but if they had a delicious pie they wouldn't be so miserable.
Re: (Score:2)
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.
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.
Graphic design... (Score:2)
Would you demand all your employees learn graphic design and have them all create graphics to be used in production?
If I were selling graphic design product, I might.
"Production" in this context means "demonstrating what the tools can do on a customer premises in order to close the sale". I'd hope to hell that if I were selling Photoshop or Final Cut Pro or Shake that I'd be able to demo it to the customer and connect with them on at least a semi-professional level so that they'd have confidence that what I'm selling them will do what I'm telling them it will do.
Re: (Score:2)
If you read the article, what's funny is that the "quoted" sections of the summary do not seem to appear in the "actual articles" "at all."
If you read the article, there's this, which is the closest that it comes to "production code" being talked about:
Re: (Score:3)
Would you demand all your employees learn graphic design and have them all create graphics to be used in production?
Actually, I have been made to produce entire websites from the data tier all the way up to the artwork on may occasions.
Then they laugh at my artwork.
The most powerful graphics programs in the world can't help when the person using them is so artistically challenged that everything looks like it should have been rendered in Crayolas (the fat ones) and stuck to the door of Mom's refrigerator.
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.
Re: (Score:2)
I really don't think it's necessary for everyone in a tech company to understand computers in that way.
I work for a small software company. Our head of sales is an awesome guy, really switched on, understands the products, the market, people, what they want, sales process improvements - the works. I can't see how his ability to do his job would be enhanced by learning computer science, unless he was particularly interested in it anyway.
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.
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
Just so long as you are willing as well (Score:3)
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
Code Reviews? (Score:2)
Unless FreeCause has a rigorous mentoring and code review process, this is a mistake. I've seen even Computer Science graduates who aren't yet very real-world experienced emit some of the most incomprehensible, unmaintainable, defect-ridden code imaginable. It is a waste of marketers', analysts', and whomever else's time to learn to create useful code.
I'm especially concerned about inexperienced developers coding in JavaScript, which is difficult to debug and is notorious for cross-browser incompatibilities
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.
E
Stupid headline (Score:2)
Why Non-Coders Shouldn't Write Code
Non-coders should write code. It's how they'll learn. Now, if you meant "Why non-coders shouldn't write code for serious business purposes," well, guess what else? Non-surgeons shouldn't perform surgery. Non-swimmers shouldn't go diving. Non-drivers shouldn't be on the roads.
Re: (Score:2)
I agree. In fact some real coding ability (simple things) should be required as entry for any kind of higher education, just like reading and writing and basic math is. Maybe then people would stop thinking coding is easy.
"Pilots training flight attendants how to fly" (Score:3)
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.
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.
Great idea! (Score:2)
...unless ofcourse you are one of the many IT employees required to maintain this crap.
Re: (Score:2)
Well, you'd have a code review with the real coders, clean it up before pulling it into the codebase.
It's some extra load for the experts, but someone's learned something. I can see it working as long as management give everyone the time they need, and the real coders aren't arseholes about it.
There a quite a few people in my organisation that I'd like to just be exposed to a bit of programming, simply so they understand the basic concepts of what they're asking us to do.
That is an insanely bad idea (Score:2)
You're introducing top to bottom amateur crap done by people with different styles who have never had to do this for a living.
This is why I do not have my tax man paint the art that hangs in my house or my vet create building codes requrements.
People are good at certain things BECAUSE they have become good at certain things.
At Berkeley Systems, we once had a product hit a problem state and had the QA manager hand out our extra bugs to everyone in the company to test. This was obviously, massive stupidity.
T
What's the harm? (Score:2)
#1 writes the code to display 9 boxes in a 3x3 grid.
#2 writes the code to remove the outside borders.
#3 writes the code to display an X or an O inside of any box
#4 writes the code to check if there are three of either X or O in a row (this will not be a Marketing Guy, probably).
#5 writes the code to look at the Xs and Os, see if is the code's turn to choose which square to mark how, and where to put the approriate symbol.
#6 writes the code to take the message from #4's code and decides if it's appropriate t
good question! (Score:2)
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!
Really?!?! (Score:2)
Stupid. (Score:3)
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.
No free lunch. (Score:2)
And not just "code to learn basics of what JavaScript can do," but "write code that will be used in production."
If you are asking me to write commercial grade, production-ready code, I expect to be paid the going rate for commercial grade, production-ready code --- over and above what I am currently being paid for my day job in accounting, marketing, etc.
vanity (Score:5, Interesting)
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.
Getting worked up about the wrong thing. (Score:2)
More bad IT decisions by clueless morons (Score:2)
These people do not get it. Sure, there are a host of bad coders with limited training, talent and experience. But nobody sane wants or needs more of them. In fact, re-qualifying all of them for something that has nothing to do with software creation may be a huge boon for everybody.
Quality coding is an engineer's job. It requires far more insight that hows to get a few functions codes or how to implement some algorithm. It requires understanding ans kill in building systems. Now, I also realize that academ
it's easier than Japanese. (Score:2)
In other words, if anything, he should really be inspired by his parent company to force all his employees to learn Japanese, but JavaScript is easier.
*Facepalms* (Score:3)
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.
The policy is deomonstrably idiotic. (Score:4, Informative)
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/ [mdx.ac.uk]
The overlapping bell curves explain a lot about grade distributions when I went to college.
The companies' rationale is all wrong (Score:4, Informative)
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.
Re: (Score:2)
Isn't "JavaScript code" an oxymoron?
No, it's not.
Anyhow, given that JavaScript runs on the client, that shouldn't be as big a problem as if they wrote code running on a server, as long as reasonable precautions have been taken to vet what you do with incoming data.
There's still plenty of room for security holes, if that's what you're after.
Just because the code runs on the client, that doesn't mean it's not important. I can understand why a company would want everybody to know the basics of programming, but making the people who's jobs have nothing to do with programming (and therefore have little programming experience) contribute production code seems like a strange policy.
Re: (Score:2)
It took the world 10 years to work out how to write clean Javascript. But now if you're disciplined, stay away from the nastier parts of the language, use the neat conventions the community has established, and have some discipline, you can write great code in JS.
You can embed V8 in all sorts of things - node.js, silkJS and Chrome are just three examples.
Re: (Score:2, Insightful)
Re: (Score:2, Insightful)
Re: (Score:2)
Re: (Score:3)
Everyone will be required to perform surgery every week.
Especially the patients.
Re: (Score:3)