Posted by
CowboyNeal
on from the diary-of-a-madman dept.
bsadler writes "There is a pretty interesting article on the psychology of a programmer over at devx. It includes some suggestions that a manager might take into account when dealing with programmers. Maybe my boss will finally give me my own office."
460 comments
It's not really psychology
by
xintegerx
·
· Score: 5, Insightful
There is no psychology really involved... Just treat the programmers as the professionals they are. Treat them like people.
Re:It's not really psychology
by
LegendLength
·
· Score: 0, Redundant
The entire article can be summarized as 'treat programmers well'.
Re:It's not really psychology
by
Orthanc_duo
·
· Score: 5, Insightful
I think the big point is that programming is an art. Every programmer I know knows this on som elevel but lay people generally do not. I'm lucky in that my boss is a programmer
Re:It's not really psychology
by
SpaceLifeForm
·
· Score: 5, Insightful
It's not that simple. Just treating them like
people is part of the problem. Most people
can deal with interruptions because they don't
stay on the same train of thought for very long.
Non-programmer types when they interrupt a
programmer *never* for a second believe they
are really causing a problem. But, IMNSHO,
those interruptions are real thought-killers.
I'd like to LART some managers who come by
every 10 or 15 minutes while I'm working on
a project with a very tight deadline, and ask
'Is it done yet?'
-- You are being MICROattacked, from various angles, in a SOFT manner.
Re:It's not really psychology
by
WindBourne
·
· Score: 4, Insightful
I use to code all night long but dealt with to many morons at the office bitching about my never being there. So now I am there and productivy is at about 1/4 of what it was. But hey, they can see that I am there.
-- I prefer the "u" in honour as it seems to be missing these days.
Re:It's not really psychology
by
wideBlueSkies
·
· Score: 4, Insightful
From personal experience I have to agree with this. In the morning when I come in it takes a good 10 minutes for me to settle down and start to think 'in code'. Once the train starts rolling though, the ideas (usually) just flow down to the keyboard.
If I'm interrupted, it's like the train fell off a cliff.
So then I have to focus on whatever interrupted me, while trying desperately to cling on to those ideas that didn't make it down to the keyboard before I was interrupted. Because now i'm having to think in 'real world'.
If I'm interrupted to help another developer debug something, or brainstorm a problem (which I enjoy immensly) It's harder because I have to switch over to their programming mode, and try to understand what they're doing.
So then when I can finally get back to the joy that is programming, it takes another 10 minutes or so for me to get back to where I was.
I know it sounds like a buch of BS, but it's true. If people keep bugging me, I can lose an hour (or more) in startup time every day. It's not that I'm not working, it's that I'm not working at peak.
So leave me the hell alone! Dammit!;)
-- Huh?
Re:It's not really psychology
by
arvindn
·
· Score: 3, Funny
Dead right. Often when I'm coding (mostly at home, being still a student) someone interrupts me with a question. I look at their face and stare blankly for a full 10 seconds. That's how long it takes me to get off my train of thought. And they often think I'm doing it on purpose, to irritate them:(
Re:It's not really psychology
by
Anonymous Coward
·
· Score: 0
About your sig:
Why do you people try so desperately to memorize the first n digits of pi? Why don't you just try to memorize the method of calculating them?
Re:It's not really psychology
by
DuctTape
·
· Score: 5, Insightful
I'd like to LART some managers who come by every 10 or 15 minutes while I'm working on a project with a very tight deadline, and ask 'Is it done yet?'
Reminds me of one time I was a project manager "under the gun" for a past-due project deadline, and my manager and his boss and various other PHBs would come around at nondeterministic intervals to ask what the status was (essentially it was done as soon as the developers had a V-8 moment), so as an experiment, and a total waste of time on my part but the developers understood what was going on and that I was being a very effective filter between them and the PHBs, I would continuously round-robin visit the developers getting continuous status updates, and at the end of each cycle, I would pop my head into the PHBs' offices and let them know what was going on. This kept me from getting interrupted at random moments, and the guys kinda figured out when to expect me, and could give one-syllable grunts to convey status with minimal context switch.
I think my approval rating went up that period. Of course, I never did it again.
Perhaps we need an article about the psychology of PHBs. Or project managers. Still can't believe I did it....
DT
-- Is this thing on? Hello?
Re:It's not really psychology
by
Snork+Asaurus
·
· Score: 4, Interesting
I'd like to LART some managers who come by every 10 or 15 minutes while I'm working on a project with a very tight deadline, and ask 'Is it done yet?
Under a very tight deadline, I once told a manager quite forcefully:
"Look, each of us has an obligation to the other here. Your obligation is to do everything you reasonably can to empower me and enable me to meet the deadline. My obligation is to do everything that I reasonably can to meet my commitment on this deadline and to inform you when there are things that you can do to improve my chances. Therefore, as part of my obligation, I have to inform you that by constantly interrupting me to ask me how it's going, you are breaking the concentration that I have spent several hours building and reducing my chances of meeting the deadline in the order of 2 or more hours* per interruption."**
He looked quite shocked at first but then seemed to summon his memories of his days in the trenches, apologized and backed off. We had a new understanding from that point on.
----
* 1/2 hour to cool off + 1 hour to re-build my mental state + 1/2 hour fudge ('cause we always gotta fudge;)
**(This is what I said IIRC. It was some years ago and legends tend acquire new dimensions over time. It's also possible that I said something more concise like "quit f---ing bugging me, so I can get this done". I can't remember exactly now.)
-- Sigs are bad for your health.
Re:It's not really psychology
by
vvikram
·
· Score: 1
i agree with your pt. but it applies to EVERYONE who is dealing with some science related subject or the other. i dont see why the "programmer" is so special.
i would think a xray crystallography student will want to maul you if you disturb him/her while he is setting up the experiment and thinking through the steps. i guess the same goes with mathematicians who have flashes of inspired thought.
i think the "programmers are special" is hype. anybody interrupting is bloody painful. period.
thanks for reading vv
Re:It's not really psychology
by
Bryan-Dollery
·
· Score: 1
If it were as easy as that then I wouldn't have had to write the article...
Re:It's not really psychology
by
SN74S181
·
· Score: 2, Interesting
It doesn't matter how much 'wonderful' code you were producing. If you weren't there at the same time as the other people working on your team and/or the people who define the requirements, you weren't working cooperatively. You can spin algorhythms into the night to scratch your own itch. That isn't what you're paid for.
Re:It's not really psychology
by
archen
·
· Score: 2, Interesting
It's sort of puzzling that many of us can understand the interruption problem, but many who are our MANAGERS do not. A (part time) professor at college told me about how he was a manager and how the place he worked for endlessly harassed the programmers. Eventually he set up a system so that you had to go through a secretary and then it was determined if it was absolutely critical, otherwise you just got dumped to a voice mail box. It sounded like a good idea to me, and now that I work for a place that interrupts me every 10 minutes for a "just reboot your computer" answer, I appreciate it a lot more.
Re:It's not really psychology
by
eddy+the+lip
·
· Score: 1
I think it's less "programmers are special" and more "managers don't realize programmers aren't any different." There seems to be an understanding that interrupting someone deep into some abstract mathematical problem is bad, but (many) managers don't seem to get that interrupting a programmer hacking out a complex method is equally bad.
Past managers I've had really didn't seem to get that a lot of what I did required a fair bit of concentration. After all, it's all done with computers, right? They could do it if they had the time or inclination. (Yes, I've been told that. Shortly before I left).
--
This is the voice of World Control. I bring you Peace.
Re:It's not really psychology
by
WindBourne
·
· Score: 3, Insightful
Actually, we techs were getting it all done and communicating just fine. We were the "requirement gathers". The problem was managers who had to see bodies. And yes, as a software engineer, I am paid to get the job done. Not to simply serve as somebodies' viewing entertainment. That is the difference between MIS and CS.
-- I prefer the "u" in honour as it seems to be missing these days.
Re:It's not really psychology
by
pkplex
·
· Score: 1
I agree with you and the article.
I often find myself slipping into a sleep pattern where I am awake during the night and sleeping most of the day, and im pretty sure this is because:
A: I dont feel tired until i have spent quite a few hours coding or concentrating on something, which relates to b; B: I get quite distracted by normal daytime events and noises.
Things that I find help keep interest and focus during coding sessions, are:
1: Getting up and making a big cup of tea ( or coffee ) every hour or so, perhaps having a stretch or some form of exercise while the jug boils 2: Eating lots of small healthy meals thruout the day 3: Choosing the right font
Re:It's not really psychology
by
Cromac
·
· Score: 1
It's not puzzling if you've been to any management traning seminars. At those classses managers are told that productivity goes up when they show an interest in their subordinates, that when they ask how they're doing etc they feel more needed and work harder.
That might work in many fields but not where maintaining a continous train of thought is virtually required.
Re:It's not really psychology
by
Glonoinha
·
· Score: 1
If you can get back on track in 10 minutes, you are a software haxor god. Takes me easily half an hour, possibly more, to get back into 'the zone.'
Re:It's not really psychology
by
Beek
·
· Score: 1
Gee, now I feel bad being the co-op student who needs advice a couple times a day. I at least try to bug different people each time!:-)
Re:It's not really psychology
by
Glonoinha
·
· Score: 1, Offtopic
Heheh - as much as I was awed by that other guy's ability to get back into the zone in 10 minutes, I am awed by your ability to come out in only 10 seconds. On a day where I get serious, hack some hardcore code for a good 6 hours straight with positive results... it may take me 2 HOURS to come down off that 'high' and be able to converse intelligently using coherent English. Of course until I come down, I could go back to the keyboard and hit the zone again in about 60 seconds...
Re:It's not really psychology
by
Anonymous Coward
·
· Score: 0
What crap. Use 'em up, burn 'em out, on to the next. It's the only way. Always was, always will be.
Re:It's not really psychology
by
JaredOfEuropa
·
· Score: 3, Insightful
You are absolutely right. But for non-programmers it is hard to believe, especially for managers! A project manager's job often is basically going from one small task to the next, from having to revise the planning to answering queries from accounting about a misplaced comma, to consoling a team member whose cat just passed away. Their job consists of little 'regular' or scheduled work, instead it is like one long stream of interruptions and crises. No wonder managers cannot understand the way a programmer likes to work; they thrive on these interruptions.
Nothing wrong with that. But this mode of working is completely the opposite of the programmer's. I had the opportunity once to combine the job of programmer and project manager. It was a nightmare and needless to say I got little programming work done, but from the viewpoints of both programmer and manager, it was educational to be in that position.
-- If construction was anything like programming, an incorrectly fitted lock would bring down the entire building...
Re:It's not really psychology
by
Anonymous Coward
·
· Score: 0
B: I get quite distracted by normal daytime events and noises.
Let me guess - things like personal hygiene, right?
Re:It's not really psychology
by
hobbesmaster
·
· Score: 1
Programing is more of a science than an art. Theres a right answer for a given problem that can be expressed in more ways than one. In art there is no correct answer ever; in science and computers the product has to actually work.
Re:It's not really psychology
by
wideBlueSkies
·
· Score: 4, Insightful
>>Gee, now I feel bad being the co-op student who needs advice a couple times a day. I at least try to bug different people each time!:-)
No No, please don't feel bad. Teaching is part of the job. At least I think so. And I try extra hard to not appear distrurbed when a junior guy comes with questions.
I remember very well what it was like to ask people for help. Hell, I still have to sometimes.
If you find that someone that you're looking to for help is making it obvious that he's being 'bothered' then he's probably just a selfish person who's forgotten what it was like when he was new.
Hopefully when you become a senior person you'll remembr what it felt like to be new, and you'll try to pass kindness and understanding down to your junior guys.
Good luck to you.
-- Huh?
Re:It's not really psychology
by
Bald+Wookie
·
· Score: 5, Funny
So then I have to focus on whatever interrupted me, while trying desperately to cling on to those ideas that didn't make it down to the keyboard before I was interrupted.
Sounds like you need to disable write caching.
Re:It's not really psychology
by
Anonymous Coward
·
· Score: 0
They could do it if they had the time or inclination.
I'm sure they could, given fifteen years and a shotgun aimed at their junk.
Re:It's not really psychology
by
bay43270
·
· Score: 1
I am paid to get the job done. Not to simply serve as somebodies' viewing entertainment. That is the difference between MIS and CS.
How can you expect to have your job taken seriously if you don't respect the roles of others? You and management have different goals. They want to serve the company and you want to serve the project. There IS a difference. The manager will happily let the project run late and over budget if it means there is an appearance of order. Even if they shouldn't, these things do matter.
Re:It's not really psychology
by
bay43270
·
· Score: 1
I'm glad it's not just me. After coding for an hour or two, someone will interupt me. The explaination of their question may last a minute before I realize I'm not changing gears fast enough and I haven't understood word one. I always feel like a moron when I ask them to repeat it. It always turns out to be a really simple problem too.
Re:It's not really psychology
by
vsprintf
·
· Score: 1
Programing is more of a science than an art. Theres a right answer for a given problem that can be expressed in more ways than one. In art there is no correct answer ever; in science and computers the product has to actually work.
Yet any non-trivial program has bugs, so the answer is not completely "right". While there may be many possible ways to achieve the desired result by programming, some individuals are far more likely to get closer to the "correct answer". It would seem that there is an "art" to good programming.
Re:It's not really psychology
by
Anonymous Coward
·
· Score: 0
2: Eating lots of small healthy meals thruout the day
Yeah right. "Small healthy meals". Right. Other people just call them snacks. Or sweets. And they make you fat.
Re:It's not really psychology
by
jeanicinq
·
· Score: 0
There are two main computer programmers types, Software Engineers and Computer Scientist. Most programmers are Software Engineers. When the Software Engineer applies an the element of art to a program and implements the scientific proofs effectively, the programmer has the ability to become a Computer Scientist. Good education institutions let the students know if they fit into a role of Software Engineer or Computer Scientist. Those proofs need maintenance.
However, the rumor at the institutions is that a good programmer is good at art but lacks skills at English. I heard such rumor from an engineer. As my goal is for the mastery degree, I downgraded my English class, that I received a grade of 'B', so I could go back and retake the class later and get my 'A'.
Most of my commercial programs were for the federal government or property management systems. I say I programmed for 20 years, but it is much more.
I think the article is a very good read. It reminded me of how my tasks were multiplied while within the federal government. The manager stopped with the questions of if it is done, and she only asked me for a percentage amount of completion per each subtask. We had a large whiteboard; in accordance, all I had to do was to draw.
Re:It's not really psychology
by
Anonymous Coward
·
· Score: 0
I guess I kind of get what you're saying, but I have to disagree on a technical level. Psycology is involved in everything. This article pointed out the programmers habits and how they think --psychology:)
Re:It's not really psychology
by
Chops
·
· Score: 0, Redundant
Perhaps we need an article about the psychology of PHBs.
Re:It's not really psychology
by
use_compress
·
· Score: 1
I think the big point is that programming is an art
Art is nessecarliy useless. That's what separates art from craft. Basketry is not an art because bakests are functional things-- basketry is a craft, creating aesthetically significant functional, useful things (i.e. you can put things in a basket). Likewise architecture is not an art-- Corbusier said "a house is a machine for living in." While the crafts of architecture and basketry have non-functional elements (e.g. pilasters on a building or decorative weaving on a basket) they serve to express their object's function visually. On the other hand, a painting is useless-- it purpose is purely aesthetic and it has no potential functional use. Programming is functional. Programming is the process of coding an algorithm that completes a desired task. Thus, programming is not an art.
Re:It's not really psychology
by
error0x100
·
· Score: 2, Interesting
I have to add another "me too" agreement here. The thing that annoys me most at my current job is that I am being interrupted very often throughout almost any given day. Sometimes, my interruptions are further interrupted by other people, and those interruptions also get interrupted, with sometimes up to four people on this "stack" of interruptions. I have to handle each one, and still try to remember all the things I *was* doing at the bottom of the stack when I first got interrupted, which itself can occupy several "stack" layers when you're programming. It not only breaks my concentration, which can take very long to get back on track (*easily* an hour, as the article mentions), but I find it also very draining: it seriously tires me out, and also drains my motivation, morale, and kills my job enjoyment. And those interruptions can also very directly be the cause of bugs. Often, at time of interruption, I may already have a 'mental stack' of the five or ten things I need to do next. Occasionally, when interrupted, I will forget one or more of them: I have several times now found bugs months later in code that were caused because I left something half-finished after being interrupted.
Person after person seem to come into my office, and they always seem to claim to have "just a quick question". Some days I think, 'if one more person asks me a "quick question" I'm going to quit'. I can really echo your "leave me the hell alone, dammit!":)
My boss is aware of it though and has been trying to help the situation.
Re:It's not really psychology
by
LostCluster
·
· Score: 1
Write cashing is pretty close to what happens to a programmer. Eventually, you figure out that the best way to wobble that widget involves a 70 line block of code with 3 nested loops...
But that 70 lines likely would equate to 350 "words", so even for the good 50 WPM typer that's gonna take 7 minutes to move from thought to screen. If early during the 7 minutes the programmer is interrupted, that invention might even get lost, and take a good 10 minutes for the programmer to recover the concept.
Re:It's not really psychology
by
error0x100
·
· Score: 1
Don't worry too much about it. There are generally two different types of interrupters:
(1) Those people who generally work independently and try their best, but resort to bugging someone when they genuinely need advice or tips or get stuck or simply know their own limitations at that point in time. They want to learn from you, will remember what you've taught them and be able to apply it independently from then on.
(2) Those people who are generally just lazy, and will bug someone because they are too lazy to try to work a problem out for themselves first (rather than working hard at it first, and then only asking when they get stuck). They sometimes forget what you teach them and may bug you again later with the same question.
The more experienced person that you are bugging will generally be able to tell which category you fall into. I generally don't mind type (1) programmers interrupting me, but for type (2) I have much more limited patience.
Re:It's not really psychology
by
Anonymous Coward
·
· Score: 0
>>No No, please don't feel bad. Teaching is part of the job. At least I think so. And I try extra hard to not appear distrurbed when a junior guy comes with questions.
Oh so how are you surpose to feel when its the Junior answering the Senior guys questions!
Re:It's not really psychology
by
tdelaney
·
· Score: 1
I've always had this problem as well - when concentrating on something (programming, reading, whatever) I don't notice what is going on around me, and I take quite a while to respond to interruptions - and often don't remember what was asked, etc.
I've taught myself to respond with a "give me 5 minutes to finish what I'm working on and I'll be right with you". That gives me a breather to at least put my thoughts together and type them up (just something to jog my memory when I come back to it) and then pay full attention to the person who needs me.
When interrupting my team members (I'm tech lead) I always just give them a heads-up along the line of "when you've got a moment I've got something to ask you" and they know that I mean when they've got a moment - not "right now".
Re:It's not really psychology
by
jvkjvk
·
· Score: 1
I would totally want a programmer who has a question about his work to come to me in order to get an answer or help.
If it is a question about how x, y or z should work, or how it fits in, etc. then it is even *more important* for them to ask. There are few things worse than someone charging ahead at a task they really don't understand, then having to have someone else rework it because it is fundamentally wrong in some fashion.
If it is a bug, or compile issue, etc, I am ok with it if they can show that they have put some thought into troubleshooting it already. "I did this, I tried that, it still isn't working!" I'd rather they take some of my time than beat their head against a wall for hours.
Re:It's not really psychology
by
hobbesmaster
·
· Score: 1
It would seem that there is an "art" to good programming
No more of an art to good programming than there is to good science, or good engineering. I'd say that they're all artists in their own ways; equally creative solutions have to be used in all fields. Hell, I'd even say that a good manager has to be something of an artist to do his job well.
Re:It's not really psychology
by
vsprintf
·
· Score: 1
Hell, I'd even say that a good manager has to be something of an artist to do his job well.
By all means, feel free to say that. Just don't include my name when you do it.:)
Re:It's not really psychology
by
Orthanc_duo
·
· Score: 1
Have you never looked at a piece of code and marveled at it's beauty. Beauty to some can bee seen in a simple algorithm to acheve a complex task. Many a mathemetian find beauty in a nice clean proof. Don't know bout you but I can tell who wrote a given peice of code jsut by the style and personal touches. surely this is proof that there is art in the code
Re:It's not really psychology
by
Orthanc_duo
·
· Score: 1
painting is useless not so. Great paintings cause you to do a double take and reconsider yourself and your place in the universe, hardly a useless activity.
Programming is functional Perl Camel. malbolge need I say more
Re:It's not really psychology
by
shfted!
·
· Score: 1
LMFAO! That was the funniest damned thing I read all day!;)
-- He who laughs last is stuck in a time dilation bubble.
Re:It's not really psychology
by
Bitsy+Boffin
·
· Score: 1
I have to me too. Often times when I'm coding, I'll get somebody interrupt me with a question, converstaion usually goes like this...
"Hey, can you answer a quick question" "Sure" "blah blah blah, blah blah blah blah blah, blah (1 minute of blah). So what do you think ?" "Uh, sorry, I lost you at blah, you'll have to repeat the question."
Re:It's not really psychology
by
Hello+Kitty
·
· Score: 1
What SpaceLifeForm said, and further still -- this applies to writers as well (nothing like an editor asking me when my copy's coming in to ensure that my copy comes in later) and presuambly to other folk who need to synthesize a lot of data to do their best work.
There's a nice passage in Timothy Ferris' Seeing In The Dark: How Backyard Stargazers Are Probing Deep Space And Guarding Earth From Interplanetary Peril in which he describes inviting an architect up to his property to advise him on constructing a private observatory. I'm afraid I haven't the book handy for a direct quote, but he describes watching the man wandering around the area, playing with twigs and so forth, and notes that he recognizes this sort of behavior -- having observed it in such folk as Richard Feynman -- as a sign of the creative process at work. Sounds like most of the better writers and better programmers I know. (It also gives me a good excuse for all my desk tchotchkes when those editors I mentioned drop by to whine about desk clutter; it's that or watch me pace up and down the office, folks...)
Re:It's not really psychology
by
Methuseus
·
· Score: 1
Does that make me a semi-bad interrupter? I try my best, but my laziness sometimes makes me forget to write down or file in my brain what someone said, so I have to bug them again. I really try to remember though:(
-- Two things are infinite: the universe and human stupidity, though I'm not yet sure about the universe. - A Einstein
Re:It's not really psychology
by
Methuseus
·
· Score: 1
I can't remember the last time I laughed so loud at a post. Thanks for the nice belly laugh.
-- Two things are infinite: the universe and human stupidity, though I'm not yet sure about the universe. - A Einstein
Re:It's not really psychology
by
jtheory
·
· Score: 1
Co-ops asking questions can affect a programmer's productivity, but it can be worth that cost -- a new programmer progresses *much* faster with a mentor, so you get a huge benefit, and if they're lucky, when you graduate the company gets to hire a programmer who's already integrated into the culture!
That said, there ARE a few things you can do that will help (we're seeking a balance here...).
* If you can have more than one assignment at a time, that's good -- when you're stuck on one, you can write down your problem (actually, sometimes writing it down will help you figure out the answer!), then work on the other one.
* Try to have a few scheduled 10-minute meetings with your mentors every day, preferably around lunch or some other natural break time (or when your mentors are taking breaks). Show them your problems, questions you've written down, and what you've been working on ("is this the best way to do this?").
* This is more general advice for a beginning program with access to mentors, but make sure you point out the parts of your work that look like they will be time-consuming or especially tedious to implement....There's usually a better way!
-- "...All you have to do is tell them they are being attacked, and denounce the peacemakers for lack of patriotism and exposing the country to danger. It works the same in any country."
-Hermann Goering, before being sentenced to death at the Nuremberg trials
-- There are only 10 types of people: those who understand decimal, those who don't, and, uh, 8 other types I forget.
Re:It's not really psychology
by
xtremex
·
· Score: 1
He's paid to be on a team? Or is he paid to produce a product?
-- If you're not a Liberal in your 20's, then you have no heart.If you're still a Liberal in your 30's you have no brain.
Re:It's not really psychology
by
xtremex
·
· Score: 1
I can program 12 straight hours in the quiet of my home. If I am at a client site, there are too many external stimuli, and my productivity is worthless. Thus, I have stopped being an onsite programmer, and have changed careers, and do what I love (programming) on the side.
-- If you're not a Liberal in your 20's, then you have no heart.If you're still a Liberal in your 30's you have no brain.
Re:It's not really psychology
by
Alphtoo
·
· Score: 1
Interesting post from wideBlueSkies. But I think it depends on what you're doing when you're interrupted. If I were mucking out a stable, or building an engine, or any number of things, no problem. I'll gladly stop and share any knowledge I have with anyone. But if I'm about chest-deep in writing a song and really like the way it's going, if you interrupt me, you may see the business end of my pistol. Depending on who you are, it may be the last thing you ever see. I'd imagine many programmers would feel the same way. If so, put a sign on your door (or cubicle entrance) that says: Until I finish this project, you'd rather french-kiss a rattlesnake than to disturb me. If you have a question, send me an e-mail. I'll get back to you asap... and type/sign your name. Oh, and it doesn't hurt to keep a large caliber handgun on your desk at all times. And an "Out Of Order" sign on your back wouldn't hurt, either.
Re:It's not really psychology
by
error0x100
·
· Score: 1
:) I think as long as you really try, its OK. IMO anyway. I think what the difference boils down to is that the (1)s want someone to teach them what they need to know in order that they themselves can do the work, while (2)s basically just want someone else to actually do the work for them.
Re:It's not really psychology
by
wideBlueSkies
·
· Score: 1
It happens. And has happened to me. One of the interns I was mentoring got me started on Java. Prior to this I was a hardcore C and C++ guy.
No one knows everything. And fresh blood can be a very good thing if you keep an open mind.
-- Huh?
Re:It's not really psychology
by
GlassHeart
·
· Score: 2, Insightful
Teaching is part of the job. At least I think so. And I try extra hard to not appear distrurbed when a junior guy comes with questions.
I'd argue that for a senior engineer, teaching
is the main job. As salaries increase over your
seniority, it becomes more and more difficult to
produce (code) to justify your salary. A single
human can only code so much so well, and it's
unreasonable to ask the company to pay you more
than you can produce for them.
However, if you can enable three $50K junior
programmers who normally produce $60K for the
company to produce $70K instead, you've just
justified an extra $30K for yourself.
Re:It's not really psychology
by
bdotson
·
· Score: 1
I agree. I run a company made up of mostly developers. I am not a developer, but I take the time to learn enough (I think) to speak in an educated manner about their work.
Due to this article, I've solicited comments from the team about their ideal job/environment/work. We're not in cubicles, everyone gets along, and we frequently need creative solutions.
If there are any developers who would like to give me feedback on what they really like and dislike about working, please let me know.
We're a company of about 12 people, the business is over 6 years old, and we do not have any outside investors. Other background can be found at our site.
One comment on the article though -- it missed the main topic that every professional needs room for creativity.
Thanks,
-- Bill Dotson
TransDigital
Try our newest tools -- Info Keep and Password Creator Professional
Re:It's not really psychology
by
sipy
·
· Score: 1
If I'm interrupted, it's like the train fell off a cliff.
I concur, cap'n! That train will no longer function, and any new one(s) sent from the "station" (the original idea) will not achieve the speed, nor contain the same "freight" as the original. Sometimes, the only thing that can be done is to perform forensic evaluation of the "crash scene", and hope to discover the contents of the now-desiccated vehicles.
Nine times out of ten, though, your old "Highball Express" was one in a million...
Please forward to our foreign compatriots...
by
rand.srand()
·
· Score: 5, Insightful
Well intentioned, but the reality is programmers are being wholesale replaced with foriegn labor. Businesses, especially non-IT ones, want nothing to programming or hiring programmers. Much less cater to them in any way above other employees.
A shower?? There's a guy in the Republic of Elbonia who's willing to work out of his hovel on a old 386 for $4 a day programming. He doesn't demand breaks, and there's no coffee machine to stock. And he's viewed as a nearly identical resource. Now is not the time to demand high priced add-ons. But... if we could just get the people of Elbonia to buy into this and equalize the market...
Re:Please forward to our foreign compatriots...
by
Anonymous Coward
·
· Score: 2, Interesting
I manage a team of programmers in a foreign country and I can tell you, it isn't worth it.
We pay them $10/hour but the work they do normally has to be redone 2 or 3 times before they get it right, and even then, the code is awful: Variable names like x and z, C when they are supposed to be using C++ and lots and lots of access violation errors that destroy all the hard work that I do.
I would rather pay a good programmer $50/hour.
At first I thought, for $10/hour how can you lose? But in retrospect I'd say the problems just about outweigh the benefits.
Re:Please forward to our foreign compatriots...
by
goosman
·
· Score: 2, Interesting
I was wondering how much of this 'psychology' is cultural. Do these programmer 'sweat shops' in non US (or non Western) locales suffer the same problems of distraction that as their US counterparts apparently do? I feel I'm lucky that I'm in a situation where distractions are kept to a minimum (well, really it's that I control my distractions myself) but if I were to be thrust into a more distractive environment my creativity would certainly suffer. Does the guy in Elbonia feel the same way, or does he work in an active environment with no loss of creativity.
Re:Please forward to our foreign compatriots...
by
sane?
·
· Score: 4, Insightful
Stop bitching about it and start profitting.
Option 1: Overseas programmers produce poor code with lots of errors.
Answer: Get a group of you together and setup a company offering to rescue faulty developments and fix bad overseas code on a high speed/high fee basis. Invest in tools that help you to do this, or write your own.
Option 2: Actually, they can program quite well - well enough that they are more cost efficient than you will ever be.
Answer: Setup a company sketching out the design of the software, and outsourcing the work yourselves to India. Sell it a as risk reduction exercise.
Option 3: They program well, but you don't fancy option 2.
Answer: Create code and programs that enable you to program cost effectively in relation to Indian programmers, even in only specific niches.
In short, the global marketplace isn't going away. If you want to survive doing what you're doing at the moment, you are going to have to raise your game to compete.
Times of change bring opportunties, grab them. When you do, and you control your destiny - you can have whatever setup you require.
Re:Please forward to our foreign compatriots...
by
Shugart
·
· Score: 1
I've been considering why it's now getting so popular to outsource IT overseas. Perhaps in part the investors/executives have a vendetta against IT professionals because of the.com fiasco.
Certainly there are other factors like improved communications and a better educated foreign workforce. I even wonder if the quality of CS programs in American colleges are as high as they should be.
-- History is so yesterday!
Re:Please forward to our foreign compatriots...
by
Anonymous Coward
·
· Score: 1, Interesting
You know it has to be said that programming, really good programming, comes about through a passion and enjoyment of your work. Achieving goals, pushing the envelope, competing with other programmers, learning new tech - its all exciting stuff. But pay me $4 a day working on some brain number of a project I dont give a shit about and you know what kind of code you're going to get back? Crap.
I've had jobs as a "web developer" where idiot VB coders would frown on me, giving me the script kiddy jibes (which is fresh considering the use VB). It amuses me however, I got into web design to learn new tech like XML and web services. I used to write games, I've hacked ASM on a variety of processors- was using C back on the Amiga. But anyway I digress- that environment did nothing for me, the management sucked, the didnt understand creativity (I could stare at a screen for hours putting connections together in my head) but if code wasnt being written I was a slacker. Shame really, I left to go it alone.
If they bothered to pay attention to my previous employer where I got soooo wrapped in my own AI app that I would work 24hrs at a pop they would see what a resource they lost.
Programmers are different. They are not productio line workers churning out pre-formed shit. They love what they do, care about it (I love prettifying my code as I near completion), each app for me at least is a work of art and no-matter how these foreign programmers are touted as being hot shit, I just know they wont care as much as I do, and the results will reflect that.
Sorry for the rant- people will come around eventually. You want great software? Pay the price, this isnt factory work.
Re:Please forward to our foreign compatriots...
by
kalamon
·
· Score: 1
Goddamn! How about option 4: THEY kick US programmers' ass when it comes to the quality of the code AND the quality of the design? I happen to be a fucking elbonian programmer (for an EXTREMELY reputable hardware/software shop) and I can't even count the number of times our team had to fix b0rked code and lousy design created by USian programmers. What do you say in this situation? Maybe go learn how to write proper code instead of whining?
Re:Please forward to our foreign compatriots...
by
Greyfox
·
· Score: 1
Hell of it is, that Elbonian dude is much less likely to have some tard asking him "Are you done yet" every 15 minutes.
--
I'm trying to teach myself to set people on fire with my mind... Is it hot in here?
Re:Please forward to our foreign compatriots...
by
sjames
·
· Score: 1
I'm just waiting for the inevitable turnabout. What we hear now is how badly companies need to outsource to get affordable (read dirt cheap) labor.
Of course, there will come a day when someone 'over there' decides to quit working for the Americans and start creating software for themselves. Since they won't be paying a bazillion dollars per square micron for office space, their overhead will be quite low, and their software products will cost a fraction of the price.
That's about the time we'll hear 'Foreign products are EVIL (unless it's cheap labor) tariffs! we need tariffs!!
Perhaps if American programmers can't find decent wages here, they'll go 'over there' and get that ball rolling.
Re:Please forward to our foreign compatriots...
by
kmellis
·
· Score: 1
Americans have this really strange idea that their undergraduate educations are really good, when in fact they're actually very, very poor compared to the rest of the world. CS degrees are no different.
Re:Please forward to our foreign compatriots...
by
Anonymous Coward
·
· Score: 0
Yes, but tommorow you get to be the computer!
Re:Please forward to our foreign compatriots...
by
vsprintf
·
· Score: 1
Get a group of you together and setup a company offering to rescue faulty developments and fix bad overseas code on a high speed/high fee basis. Invest in tools that help you to do this, or write your own.
Your premise is faulty. Management is offshoring jobs because they *know* that it will save money. They would not be willing to admit that the offshoring failed by hiring a company to fix the faulty product. They would spend millions more in fees to the provider rather than admit their mistake.
There are no tools to economically "fix" bad code (outside of leak testers and such), nor is it possible to write them. That is why we have programmers in the first place.
Re:Please forward to our foreign compatriots...
by
Commutative+Monoid
·
· Score: 1
Did you fall our of the K5 tree with that USian stuff or what?
Regardless, you're just another person spouting anecdote as evidence of some unsubstantiated claim. Oh yes, someone on Slashdot told me they're an Elbonian programmer, and that their team is vastly superior to all of the programers of the U.S. Well, I'm glad we've settled this debate!
Given the general capacity for critical thinking and logic on Slashdot, I'd be unwilling to be responsible for dealing any of its denizens' work.
-- You have exactly 314 seconds to come up with a less retarded plot.
Re:Please forward to our foreign compatriots...
by
vsprintf
·
· Score: 1
I've been considering why it's now getting so popular to outsource IT overseas. Perhaps in part the investors/executives have a vendetta against IT professionals because of the.com fiasco.
It's got nothing to do with vendetta - top management can't think beyond the next quarter - they don't have near enough brains or patience to even contemplate vendetta.
It's all about stock options. CxOs get lots of them, but they have to generate short-term stock price increases in order to make them profitable. The company (CEO) claims they will reduce costs by offshoring jobs because labor is cheaper *over there*. The software projects fail, but the stock price bounces up due to stock analysts favorable opinions about saving money. The company tanks, but the CxOs retire with millions of dollars in profitable exercised options. This is all covered in MBA 101 - hope it helps clarify things for you.
Re:Please forward to our foreign compatriots...
by
Shugart
·
· Score: 1
I don't need it explained. I'm aware of all of that. I was just trying to look a little deeper. CxOs could have done this a long time ago. What's different?
-- History is so yesterday!
Re:Please forward to our foreign compatriots...
by
Eskarel
·
· Score: 1
Well, I would argue that that's pretty much a worthless statement. Not to say that non US coders aren't better, or vice versa, it's just a worthless statement. With very, very, very few exceptions, if you take anyone's code and give it to someone else you will find "b0rked code" and "lousy design", which is one of the reasons open source has a great deal of potential. This is the case simply because you look at code very differently than someone else looks at code, moreso if there are cultural differences as well.
What seems like a great design to me, may seem crappy to you because it doesn't make sense to you the way it does to me.
At the same time, I may be completely unable to find a bug in my code, or for that matter to generate the bug, because I looked at the softwar in a different way and so didn't find the bug, or because I keep seeing what the code is supposed to do, what I designed it to do, rather than what it actually does. Again this is why open source works at all, because the everyone uses code differently, and everyone sees code differently, and everyone designs code differently(though there is some work towards standardization).
On a more personal note, assuming everything you say is true, why are you being paid a significantly lower rate than US programmers(which we can assume based on why US companies outsource work). That either means that you like working for very little money, or you don't know how to get your value out of your employer. In either case, both you, and I would be better off if instead of working at a lower wage and claiming your a better programmer, you proved it and expected money comensory with your worth. In that case, good programmers, regardless of their nationality, would be able to get jobs, rather than bad programmers(and even if you are very good I'm sure you know some), getting jobs because they are cheaper.
Of course all of this could be fixed by getting rid of capitalism which is basically a system where everyone tries to screw everyone else, but that's beside the point.
Re:Please forward to our foreign compatriots...
by
x1pfister
·
· Score: 1
The battle to keep software jobs in the US will definately by lost if IT guys continue the prima-donna image.
The guys 1/2 way around the globe aren't complaining, and aren't getting interupted by your management!
A major reason IT jobs are going offshore is that the guys offshore are pleasant to work with, eager, and appreciative of the opportunity to work. Can you really say that about most of your co-workers?
--
Cat: The other white meat
Re:Please forward to our foreign compatriots...
by
vsprintf
·
· Score: 1
The difference is the current lack of ethics. What's "deeper" than that?
Re:Please forward to our foreign compatriots...
by
Shugart
·
· Score: 1
As good a reason as any.
-- History is so yesterday!
Re:Please forward to our foreign compatriots...
by
kalamon
·
· Score: 1
The reason I am paid a fraction of what a US programmer makes has nothing to do with my skills or my ability to negotiate a decent compensation package. In fact, I am very well paid by the standards of my country.
I learned about psychology
by
stonebeat.org
·
· Score: 1
I learned about psychology of the people in general from the Scott Adam's "Dilbert and the Way of Weasel". That is all what I need to know:)
Space/time to walk (at least for me a lot of my ideas come when I'm walking, and walking help me to decide on alternatives)
Music (not so good to makes one want to hear the music instead of working, neither something so bad that breaks concentration)
Re:Other ideas
by
Anonymous Coward
·
· Score: 1, Insightful
I need space and time to walk and reflect as well, and not being granted either has led to some significantly bad decisions on my part in the part. No problem though, I'm not paying for fixing it.
As for music, I don't mind listening to my own, but the crap some people listen to... It is only useful in closed offices or when people use headphones.
Re:Other ideas
by
grungie
·
· Score: 2, Interesting
Yes walking and breathing fresh air are also very important to me and usually bring me the best ideas.
One thing that seemed strange to me in the article is the author claiming that pair-programming does not break the creativity flow. While this may be true per se to a large extent, eXtreme Programming (the most popular pair-programming methodology out there) is about pair-programming in open offices, where nothing stands in the way and you have no privacy. Not quite what he is advocating... Have you ever worked in a place where programmers are mixed with customer support and paperwork people spending somewhere between five and eight hours on the phone every day and hailing from one corner to the other while you're trying to concentrate and produce some meaningful code? If something breaks my concentration span, it is noise. Definitely.
Although I tend to agree fully on the first two ideas...
* Music (not so good to makes one want to hear the music instead of working, neither something so bad that breaks concentration)
That's why we clever people invented headphones. Invest in some good sounding Sennheisers, and listen to any music you like. I tend to concentrate best with symphonic metal, but my environment doesn't.:)
Music is a problem for me. Since I was once a musician, I have trouble with music because it engages too much of my attention -- even Musak is bothersome in that way. But I would add some other things to that list --
Workspace that isn't too hot
Workspace that isn't too cold
I've had problems with both of these. The worst was the too cold, because my hands hurt so bad I couldn't use the keyboard. The manglement would not make any effort to fix the problem, so I quit (I'm guessing they wanted to be rid of me anyway, since I was getting "overqualified", and they had recently remarked in my hearing that their group health insurance rates were going up & they needed to find a way to put a lid on the increases).
Too hot was easier to deal with. I just got a really noisy box fan and put it on the cubicle wall, and took my shirt off. For some reason, that also took care of some of the interruption problems...
Music (not so good to makes one want to hear the music instead of working, neither something so bad that breaks concentration)
Here's my approach to music: when I'm working on the most creative part of the programming, I turn off the music and concentrate (unless the room I'm in is noisy...then I try to find non-distracting music).
But there are also tedious parts of programming (like recompiling from scratch because you changed a common header file, fixing compile errors, search/replacing variable names, etc) and then I switch on the music...the music actually helps me stay concentrated and not get distracted from what I'm doing.
I've found that the trick is to know when to switch the music off, so that I can use 100% of my creativity when it's needed...
I've found that the trick is to know when to switch the music off, so that I can use 100% of my creativity when it's needed...
This depends on the person. For me, when I'm really concentrating on something(be it reading, coding, gaming, etc), I will mentally block-out whatever is going on around me, and any music I have going ceases to exist.
The outside world dissolves away.
There has been more than one occasion where someone will try to interrupt me while I'm focused on something else, and I didn't realize the person was there until they tapped my shoulder. It's great for avoiding smaller interruptions, but unfortunately, it seems to leave a bigger train wreck when someone finally takes me away from what I was doing.
-- "They that can give up essential liberty to obtain a little temporary safety deserve neither liberty nor safety."
Same thing here with the music - when I'm really involved in what I'm doing, I find that I can be completely unaware of the last 20 tracks I was 'listening' to.
Agreed. The fixed hours thing only makes me dread going to work because I know its an ominous thing. I know I need to show up in the morning between 8 and 9, but I get to make up for it going to lunch pretty much whenever I feel like it, and then either staying late or leaving early and making up for it later. What would really be nice though, is work at homes in the morning (since by the time I go through the whole morning routine, I'm too turned around to think straight code anymore) and then come in the afternoons to make an appearance and meet clients and all that.
Space and time are good, but what I find helps a lot is having a good window nearby to look out. Ceiling lights dont compare to real sunshine. In my last job on the 8th floor, I was trapped in the middle, and on my walks, Id usually just go to take a look outside anyway.
Music is the best because it can serve so many purposes -- either distract you from the problem that's nagging away at your head, or act as a replacement to the chatter and phone calls and business-speak that's going all around you. It's just a matter of finding the music that fits the mood you're in, and that'll help your productivity. It's never a case of something all the time. Besides, sometimes music is a distraction and doesn't help. Sometimes it does.
...her?
by
Anonymous Coward
·
· Score: 5, Insightful
Why do people insist on using 'her' instead of 'his' for the generic pronoun? It isn't 'sensitive', it's illiterate. Using female pronouns is even somewhat insensitive: it implies women need to be compensated for, and gratuitously inserts a gender issue into one's writing.
As a 'Brit' I too find this very odd. Consider this small chunk of text:
When creative people work on making something new, they often enter a mental state where things just flow. This is a highly desirable state, both for the programmer herself and for the organization that profits by her labors.
If written by someone from the UK (and probably AU or NZ) this would be written like this:
When creative people work on making something new, they often enter a mental state where things just flow. This is a highly desirable state, both for the programmer themself and for the organisation that profits by their labors.
No use of gender, and perfectly correct English too.
-- Blaming GW Bush for the Iraq war is like blaming Ronald McDonald for the poor quality of food.
Re:...her?
by
Anonymous Coward
·
· Score: 0
Why do people insist on commenting on people insisting on using 'her' instead of 'his' for the generic pronoun? It isn't literate, it is redundant. Commenting on bad language use is event somewhat insensitive: it implies that non-native English speakers need to be compensated for, and gratuitously inserts a nationality issue into one's writing.
No use of gender, and perfectly correct English too.
No, it's not. In fact, I know several people who find this usage really irritating. It is a common usage, but it still reads awkwardly.
But at the end of the day, who really cares? The meaning is clear either way, and the subject of the article is much more interesting than English grammar.:-)
-- If you disagree, post your argument. (-1, Overrated) isn't your personal censorship tool for views you don't like.
Re:...her?
by
Anonymous Coward
·
· Score: 1, Informative
Didn't bother me. What really gets my goat is when people do the he/she him/her hirself, hirs thing. But yes, using the 3rd person plural would solve the problem. However, despite its utility and lack of drawbacks, we are taught vehemently in the United States that this is *incorrect* english.
I've noticed this often these days. It's really silly. In the IT field males greatly outnumber females. I play DAoC and the manual is written with female pronouns when the vast majority playing are male. When it comes to mostly female occupations, I've noticed male pronouns are used. Like in nursing or office management. I guess these are considered less desired occupations so it's politically incorrect to use female pronouns.
The same political correctness seems to apply to television programs and commercials. You often have male characters portrayed as stupid. These characters used to be played by blond women. It's interesting to note that humor often relies on someone being stupid. So it goes. There doesn't seem to be any happy mediums when it comes to cyclical changes. The pendulum swings from one extreme to another.
When I was a lad in college, it was politically incorrect, although we didn't use that term, to open the door for women. We'd even go so far as to open the door for a man and allow it to swing in the face of a woman. At least today opening the door for a woman isn't considered demeaning.
Why do people insist on using 'her' instead of 'his' for the generic pronoun?
Hey, AC, would you step out into the light so I can see your badge? With you in the shadows like that, I can't tell whether you are with the Grammar Police or the Gender Police.
Nevermind. I don't think slashdot needs either type of policing. Though I guess I should thank you for your concern about the corruptibility of my culture acquisition capabilities.
This is a highly desirable state, both for the programmer themself...
Actually, "themself" is not an American English word. If by chance you find it in some unabridged American English dictionary, it nevertheless looks as incorrect (to an American reader) as the word "hisself".
When creative people work on making something new, they often enter a mental state where things just flow. This is a highly desirable state, both for the programmer themself and for the organisation that profits by their labors.
This is grammatically incorrect. You are talking about a singular programmer, hence "himself/herself" and "his/her" labors. You would need to use "both for the programmers themselves..."
(Ducks flying rotten tomato)
-- There are a huge number of yeast infections in this county. Probably because we're downriver from the bread factory.
Why do people insist on using 'her' instead of 'his' for the generic pronoun?
Because they're writing about me.
I guess a male author planning this kind of article would prefer to imagine the situation involving female (in this case programmers) rather than males, unless they're gay or something.
Why do you think the shower was so important to the computer researcher mentioned in the article?
I'd correct you on this while providing alternatives, but, since I do not have my Longman's Handbook with me at the moment, you will just have to trust me that that, too, is wrong:-)
Traditionally, the non-gender-specific terms were "his", "he", etc. However, according to the Handbook, these may be considered sexist and therefore offensive (their opinion, not mine), so they suggest instead to arrange the sentence in such a way, I think, where the pronoun is no longer necessary. Don't quote me on this, though, because I don't really remember all this crap with 100% lucidity.
I've noticed this often these days. It's really silly. In the IT field males greatly outnumber females.
That isn't even at issue. The proper usage in English is to use the male pronoun for a person of indeterminate gender. Hence the OP's comment that doing otherwise is illiterate.
Re:...her?
by
Anonymous Coward
·
· Score: 0
It's not even that; you don't use the male pronoun for indeterminate gender - "he" is originally non-gender-specific, and "she" is merely a specialisation.
Well, last I heard from the popular media (although I've not come across any myself) there's a whole bunch of vocal feminists that do claim that they need to be compensated for, for the years of opression by men that have kept wome^Hyn down.
So I tend to use `her` whenever possible as a gender-neutral pronoun, and have never heard anyone (until you) complain about it. It (supposedly) shuts up these (alleged) vocal feminists, most other women don't seem to mind, and I've not met any other blokes insecure enough to whine about it.
Just as long as you're consistent, you should be OK.
And while I hate the PC brigade, using the female pronoun as gender-neutral is IMO just as PC or non-PC (however you want to look at it) as using the male pronoun in a gender-neutral sense. It sure grates on me a hell of a lot less that writing `him/her`, or writing oh-so-sensitive disclaimers, or using `ver` (a supposed gender neutral gender neutral pronoun), or any of the other `solutions` that I've seen.
Yes man, yes! I was going to write something about that, but you beat me to it. It doesn't compensate for anything, it just makes the writing feel odd and jerky. Using "his" or "them" for a gender neutral pronoun is widely accepted practice, if people concentrated more on the message and not the form, we wouldn't have to play games like this.
Re:...her?
by
Anonymous Coward
·
· Score: 0
Both. Heh.
And it's really odd that slashdot doesn't like multiple anonymous posts to the same story from the same IP, when the right URL can be worked out anyway.
Why not, 'her'?
As the author I exert my right to write anything I please. I'm not trying to appease your sensibilities.
As it happens, I used feminine pronouns to hightlight that fact that I was talking about individuals; to draw attention to the programmer as a person, rather as a generic switchable unit (as I feel is implied with the male pronoun).
If you don't like it, don't read it -- your choice.
BD
I'm quite aware it's proper to use the male pronoun. The reason the author used female pronouns is to be politically correct or more correctly not to be politically incorrect. Feminists decry the usage of male pronouns because it's male centric. The author is willing to risk being considered illiterate to be politically correct. That I find silly. Your correct though that males outnumbering females is not an issue. It was a gratuitous comment. That's allowed right?
I was going to come with the defence 'but the author is a woman', then discovered that he was a guy. The truth is the author has the right to use whatever pleases him. While it is true that I find it odd to use a 'feminin generic', I also find other things odd that others find perfectly normal. The truth is you just have to get used to it and not get insecure about it. If any feminist complains about you using the 'masculin generic', just tell them that you don't complain when they use the 'female generic' (and vice versa), and not be so insecure.
I sometimes use the 'plural generic' to refer to the generic person, as a PC way of doing things. Yes this is not American English, but plenty of people accept it.
No, it's not. In fact, I know several people who find this usage really irritating.
Which proves nothing expect, possibly, that you have some really anal-retentive friends.
It is a common usage
If it's common enough, then it is by definition correct. In fact, it was considered completely acceptable and formally correct up until about the middle of the 1800s, when some misguided grammarians decided that English needed to be more Latinized. That's also when split infinitives were declared incorrect by fiat. However, more recent linguistic theory says that English is defined by how it's actually used, not by how some other, unrelated language is defined. Thus, split infinitives are once again acceptable (though with a caution flag, as they easily become awkward), and "them" as an ungendered singular non-dehumanizing pronoun is a fait accompli, and is not incorrect.
On the other hand, over a century of deprecation has caused "them" to look awkward in such uses, and has managed to drive it out of most formal writing, so it is reasonable to call it "colloquial". Only time will tell if it ever regains its former glory as a fully acceptable term in this context. For now, one should avoid singular-them in formal writing, but people who are bothered by it are probably going to have to learn to live with it, as a century+ of brutal suppression has not made it go away. And there's a strong contingent of Jane Austin fans (among others) who are actively lobbying for its return to acceptability.
The use of 'her'/'she' really breaks concentration the author is so concerned about. I'm not a native English speaker, but 'he' in this context is neutral, and 'she' is not. Either you are focused on some abstract idea, or you think about being politically correct, and this is BS. There is no middle ground.
The point is, we are discussing the use of he/she. Is that what the author wanted?
In nearly all languages the non-gender specific terms are the masculine. Its politically-correct nonsense to start writing using the feminine as all-encompassing.
ie. We have mankind to refer to all humanity. When you use the term 'Womankind', you are deliberately referring solely to all human women, and not men.
I find people who use the feminine quite daft - women have special terms to refer to just them, whereas us men have to share our pronouns with them all the time! Now that's sexist:-)
This is grammatically incorrect. You are talking about a singular programmer, hence "himself/herself" and "his/her" labors. You would need to use "both for the programmers themselves..."
(Ducks flying rotten tomato)
Oh no you don't.
Using the plural pronoun to refer to a single person of unspecified gender is an old and honorable pattern in English, not a newfangled bit of degeneracy or a politically correct plot to avoid sexism (though it often serves the latter purpose). People who insist that "Everyone has brought his own lunch" is the only correct form do not reflect the usage of centuries of fine writers.
-- If you open yourself to the foo,
You and foo become one.
Re:...her?
by
Anonymous Coward
·
· Score: 0
Why not, 'her'? As the author I exert my right to write anything I please.
Certainly, but one should write in the most appropriate manner for one's subject and audience in order to get one's message across as well as possible. Regardless of whether 'her' is grammatical here, it seems more likely to draw attention to the idea of a female programmer than to the idea of the programmer as a person. Considering the average programmer is male, 'her' is jarring and will cause people to complain about your grammar. ^_^
Why do you think the shower was so important to the computer researcher mentioned in the article?
At my first job, we always joked that our best ideas came to us in the shower, and that management needed to install one at work. Realistically, I think I always came up with things in the shower because I shower first thing in the morning. My head is clear. I'm refreshed. And I don't have anything else to concentrate on other than what problem I'm going to tackle when I get to work.
I can't imaging having a shower at work would help anyone solve problems better (although it would give some of my co-workers a chance to wash themselves for once).
Using female pronouns is even somewhat insensitive: it implies women need to be compensated for, and gratuitously inserts a gender issue into one's writing.
In that case, considering the common usage "his" instead of "her" implies that men REALLY, REALLY need to be compensated for.
-- "Can of worms? The can is open... the worms are everywhere."
I've not met any other blokes insecure enough to whine about it.
Insecurity or not, making any sort of grammar commentary is a high sin. Most people will avoid commenting because they don't want to be harrassed in return.
It's kind of a pity, without constructive, non-derogitory criticism, how is anyone going to improve their poor grammar? Even scathing remarks are helpful, would you rather have someone tell you that you're an idiot once, or would you rather have many people think so forever?
(fwiw, I prefer the gender neutral "he/him/his" or, more commonly, "they/them/their", which is probably technically wrong, but more smooth.)
Re:...her?
by
Anonymous Coward
·
· Score: 0
Why not, 'her'?
Words have meanings. "her" is the female third person posessive pronoun.
As the author I exert my right to write anything I please.
You absolutely have that right, but you can't expect your readers to be psychic. You use a word, most will assume the common meaning.
As it happens, I used feminine pronouns to hightlight that fact that I was talking about individuals; to draw attention to the programmer as a person, rather as a generic switchable unit (as I feel is implied with the male pronoun).
That's great, but that's not what the word actually means. The word implies female vs. male, not unique individual vs. replaceable component (unless you feel that these are synonymous, which would be rather sexist).
If people don't see your reason here when they read your work, you are not communicating clearly. If you choose not to use the common meaning, it's your job, as a writer, to make that clear.
If you don't like it, don't read it -- your choice.
Don't worry, I didn't:) (ain't/. grand?)
Re:...her?
by
Anonymous Coward
·
· Score: 1, Informative
This is grammatically incorrect...
Maybe not in American English, but in British English and Australian English it is commonplace, it is taught in schools, and last but not least, it is gramatically correct.
Why people insist that it is "clumsy" I do not know; there is nothing clumsy about it.
Re:...her?
by
Anonymous Coward
·
· Score: 0
I sometimes use the 'plural generic' to refer to the generic person, as a PC way of doing things. Yes this is not American English, but plenty of people accept it.
Maybe not technically, but I'm a native-born american citizen, and I use that in every day speech. shrug.
I find that in general any monotonous physical task is sufficient for removing some of the barriers to thought. Going for a long walk, showering, chopping wood, sanding, rowing, etc. I do not find that the time of day in relation to the time I awake has any impact on this event, and that it mostly depends on mental isolation.
I suppose in theory one could suggest that a shower at work would provide an environment where employees could expose themselves both to isolation from their peers and to monotony, but I seem to think employers wouldn't think it particularly economical.
-- You have exactly 314 seconds to come up with a less retarded plot.
Well you can freely count me as another male clearly too insecure to let your usage pass. Catering to political correctness at the expense of correctness, and then utilizing ad hominem to rationalize it puts you in a wonderful light. Really.
-- You have exactly 314 seconds to come up with a less retarded plot.
Your "I'm a writer, I'll do what I want" sword cuts both ways. People are going to criticize you as much as they want for misusing language. If you don't like it, don't read their criticisms. Haven't you created a wonderfully circular train of arrogance?
-- You have exactly 314 seconds to come up with a less retarded plot.
When I was a lad in college, it was politically incorrect, although we didn't use that term, to open the door for women. We'd even go so far as to open the door for a man and allow it to swing in the face of a woman.
Yes, it reminds me of a time in a shopping mall when I went through a door and held it open for a young "lady" behind me. Her thanks was, "What's your problem, I don't have a broken arm." I still hold doors open for others - male or female.
Not quite. in the context of the preceding sentence,
When creative people work on making something new, they often enter a mental state where things just flow.
where clearly multiple people are being talked about, the second sentence should be:
This is a highly desirable state, both for the programmers themselves and for the organisations that profit by their labors.
Not only do each sentence's subject and verb need to agree in number, the whole thing does. In fact, it could be argued that the first sentence should read:
When creative people work on making something new, they often enter mental states where things just flow.
Anyway, to get back on topic, pluralizing is often the least clumsy way to remove gender-specific pronouns. Although the pedants say it should never be used, the passive voice is probably the second least clumsy way to do this.
Re:...her?
by
Anonymous Coward
·
· Score: 0
No it is NOT proper English, and the (over)usage of 'them' is just as insulting as 'her'; it imples the same attitude, that women need to artificially compensated for, but that we don't want to be too obvious about it, lest the women feel they're being treated specially.
The pronoun 'he' and 'man' has long been accepted as generic. It's 'man'kind, not shekind or theykind. God is a he, not a she, or an it, or a them.
Re:...her?
by
Anonymous Coward
·
· Score: 0
Whatever. The 'high' English (ie polite) form is dying, and I don't think too many people are sad about it. We still have many fine ways to indicate respect in spoken and written language.
What has happened WRT to pronouns these days, is that substitusing 'she' where a 'he' would normally go is becoming an eyesore, and very awkward. The practice of using 'they' is likewise going out of style, because it is even more forced. The most recent trend is to re-arrange your sentences so that a gender-neutral pronoun can be used more naturally, or so that one is not required. The practice can still sound a bit forced and contrived, but it's infinitely better than interspersing 'he' and 'she' so both genders get equal share.
and yes, english grammar is just beginning to get over being treated as a latin language for 200 years (or course it's not, it's germanic)
and finally, i agree that the them/their usage is a very elegant solution
Re:...her?
by
Anonymous Coward
·
· Score: 0
"Why do people insist on using 'her' instead of 'his' for the generic pronoun?"
Because they've been pussy whipped into avoiding the correct use of the generic "he" by feminists who aren't going to like them anyway. Thus they resort to "she" and "her" when refering to a profession that is 90% male, or to some such barbarism as "he/she", or "them" and "their" as singular pronouns, or even such nonwords as "themself".
Re:...her?
by
Anonymous Coward
·
· Score: 0
God is a he, not a she, or an it, or a them.
Glad to meet someone who has met God. Or maybe you're just a blithering idiot?
Re:...her?
by
Anonymous Coward
·
· Score: 0
You should have given her one, since she was obviously asking for it.
There are many different types programmers out there with different strengths which are definently related to their personalities. I agree with the article about how creative programmers can enter a state where they can see the problem from a holistic viewpoint and then code just starts to flow from them. I have experienced this state several times, where I space out and my fingers just start bashing away on the keyboard producing code with suprising compiles that first time, bug free, and does exactly what was needed. When this happens, according to what my friends say, I don't respond at all to them, what they say goes in one ear and out the other. This also happens to me when I play my guitar, when I get going on a groove I just zone out until I have finished. When I do get forcefully interupted there is hell to pay, it is extremely annoying to having someone force me out of such states.
This state of mind reinforces to notion that creative people make good programmers, possibly better than less-creative people. The odd thing with this is that I did horribly in the non-science courses in school. I got 75% in english while the majority of the class got 85%. But then again I did really try, I never paid any attention really although he was a really good teacher.
Another interesting thing is that in a project I was working I never commented any of my 7000 lines of code yet when I came back to the code half a year later, despite from what most people say, I could still clearly remember what each line did.
In further explanation of my persona and why it makes me a good programmer is that despite being a complete geek I am also into extreme sports, downhill biking, windsurfing and so on. These are my outlits for taking a break.
Is anyone else like this?
Another interesting thing is that in a project I was working I never commented any of my 7000 lines of code
The point of commenting code is not so that YOU will remember what it did, but so that the poor schmuck who might have to maintain it at some point can understand what it does and why it does it! Uncommented code is poor code no matter HOW technically outstanding it may be.
Another interesting thing is that in a project I was working I never commented any of my 7000 lines of code yet when I came back to the code half a year later, despite from what most people say, I could still clearly remember what each line did.
You're probably a good coder - but you're a lousy Software Engineer. As someone else has already pointed out - comments are not for YOU.
Well written code is code that someone else can start working with without having to ask the previous developer any questions.
As someone else has already pointed out - comments are not for YOU.
Well written code is code that someone else can start working with without having to ask the previous developer any questions.
While I'll tell my managers that the code isn't commented if they are expecting me to make a small change to a large project, the truth is most comments aren't that useful. Comments describing the architecture are, but the kind of function by function, or even line by line comments that managers asking for comments want aren't. Usually it's quicker to read the code than either of those. English is much more ambiguous and needs many more words to describe something than any decent code. It's only when the comments are sufficiently "meta" so that they describe conventions and architecture that they're useful (or pointing out exceptions to those conventions or architecture).
Good code comments itself. I have seen highly commented code that is impossible to maintain for two reasons: 1) the code was so overly complex that the programmer had to comment to explain what it did 2) changes over time by maintainers failed to include updating the comments. Thus you end up with code that is commented one way, but actually did something else.
I personally like to see interface comments only. A function takes these inputs and returns this value. Anything else is just wasted time.
It's only when the comments are sufficiently "meta" so that they describe conventions and architecture that they're useful (or pointing out exceptions to those conventions or architecture
One of the best comments I know of is:
case 1: foo(); break; case 2: bar();// intentional fallthrough default: exception();... wouldn't you agree? Lots more of that kind exist.
the truth is most comments aren't that useful. Comments describing the architecture are, but the kind of function by
function, or even line by line comments that managers asking for comments want aren't.
So write a couple paragraphs describing your 7000 lines, and do function-level commenst when it matters (complex arguments, for instance).
-- "We returned the General to El Salvador, or maybe Guatemala,
it's difficult to tell from 10,000 feet"
7K lines is a weekend project, and as such does not need to be commented. However you may throw out a README that explains:
The purpose of the project.
The problems it solves.
The general approach/assumptions used.
For small programs I write comments of chiefly two varieties:
What I am writing is intended to be sample code.
Non-obvious code that relies on assumptions made in other parts of the system:
/** * It's okay to this here, see: elsewhere.c * where it is required that the system must XXX. or YYY must have been done. */
For larger programs different rules apply. The comments may be used to generate documentation and/or communicate with other developers about the state of the code or the expected/tested usage.
Well written code is code that someone else can start working with without having to ask the previous developer any questions.
I find it hard to believe anyone familiar with programming would say that and that anyone else would mod it up. It presupposes that all code is trivial and all programmers are equal. A new developer without questions is brain-dead - like the parent post.
What do you do when original developer is not available? Call youself braindead, or admit you are wrong, and the parent poster right?
Your question shows your ignorance, grasshopper. The "parent" poster expected that all code should be self-explanatory if correctly written and all coders are created equal. People who work on non-trivial code in the real world come to realize that coders are not widgets, and talents differ. An incompetent or misleading or copy/pasted comment in code is worse than none at all.
what's suggested in article is the best way
by
WetCat
·
· Score: 1
to make ME an ineffective programmer. People ARE different, what fit one, not necessarily fit other. My performance when I am alone and uninterfered is about 5% compared to when I can talk about what I am programming to other person (even not necessary a programmer, just a good listener).
Re:what's suggested in article is the best way
by
arose
·
· Score: 1
Reteling to someone can cause you to better understand the problem, I sometimes have to grab for the keyboard in the middle of a sentence.
-- Analogies don't equal equalities, they are merely somewhat analogous.
Re:what's suggested in article is the best way
by
Anonymous Coward
·
· Score: 1, Interesting
Yeah I work that way as well - I need to explain the problem to someone else sometimes before I come up with the solution.
A good manager of programmers treats the coders as professionals. If someone wants to lock themselves in a silent room, go for it. If someone wants to do pair programming outside on the front lawn of the building, go for that too.
My best projects have come out when doing team programming, we'd sit next to eachother and talk back and forth about the problem.
The best way to manage this is by good office design. Having centralized offices, but with a shared space in the middle with cubes, really helps. The people who want silence can close their doors, the Pair Programmers can plop down in the cubes with their coworkers and go at it.
Re:what's suggested in article is the best way
by
vsprintf
·
· Score: 1
Wow. Must be really nice to work at a place where people can just decide whether they want to have offices or cubes rather than being assigned to a space. What part of heaven is that?
what's with the feminine pronouns ??
by
Anonymous Coward
·
· Score: 1, Interesting
"When creative people work on making something new, they often enter a mental state where things just flow. This is a highly desirable state, both for the programmer herself and for the organization that profits by her labors."
what's w/ this recent trend towards using feminine pronouns where they're totally inappropriate. I don't think that I've met more than three female programmers in the decade that I've worked in this area. There are a sizeable minority of female sysadmins , but very very very few women programmers. Is cousin fester trying to be PC , or is he just totally oblivious to the fact that for all intents and purposes there are no female programmers.
In general this article is queer , frankly most of what proports to be psychology is bunk. Programmers are actually alot like engineers. I think this guy has a very shallow understanding of what engineers do. Programmers certainly aren't like most of the artists I've met. It's nice that he recognizes that development entails a creative process , but that's only one aspect. The rest is pretty clearly engineering.
Re:what's with the feminine pronouns ??
by
unapersson
·
· Score: 1
"what's w/ this recent trend towards using feminine pronouns where they're totally inappropriate."
Very true, it's becoming incredibly annoying. If they don't want to say him it's easy to write neutrally.
"I don't think that I've met more than three female programmers in the decade that I've worked in this area."
Well I've only been doing it for about six years, but where I work there are female programmers who've been programming since the 1970's. Off the top of my head I could easily name half a dozen and that's just where I work.
Re:what's with the feminine pronouns ??
by
Bryan-Dollery
·
· Score: 1
What's with this trend towards spouting total shite when it's totally inappropriate?
If you've only met three women in a decade you need to change your deoderant.
There are plenty of female programmers, it's just that the industry as a whole decided not to let you know about it. We're like that you see, we hate bigots.
Try to think (I know it's hard), for a moment (which is probably all you can concentrate for), on why I might have used the frminine pronoun in my article. I promise, it wasn't out of ignorance or bigotry.
BD
Re:what's with the feminine pronouns ??
by
Anonymous Coward
·
· Score: 0
Isn't that really annoying, the impersonal pronoun in English is him, his, he. This is just some writer with a poor grasp of English (or Mercain) trying to be trendy while bowing to inane political correcteness. In a word, utter crap.
Re:what's with the feminine pronouns ??
by
ymber
·
· Score: 0, Troll
I've been working for 10 years. I've seen female programmers only in government and big companies working on federal contracts. They are usually in support groups. Some of them have been programming since the 1970s, true. They are very enthusiastic about ksh shell scripts.
I'm sorry, but I've never seen a female programmer in a private company, and I've never seen a creative woman-programmer.
Re:what's with the feminine pronouns ??
by
ymber
·
· Score: 1
You wanted to be polically correct. And your postings show that you don't respect your readers.
Re:what's with the feminine pronouns ??
by
sane?
·
· Score: 1
Where is the option for moderating the author as a misguided idiot ?
The majority of programmers are male. The VAST majority of programmers are male. By putting the female pronoun in this article you pander to the PC brigade who are close cousins of the bad management brigade. They both believe you can shape the world to what you would like by saying something, rather than doing something.
Considering programmers to be 'geeks' or to have body odor, or even bad social graces, is as much discrimination as considering them to be only male. If fact, in my experience, its further from the truth. Take a close look at yourself before you start casting stones at others.
Maybe your next article should be entitled "Programmers tell it like it is: they hate bigots of any colour" - and maybe you can learn something at the same time about being honest in a complex world.
Re:what's with the feminine pronouns ??
by
vsprintf
·
· Score: 1
I've been working for 10 years. I've seen female programmers only in government and big companies working on federal contracts. They are usually in support groups. Some of them have been programming since the 1970s, true. They are very enthusiastic about ksh shell scripts. I'm sorry, but I've never seen a female programmer in a private company, and I've never seen a creative woman-programmer.
I'm guessing you were trying to get a +funny mod for that - if not, shame on you. I've worked with female programmers in both federal contracts and private business for many years, and I have never noted a lack of creativity or competence based on sex. Indeed, it seems the female programmers have to work harder to overcome misconceptions like yours. Just to make the record clear, I'm male and have had the good luck to have some talented female programmers working on many of my projects.
Re:what's with the feminine pronouns ??
by
Bryan-Dollery
·
· Score: 1
Hey, this is/. not primary school. If you don't like my attitude, tough. I never pretended to be polite.
I'm not a good enough writer to maintain geneder neutrality throughout an entire artilce, nor do I think that the results would be readable.
I didn't use the masculin pronoun because it has shifted its meaning to be gender neutral too. In an article that is discussing individuals I thught it was wrong to use a generic pronoun. This meant that the feminine was my only choice.
Most programmers are male, but this has nothing to do with my choice of pronoun.
BD
Screw the office! Gimme hardware!
by
Anonymous Coward
·
· Score: 0
Just tell me what you want. Give me money for food and all the hardware I want! (And dont bugg me about broken printers!) = One happy coder!
From the article: programmers usually do have a longer attention span and a greater ability to concentrate than the majority of the population.
I was going to try to figure out what the heck this guy was thinking, but I got distracted.
Very helpful...
by
Anonymous Coward
·
· Score: 0
.. not in my job, unfortunately, as it involves nothing creative in any way, but helpful for me to give to my flatmates to explain *why* I do NOT want to be disturbed when I'm working on the computer.
Rather foolishly, I had never given much thought to analysis of my creative processes - but the "change of context" issue has allowed me to understand what it is that disturbs me.
This is a highly desirable state, both for the programmer herself and for the organization that profits by her labors.
She programmer ??
Re:Gender blunder
by
Swift(void)
·
· Score: 2, Funny
I can see it now:
'MakeBelieve software employed its first female programmer last week. At around the same time, male co-workers were seen being taken to hospital by ambulance. High level sources tell us the shock of a female in such close proximity caused a wave of fainting, dizzyness and stuttering. Doctors we contacted remained tight lipped, only saying that the men were barely coherant and were being kept under close observation'
He doesn't understand Scientists
by
AlecC
·
· Score: 4, Interesting
Contrary to popular belief, programmers more frequently resemble artists than scientists. If you want to maximize the creative potential on your development team, you've got to start thinking about the psychology of the programmer and be willing to back it up with management policy.
Which shows that this guy doesn't know scientists. Scientists - true scientists, not technicians - are very like this guy (correctly) describes programmers. Both programming and scientific research are creative skills which, as the man says, require you to be "in the groove". He is not wrong about programmers - he is wrong about scientists. Techicians, to some extent, have less need to be "in the groove" - though much of what he says applies to any human being, with only the time constants varying.
OTOH. 3. Accommodate Reasonable Special Requests. When I get really stuck on a design problem, I go for a walk in some very beautiful woods about three miles from my office. An hours walk in the woods has about an 80% chance of delivering a solution to the problem. Even, curiously, if I don't spend much time conscioulsy thinking about the problem. In fact, I sometimes feel that by subconscious is telling my conscious to let go that problem and leave it to me. Dropping a problem for an hour or day and then coming back to it can be remarkably constuctive.
In fact, I sometimes feel embarasssed that the conscious "me" claims credit for the bundle of mad scientist, lechers, random thought generators, and idiots who inhabit my subconscious and do all the work.
-- Consciousness is an illusion caused by an excess of self consciousness.
Re:He doesn't understand Scientists
by
Karellen
·
· Score: 1
Yeah, I get that.
It's really annoying that my subconscious is more intelligent than I am.:)
-- Why doesn't the gene pool have a life guard?
Re:He doesn't understand Scientists
by
Bryan-Dollery
·
· Score: 1
"Which shows that this guy doesn't know scientists"
But I am a scientist. I have the degree to prove it -- B.Sc. (the Sc. stands for Science).
I think that you have no idea what a scientist is, or what they do. Yes, on occasions they can be like programmers, but most of the time it's repetative experiments, over and over and over and over and over and over... you get the idea. One creative thought can lead to years of monotony.
Science, by it's formal definition, isn't at all creative, but mearly seeks to document the world as it really is. I don't see any room there for creativity.
BD
To the dude that claims that his BSc makes him a scientist, I've got news. Your undergraduate degree is worthless. By and large undergrad programs are designed for those possessing average intelligence/skills. It's not training to be a researcher. At the same time that doesn't mean that a majority of graduate programmes do any better. Anyway, repeating the same experiments over and over suggests that the "scientists" in question are not moving forward. It takes creativity to more than incrementally increase the knowledge base.
Re:He doesn't understand Scientists
by
AlecC
·
· Score: 1
I have to agree. I have got the BSc too, and I ducked out of science because it was too much like hard work. I went to play with computers because people would pay me to have fun while I found out what my career was really going to be. 25 years on, I still haven't found out. But some of my friends are Real Scientists. From what they tell me, it is a lot like creative software design. Of course there are dreary bits - so there are in programming, too. But the bit that distinguishes the Eagle from the Turkey is not those dreary bits, it is the insight that comes when you let the problem flood you mind and wait for the solution to rise to the surface.
-- Consciousness is an illusion caused by an excess of self consciousness.
Re:He doesn't understand Scientists
by
mce
·
· Score: 1
Science, by it's formal definition, isn't at all creative, but mearly seeks to document the world as it really is. I don't see any room there for creativity. BD
Huh? So tell me, was Einstein a scientist? Or did he "merely" create entire branches of science??
Science may be about documenting the world, but if you really believe that that is all there is to it, you are making a CRUCIAL mistake: you are confusing our models of the world and how it works with the real thing. Scientists CREATE models. They want them to closely describe their observations, but it is them that create the models. Every now and then an Einstein comes along and creates a totally new model, "out of the blue", that yields a more accurate description. But it's still only a model. One of many alternative ones, some more elegant than others and some requiring more creativity to be invented/discovered.
PS: I'm an M.Sc. (In Computerscience, actually, active both in scientific research and as a programmer.)
Re:He doesn't understand Scientists
by
Mike1024
·
· Score: 1
Hey,
When I get really stuck on a design problem, I go for a walk in some very beautiful woods about three miles from my office.
I don't know why most employers don't acknowledge problem-solving techniques like this:...Parker warns against following the technique of the Estonian telescope designer Bernhard Voldemar Schmidt. He would access his subconscious mind by drinking alcoholic beverages for several days until he entered a coma. Although Schmidt did often find a solution to his problem after emerging from the coma, he ended up damaging his brain beyond repair and spent his last days in a psychiatric unit.
Interesting, eh?
-- "Goodness me, how unlike the FBI to abuse the trust of the American public." -- The Onion
Sorry, but no. Most scientists catalogue the world, and arrange it to fit into existing models. That's what scientists do. They acquire new knowledge (either new to them or new to science) and fit into whatever model happens to be handy. Very rarely do they come up with an entire NEW model.
It's like the fantasy vs reality dilema. Most scientists would like to work on exciting new things and discover new stuff and leave their mark on the world. But in reality the best they can hope for is categorizing something that no one's been able (or willing) to categorize before them.
Re:He doesn't understand Scientists
by
Eskarel
·
· Score: 1
I find this too, not so much the walk in the woods part(I live nowhere near the woods), but the taking a break. When I encounter a problem I can't solve I find it best to take a break from the situation and then, while I'm doing something else, all of a sudden the answer will pop into my head and all will be well. Of course most employers don't understand this, though with my job I have various things to do so it's somewhat possible, and want you to force the answer out staring at the screen. It is possible to force an answer to a solution, but it's very physically draining. I personaly feel severely burnt out when I do this.
Re:He doesn't understand Scientists
by
XMunkki
·
· Score: 1
That's because your conscious mind has motivations, derires, pressure (ie. from time) and preferred ways of doing something. And usually when you find one solution, that does not work perfectly, it's hard to completely let go if it.
Whenever I encounter a hard design problem, I usually enter a "no thoughts" mode by doing something simple, suchs as playing minesweeper. As playing minesweeper takes no thought resources, I usually can find that I've been playing for 30 minutes straight and do not even remember if I thought about anything.
Curiously I usually end up with a better solution this way than actually deciding to solve something in the wake. And as simple solutions are usually more beatiful and seem easy, some on my past employers have had a hard time understanding that when I play, I actually work pretty hard and should not be interrupted.
Oh well..:)
No longer true
by
Bugmaster
·
· Score: 3, Interesting
The article says,
you should stop treating them as pluggable units, each with similar capabilities.
I no longer believe this is true. Most programming tasks nowadays involve picking up some toolkit, an IDE, and an office chair, and then dragging icons around to combine parts of the toolkit into some working product. Visual Basic especially is a good example of this, but Java/.Net, plain old Windows GUI programming, Web scripting etc. are also way past the point where creativity matters. There are well-known solutions (f.ex. design patterns) for most problems, and CS students in today's colleges are only taught how to apply them. They are no more creative than assembly line workers.
That is not to say that our education system is evil (well, it is, but that's not the point) or that people today are stupid. The reason for this programmer pluggability is that the market evolved to the point where creativity simply is not neccessary, since most common problems have been solved and codified -- and there is no demand for uncommon tasks.
The only two places right now (IMO) where creativity and real intelligence are needed are the embedded coding and theoretical CS research. Theoretical CS research requires creativity because it's, well, research. Embedded design requires creativity because the resources are so limited, and a pre-designed solution simply will not work in your PIC16 microprocessor with 4Kb of RAM, and so you must be really tricky to make your program fit into the limited space and time constraints.
Outside of these two niches, programming has truly become similar to construction work: a few engineers design the building, and then 100 grunts carry bricks around and hammer nails until it's done.
The reason for this programmer pluggability is that the market evolved to the point where creativity simply is not neccessary, since most common problems have been solved and codified -- and there is no demand for uncommon tasks.
This is complete and utter bullshit, unless you're coding industrial machines for a living. And if you think that VB programming is just about dragging widgets around a screen and dropping them on a form, you obviously don't know much about VB. The Japanese and Chinese believe the way you do, which is why they have almost zero innovation. They copy very well, but they can't innovate worth beans, because they treat the programming process, as you do, as an assembly line where you just plug in widgets.
most common problems have been solved and codified
That's what they said about physics back around the turn of the century, before Bohr and Planck and Einstein blew that load of horse hockey out of the water. I guess you sit in an office all day long and read COBOL? There's all kinds of research going on right now - peer-to-peer programming, for one, which I firmly believe is going to revolutionize the way that data is moved around the increasingly wired world. The old way is to buy bigger and bigger pipes. The new way is to be smarter about when, how, why, and where that data is moved. And peer-to-peer programming has only existed for a handful of years.
The notion that "all the important discoveries" in CS have already been done would be funny if it didn't highlight the poster's ignorance so well.
-- --
Ed Carp, N7EKG erc@pobox.com PGP KeyID: 0x0BD32C9B What I'm up to: http://intuitives.mine.nu
Boy, you are so dead wrong. The programmers you describe here are the vast majority of wannabe geeks and losers who got left over from the internet boom, y2k panic and dot com craze. Frankly they are utterly worthless except to do factory work. If you don't design and properly lay out how exactly what they should do, they can't do shit.
Even in desktop applications market, inovation and creativity is needed if you want to bring new products and you can't do that just using braindead coders. You need real talented programmers too. Granted, you don't need them for every task and a lot of stuff sometimes is just routine. However most of them indeed posses these zone moments. If you interrupt them with all kinds of managment stuff and tech support calls, they get confused and their productivy drops tremendously. Watch carefully what such a person produces one week he has to take on these chores, and another week when he can code and design undisturbed.
What you are describing about the education system is horrible. I haven't left university all that long ago but this was not the way I was thaught and frankly I'm relieved. There are other levels of education over here which indeed come close to making mindless atomaton programmers. I believe design patterns are a perfect way to increase productivity for bad programmers and get them to function properly without messing up all the time.
However the real talented, creative ones. Usually don't know the patterns by heart. You shove a book up their nose and they go 'ah, is that were all the fuss is about' They are actually already using those patterns, without thinking of them as patterns and even if they do, they tend to change them a bit so they apply better for the task ahead.
No my friend, creative programmers is exactly what is needed most of all in this business to stay afloat and be competetive and innovative.
Re:No longer true
by
Bugmaster
·
· Score: 2, Informative
And if you think that VB programming is just about dragging widgets around a screen and dropping them on a form, you obviously don't know much about VB.
Actually, I used to code VB for a living (shame on me), back when it was VB4 or whatever. What are they up to now, 7 ? Anyway, all I needed to do was design some forms, double-click their properties, and add event handlers so that the "Ok" button closes the form. Don't get me wrong, I like the fact that software is smart enough to do this now -- but the process is hardly creative. I am sure that some creative programs can be (and have been) written even in VB; my argument is simply that such programs are no longer really needed.
The Japanese and Chinese believe the way you do, which is why they have almost zero innovation.
Actually, unless I am mistaken, Japan leads US at least 3-5 years in technology, and has done so for a while. For example, can you name the top gaming consoles on the market today ? Or any other electronics for that matter ? How many people in the US use SMS as a primary means of communication ? I could give more examples, but you probably see my point. The Chinese... well... they are a totalitarian communist government (which has been desperately trying to improve lately). Any kind of innovation from them would be a surprise, for this reason.
That's what they said about physics back around the turn of the century, before Bohr and Planck and Einstein blew that load of horse hockey out of the water.
Read my comment again. I specifically stated that research is one area where real innovation and creativity are needed. But, in a commercial setting, most programming can be done by pluggable drone-units. It's the same thing with physics, actually -- physics research requires a lot of intelligence, but steel mills, fab plants, power substations etc. today are mostly automated.
The notion that "all the important discoveries" in CS have already been done would be funny if it didn't highlight the poster's ignorance so well.
I will re-iterate my point just in case you skipped over most of my comment. I was speaking about the same thing that the article concerned itself with: programming in a commercial setting. Programming research, like math research, will be with us forever -- but that's not the point.
I think you are actually proving my point. You say,
If you don't design and properly lay out how exactly what they should do, they can't do shit... Granted, you don't need them for every task and a lot of stuff sometimes is just routine... I believe design patterns are a perfect way to increase productivity for bad programmers and get them to function properly without messing up all the time.
As I said in my comment, programming has become very similar to construction. One very talented person -- the architect -- creates the design. Then, interchangeable drone-units can be used to implement it -- be it by hammering nails or by filling in function stubs using design patterns.
I agree with the article, and with you, when you say:
If you interrupt them with all kinds of managment stuff and tech support calls, they get confused and their productivy drops tremendously.
This is true of any workers, not just programmers. If they are attending morale-raising meetings, they are not working. However, this has little to do with creativity -- an assembly-line worker at some car manufacturing plant would suffer the same productivity drops due to meetings.
No my friend, creative programmers is exactly what is needed most of all in this business to stay afloat and be competetive and innovative.
But I contend that the business, or perhaps most of the business, does not desire to stay innovative. For example, take Photoshop. It hasn't changed much in the past couple years, and it probably won't. Everyone uses Photoshop, everyone knows how it works. It is the industry standard. Any innovation at this point will destroy Photoshop as we know it, because people will be forced to re-learn how to use it -- thus, opening a niche for competing products. Why would Adobe sabotage the monopoly they have worked so hard to build ?
Hey hey! Way to go, you fucking racist. Since when do the Japanese or Chinese never innovate? Have you ever played a video game before? And where the fuck did compasses and fireworks come from, anyway?
Oh, but I forgot, not everyone's human, only your own ethnic/cultural group.
--
--sdem
Re:No longer true
by
Dixie_Flatline
·
· Score: 4, Interesting
I agree with this, and I don't.
I'm sure most programming in big business environments has become very sterile. In a Dilbert-esque setting, I can see where you're coming from.
Where I program, I'm not sure that holds true (though I'm well aware that the kind of programming that I do is somewhat atypical). There's an overall design, but programmers are given subsystems to implement. They're told what it has to do, but not necessaily HOW it has to be done. Each programmer at the company could complete the task, but I'm sure no two solutions would never be the same.
As for CS students learning things by rote: I was going to say that you're wrong, but then I thought about it and decided that you're partly correct again. I saw a lot of people with no love for computing get through computing science because they test really well. Me, I test like crap on a stick, so I had to actually learn the lessons of algorithmics and creative thinking that are the subtext in those classes. I think the majority of people that go through CS and never once think about any sort of research career path are the kind of boilerplate programmers that you're talking about. Someone that has some desire to discover something new will make a perfectly creative programmer in the real world, and it may happen more than you think.
Actually, unless I am mistaken, Japan leads US at least 3-5 years in technology, and has done so for a while. For example, can you name the top gaming consoles on the market today ? Or any other electronics for that matter ? How many people in the US use SMS as a primary means of communication ?
Gaming consoles, maybe, but SMS is a terrible example. SMS has been avalible in the US for a while, it's just that almost nobody cares about it. It's the same thing with phones with cameras and such... they don't have them in the US because we want cell phones (primarily) for talking, and we don't want to pay a lot for a phone, like they do in Japan.
As for Japan being 3-5 years ahead in Tech, I think you're wrong; they may have certain niche markets where they are ahead but overall the US remains the leader in Computer/Networking technology, even if the Japanese have their supercomputer with NEC processors. It's even debateable that it is truely the largest, since I suspect that not *all* of the US classified supercomputers are on the list.
Here's my one example: Japan uses CDMA wireless networks, a US technology, to carry their snazzy cell phone services.
"The only two places right now (IMO) where creativity and real intelligence are needed are the embedded coding and theoretical CS research."
Not so. In many instances a job will require creativity and intelligence from a programmer. A few examples:
- Often, functional and/or technical specs only go so far in describing how a particular program should be solved. The programmer has to supply the missing details and, in effect, make detailed design decisions. I rarely see a specification for a program that is so detailed than one could simply sit down, spec in hand, and start programming the whole thing. The few times I do see a spec that detailed it is unworkable due to many of the detailed problems having been solved the wrong way, because the designer missed the insight that one gains while actually programming the system. Not all design decisions can be made up front, and have to be provided by programmers. That is where I see the difference between good and bad programmers these days.
- There are many specialist areas where the problems one encounters are far from common, or simply beyond the run-of-the-mill programmer. We often work with programmers who specialise in other fields such as mathematics, ballistics, oil exploration models, financial models, etc.
- You mention toolkits and libraries. Again, it can be hard to completely evaluate these toolkits and libraries during design time. Often I see the programmer suggest the libraries and toolkits to use to the architect, not the other way around, siply because the programmers have worked with these libraries and know them inside and out. And suppose the designer has all the specs for a simple plugin, and specifies exactly how to use it. Then... the programmer stumbles upon some flaw or bug in the plugin, and has to program his way around it. That requires real creativity. Every VB programmer should know what I am talking about here. This is the main reason why I hardly ever see a productivity boost from using premade components: they are often flawed or don't work as advertised, and programming the workaround eats up all the time previously gained. It usually also requires a very good programmer, not a code monkey.
I work with programmers a lot, both good ones and bad ones. The good, and most productive programmers are invariably the ones that are creative and able to achieve flow, not the ones that know only how to apply a bunch of standard solutions and patterns.
-- If construction was anything like programming, an incorrectly fitted lock would bring down the entire building...
Actually, I used to code VB for a living (shame on me), back when it was VB4 or whatever. What are they up to now, 7 ? Anyway, all I needed to do was design some forms, double-click their properties, and add event handlers so that the "Ok" button closes the form. Don't get me wrong, I like the fact that software is smart enough to do this now -- but the process is hardly creative. I am sure that some creative programs can be (and have been) written even in VB; my argument is simply that such programs are no longer really needed.
And your argument is still wrong. You seriously think that every single business problem can be solved by dragging a few items onto a form and connecting them?
Actually, unless I am mistaken, Japan leads US at least 3-5 years in technology, and has done so for a while. For example, can you name the top gaming consoles on the market today ? Or any other electronics for that matter ?
You're mistaken. One of the top gaming consoles is the Xbox. If I recall Microsoft is an American company. I also recall that the innovators were Atari, etc. American companies. The Japanese do one thing very well and have done so for years: take an existing idea and make it more efficient.
Most programming tasks nowadays involve picking up some toolkit, an IDE, and an office chair, and then dragging icons around to combine parts of the toolkit into some working product. Visual Basic especially is a good example of this, but Java/.Net, plain old Windows GUI programming, Web scripting etc. are also way past the point where creativity matters. There are well-known solutions (f.ex. design patterns) for most problems, and CS students in today's colleges are only taught how to apply them. They are no more creative than assembly line workers.
Hogwash. I do development in one of those Windows GUI programming environments, Clarion, and have by no means found that the need for creativity has disappeared. It does mean that the application of creativity has moved to a higher conceptual level. I have higher-level tools, therefore I'm able to apply my experience and creativity at a higher (and more effective) level.
The existence of those tools may mean that those that unthinkingly drag around icons can manage to produce a program. It's doesn't mean that programs produced that way are going to be that effective or useful.
Hey hey! Way to go, you fucking racist . Since when do the Japanese or Chinese never innovate? Have you ever played a video game before? And where the fuck did compasses and fireworks come from, anyway?
Who's the racist here? The Japanese and Chinese have different cultures, which influence the way they view the world. By and large, the chinese and Japanese don't innovate. The Japanese refine and the Chinese build stuff. The creative stuff is done by artists and programmers in small shops.
I haven't honestly seen anything come out of China that could be called creative. That's probably due to the problem of being disappeared for having the wrong sorts of ideas - tends to dampen creativity.
-- "We returned the General to El Salvador, or maybe Guatemala,
it's difficult to tell from 10,000 feet"
Often, functional and/or technical specs only go so far in describing how a particular program should be solved. The programmer has to supply the missing details and, in effect, make detailed design decisions.
That's the job of an architect, not a programmer. The architect creates the design, maybe even writes out function stubs, and the programmers fill them in. That's how software design is done at large companies, of course -- small startups consisting of 3 people can't afford this type of organization. But then, where are those startups now ?
There are many specialist areas where the problems one encounters are far from common, or simply beyond the run-of-the-mill programmer. We often work with programmers who specialise in other fields such as mathematics, ballistics, oil exploration models, financial models, etc.
I am sure there are innovations that simply have to be made in those fields -- but those are not CS innovations. And people who specialize in other fields are not programmers, per se -- they are physicists, mathematicians, etc. who also know some programming. These people are truly creative and intelligent, but the article was not about them.
Then... the programmer stumbles upon some flaw or bug in the plugin, and has to program his way around it. That requires real creativity. Every VB programmer should know what I am talking about here.
Wait... are you saying that messing with OCX controls and whatnot actually passes for creativity nowadays ? I think this is even a dimmer view of the situation than the view I was presenting. If the only thing left for programmers to do is work around other people's bugs, then creativity in programming is truly dead.
-- >|<*:=
Re:No longer true
by
Anonymous Coward
·
· Score: 0
I think the majority of people that go through CS and never once think about any sort of research career path are the kind of boilerplate programmers that you're talking about.
The internet boom has created two classes of programmers: those who would have been programmers anyway, and are probaby really good (or have the potential to be because they're actually interested), and those who became programmers because it's cool or pays a lot, and probably suck, but can fake it.
So if you don't enjoy programming, don't do it. It's better for everyone.
Re:No longer true
by
Anonymous Coward
·
· Score: 0
As for Japan being 3-5 years ahead in Tech, I think you're wrong
Well thats all very nice, but it doesn't matter what you "think". The truth is very clear in this matter; Japan is 3 to 5 years ahead of the United States when it comes to technology.
I'm amazed at your one example. Hey, they use NTSC too. Theres two whole examples!
Or maybe its simply because the largest export market for Japan has traditionally been the U.S, a lot of U.S and Japanese companies have large cross licencsed patent portfolies, and interoperability is an important consideration.
Nah, couldn't be that. You don't think it is.
Re:No longer true
by
Anonymous Coward
·
· Score: 0
One of the top gaming consoles is the Xbox
One of them. One of them is. One of them Of course you knew that the Playstation 2 is actually the top console (By a fair margin, too), and that Nintendo are also "one of" the top consoles.
Japanese consoles two to one, with a Japanese advantage. Fancy that.
I also recall that the innovators were Atari, etc. American companies.
I seem to remember Sega; a Japanese company. Who were the top console companies during the 80's and early 90's? Oh yeah, Sega and Nintendo. Japanese companies!
Sucks to be a jingoist when you're not the best eh?
I can agree with you that a large number of programming tasks do not require creativity to simply get it to work.
However, most programming tasks do require creativity to create robust, easy to maintain, and secure software.
Have you ever looked at a piece of code that hurt your head because it was so difficult to read, but nonetheless managed to work somehow?
On the other hand, to me, the biggest compliment someone can give me is "You write beautiful code." If you have ever worked on a complex problem for hours and at the end it has boiled down to an extremely elegant, easy to read, easy to maintain, self documenting, and easy to follow solution, then you know what I am talking about. Every once in a while at the end of the day I sit back and say to myself, "Wow, that's beautiful code." Those are the times when I know I was a creative programming artist that day instead of merely a code monkey grunt.
-- This space intentionally left blank.
Re:No longer true
by
Anonymous Coward
·
· Score: 0
Gaming consoles are hardly breakthrough science. Making something go 20% faster than competitor's or previous year's model does not require anything special.
Truth is the Zen mindset and culture has created a society where creativity, innovation, initiative and 'thinking out of the box' in general are frowned upon, and not socially acceptable. The Japanese are very good at taking existing technology and improving it incrementally. There's nothign breakthrough coming out of the far east.
Re:No longer true
by
Anonymous Coward
·
· Score: 0
Huh? If all you're doing in VB is dropping buttons and labels and icons, then your finished product will do exactly NOTHING. You still need to code business logic, error checking, queries, etc, for even the most trivial VB app to do something.
Re:No longer true
by
Anonymous Coward
·
· Score: 0
No doubt. I'm about to graduate with a CS degree (honours in pure CS), and I test like a bitch. I get the concepts, but I panic on tests, so I have to rely on near-perfect assignment scores to balance out rank midterms and finals.
One of them. One of them is. One of them Of course you knew that the Playstation 2 is actually the top console (By a fair margin, too), and that Nintendo are also "one of" the top consoles.
And your point is what exactly? The other poster seems to think that the Japanese have some huge lead on the US in game technology. The Xbox proves that they are wrong. The number of consoles in the top x is irrelevant.
I seem to remember Sega; a Japanese company. Who were the top console companies during the 80's and early 90's? Oh yeah, Sega and Nintendo. Japanese companies!
The top console companies until 1984 were American companies. Atari, Coleco, Mattel. Then the market crashed and Nintendo came out with the NES. American companies were still coming out with good consoles during that period (Atari Jaguar, and the innovative Lynx...created by ex-Amigans, 3DO...same guys who did the Amiga and Lynx) but they didn't sell as well. Popularity of consoles has more to do with licensing but you knew that already didnt you?
As for the lame "jingoist" comment do you even know what the term means? I don't quite see how jingoism comes into the conversation at all. The simple fact is that American companies have been the innovators in the areas we are discussing. Jingoism plays no part in that.
I have always had test anxiety. I've been in this field for 15 years (from programming to sysadmin) and at one interview I had, they gave me a 50 question test..I panicked, and walked out. I hate tests
-- If you're not a Liberal in your 20's, then you have no heart.If you're still a Liberal in your 30's you have no brain.
I think the article has an interesting perspective, and I totally understand the "in the zone" argument. Sometimes you have it, sometimes you don't, and sometimes an interruption really is just soooo irritating.
However, I'm not sure the suggestions are really the way forward. In particular, such research as I've seen (sorry, can't cite a link off the top of my head) suggested that actually, a small team of programmers was much more productive in their own open-plan-like "team space". There are several logical explanations for this, not least the fact that if you do get stuck with a mental block, help is just a question away. You also get interaction with conversations other members of the team have, and either learn something yourself or offer them a solution neither of them knew about but you did.
Sure, you need to have a team who get on, and realise when someone is really going for it so they don't interrupt at just the wrong moment. But all that really takes is having a little consideration for your team-mates, and a willingness to say "Can I get back to you in half an hour?" without being distracted, neither of which is hard to do. No-one really sits in the zone all day, it's more like a few minutes when the germ of an idea comes to you and you want to flesh it out, and that's the time when it's bad to be interrupted.
Other than that, I find it's much more helpful to have the interaction for the remaining 90% of the day, so you don't get "programmer's block" and just sit there thinking about a problem but not really getting anywhere. I guess this is one of the major advantages of "pair programming", too, if you've got people who are happy working together that closely.
I agree that programmer comforts are generally a smart move: where I work we have a decent flexitime system, concern over things like chairs and lighting, headphones so people can listen to CDs while they work and, yes, even a shower. These are all good things, appreciated by the developers, and so the developer productivity and loyalty is very high. But we still work in an open plan office, even if everyone does have "their space" in it.:-)
-- If you disagree, post your argument. (-1, Overrated) isn't your personal censorship tool for views you don't like.
Re:Interesting but wrong?
by
Hewligan
·
· Score: 2, Insightful
In particular, such research as I've seen (sorry, can't cite a link off the top of my head) suggested that actually, a small team of programmers was much more productive in their own open-plan-like "team space".
He didn't actually say that the programmers needed to be in their own offices, or even that all interruptions are bad. He just said that they shouldn't be interrupted by anything that's not related to the task at hand. In other words, sharing space with people working on the same/similar problems is not going to have a negative impact.
Having said that, I'm not entirely sure he's right even then. Often, when you get stuck with some problem, getting interrupted by something unrelated and going back to it can lead you to a solution. Still, I guess it's better if you get to choose the moment for those sorts of interruption.
--
"If God created us in his own image, we have more than reciprocated"
He didn't actually say that the programmers needed to be in their own offices, or even that all interruptions are bad.
True, the "getting my own office" comment was made by the person who submitted the article, not in the article itself. You have to admit that the article seems to support the idea pretty strongly, though.
-- If you disagree, post your argument. (-1, Overrated) isn't your personal censorship tool for views you don't like.
Re:Interesting but wrong?
by
grahammm
·
· Score: 1
Which is why email is much better than the telephone. You can choose the time to read your email, like when you are stuck on a problem and not when you are 'in full flow'. The telephone, on the other hand, demands instant attention.
However, I'm not sure the suggestions are really the way forward. In particular, such research as I've seen (sorry, can't cite a link off the top of my head) suggested that actually, a small team of programmers was much more productive in their own open-plan-like "team space". There are several logical explanations for this, not least the fact that if you do get stuck with a mental block, help is just a question away. You also get interaction with conversations other members of the team have, and either learn something yourself or offer them a solution neither of them knew about but you did.
I have to wonder how much of that 'research' was commissioned by those selling 'open-plan' office furniture. Note that the information in the article is not at all new. Tom DeMarco was saying the same things back in 1987 in his excellent book "Peopleware". And back then he noted that those touting open-plan offices as productivity enhancements could offer no proof beyond 'proof by repeated assertion'.
Re:Interesting but wrong?
by
Hewligan
·
· Score: 1
True, the "getting my own office" comment was made by the person who submitted the article, not in the article itself. You have to admit that the article seems to support the idea pretty strongly, though.
Yep.
From my reading of the article, I'd say he considered giving programmers their own offices to be the ideal situation, just not absolutely necessary.
Personally, I'd find spending my day in a room with nothing but me and a computer pretty depressing, but I'm sure there are plenty of people around here who would disagree.
--
"If God created us in his own image, we have more than reciprocated"
I wish I could remember where I'd seen the information; it was definitely a formal study, and dated from somewhere in the mid-'90s if memory serves.
The thing about it was, I'm very critical of material that offers a firm opinion, so I always tend to question sources. Anecdotal evidence is fine if that's all it claims to be, but if you want to make a firm point rather than just start a discussion, then you've got to offer hard facts. And yet, the results of that particular study made perfect sense to me, and almost perfectly agreed with my own observations at the offices where I'd worked. If it had been commissioned by an obviously biased source, I would probably have noticed and questioned that.
I don't suppose anyone reading this happens to have encountered the same study and could provide a link? It must have been fairly widely known if I came across it when I did...
-- If you disagree, post your argument. (-1, Overrated) isn't your personal censorship tool for views you don't like.
I only skimmed the article, but it looked like more self-indulgent "programmers are special" whining.
programmers usually do have a longer attention span and a greater ability to concentrate than the majority of the population
Anyone who has a degree has a longer attention span and greater ability to concentrate than the majority of the population. There is nothing here that makes programmers special.
Writing code is an act of creativity. It isn't science and it isn't engineering, although programmers are happy to apply science and engineering to the creative process, when possible.
This is just nonsense. Why can't engineering - the design of a new product - be creative? Why can't science - the discovery of new knowledge - be creative?
The vast majority of programming in the world is not creative. It's a skilled craft, sure, but it's not about creativity - that is, making something exist that did not exist before. One database application, or web site, or GUI etc is really much like another. The details differ, but it is not pushing the envelope of the possible, like scientists and engineers do every day.
Professor Mihaly Csikszentmihalyi of Chicago University, formerly the chair of the psychology department, has studied hundreds of exceptional individuals, from IT entrepreneurs to Nobel Prize winners, researching creativity. He has written many books and papers on the subjects of flow and creativity
An entrepreneur has a wholly different perspective than a programmer. There may be some overlap between the two groups, but they aren't directly comparable. An entrepreneur will spend most of their time on tasks other than programming, for a start, such as raising funding, making sales, hiring employees, managing existing staff, scouting out the next office, a million other things. But the article is all about how programmers can only do one thing at a time.
If a programmer's flow is interrupted it can take a large amount of time for her to regain the state, sometimes up to an hour.
This is just mystical hand-waving. I half expected the next paragraph to be about "using the force".
you should isolate the programmer in his or her own room.
why not give each programmer a budget with which they can buy their own chair and desk?
This is just more "programmers are special and should get special privileges". Programmers are no different from any other skilled craftsmen or any other office workers.
I don't give a fig if this costs you more money; the potential benefits are huge. If you continue to view the world as a risk/value proposition then you'll continue to produce mediocre results.
Any sane business manager weighs up risks and rewards. The suggestions in this article aren't about productivity, they're about luxury. Work is work - many people forgot that in the 90's when an office was more like a kindergarten, and look where that got us - many of those people are unemployed now. It's time to grow up and start behaving like all the professionals in the world.
Re:Nonsense
by
Anonymous Coward
·
· Score: 1, Insightful
Anyone who has a degree has a longer attention span and greater ability to concentrate than the majority of the population. There is nothing here that makes programmers special.
I don't know which college you went to, but at the University I'm attending with 40,000 at this campus, there are more than enough examples that would disprove your little statement here.
Any sane business manager weighs up risks and rewards.
And it's usually the managers who get to buy their own chairs. What makes them special? And don't give me any "managers are more important" bullshit.
sql*kitten? I think your name says it all. I've done programming with sql, and you're right, it doesn't require any 'flow' or creativity, it's usually plug-and-chug. Maybe that's your problem; do some real programming and you'll understand the article's point of view a little better.
Anyone who has a degree has a longer attention span and greater ability to concentrate than the majority of the population. There is nothing here that makes programmers special.
But do programmers have a longer attention span and greater ability to concentrate then the average person who has a degree? This is not something that can be resolved by pure logic and argument; it takes study.
The vast majority of programming in the world is not creative. It's a skilled craft, sure, but it's not about creativity - that is, making something exist that did not exist before. One database application, or web site, or GUI etc is really much like another.
And one novel is really much like another in the same genre, especially if you ignore all the fine details.
The details differ, but it is not pushing the envelope of the possible, like scientists and engineers do every day
Oh, yeah. Go build a bridge across this river, pretty much like every other bridge. Go sequence this creature's DNA, which is pretty much like every other creature's DNA. Go study this plant, which lives like pretty much every plant.
On the flip side, you're ignoring the programmers whose job it was to write the first compiler, the first simulation, the first first-person shooter, the first computer typesetter, the first OCR program, the first speech-recognization program, etc.
If a programmer's flow is interrupted it can take a large amount of time for her to regain the state, sometimes up to an hour.
This is just mystical hand-waving. I half expected the next paragraph to be about "using the force".
Clearly, you've never been distracted, and had to turn back and ask "Now what was I doing here . ..". Whether or not this is worse for programming and/or programmers is a question that is easily subject to experiment, and thus is not mystical hand-waving.
The vast majority of programming in the world is not creative. It's a skilled craft, sure, but it's not about creativity - that is, making something exist that did not exist before.
By that definition, the vast majority of music is not creative. I can't say I'd really argue against that point, though:)
-- "They that can give up essential liberty to obtain a little temporary safety deserve neither liberty nor safety."
I only skimmed the article, but it looked like more self-indulgent "programmers are special" whining.
Heh, you start your tirade with a statement of ignorance. Good start, bud.
Anyone who has a degree has a longer attention span and greater ability to concentrate than the majority of the population
Troll alert. I know people who procrastinated their way through college and still pulled degrees. I know people without degrees that are _wizards_ in the comp sci field. Where's your evidence backing these absurd statements? I'm personally noticed degrees to be nothing more than a "foot in the door" business requirement. You learn more on your own or on the jobsite if you're worth your salt. Anyone with a degree without the capacity to continue growing will never amount to anything in computers anyways.
One database application, or web site, or GUI etc is really much like another.
OK, your code may suck, but don't push that onto mine. I've written SockStream objects that allowed simplicity in code to the point of:
mysock << "mydata" << myint << endl;
Was it necessary? Hell no. Was it creative and did it make programming easier and code reading nicer? Yes.
I've also done exception chaining, and FileStream objects that auto-append timestamping prefixes to each line.
I've designed some algorithms that use so many "Design Patterns" in so many different interesting ways that it would make your head spin.
Call any of that non-creative? Find me 5 people that have done the same.
What the hell DO you call creative if not the act of ingeniously coming up with new and interesting ways of doing something?
The fact you have about 5 billion different mail client to choose from and features out the wazoo should be enough of an indicator that there's people out there going "hey, what if we do things THIS way?"
Finally, if you have no idea what "flow" is all about, then you're too clueless to understand any of what's being said anyways, so I'll stop talking. Good programmers get into "a groove", a mental train of thought. And frankly I think yours is derailed.
*Yawn* nothing new here
by
IIRCAFAIKIANAL
·
· Score: 4, Insightful
(I drafted a rant, re-read the article, and re-wrote my rant. It's not so harsh now:)
Programmers should be treated like professionals. Just like every other professional. What a revolutionary concept.
However:
A secretary is being creative when s/he drafts a letter to send to a client on behalf of the resident phb. Does s/he get a shower in his/her office? How about the sysadmin that creatively comes up with a method to speed up deployments? And the engineer that shaves 10% off the time to manufacture your widgets?
Just because your job involves being creative does not mean that you deserve special consideration. Adequate tools, training, and respect, yes. But everyone needs those to perform their "best."
Therefore, this article is bullshit. All creative people can perform better if you enhance their working conditions. All *people* can perform better if you enhance their working conditions.
What a waste of electrons.
(Yes, this is 90% nicer than my previous rant:)
-- Robots are everywhere, and they eat old people's medicine for fuel.
Re:*Yawn* nothing new here
by
wizzums
·
· Score: 1
Ditto
Back in some business communications class I took in college, there was a lecture done about how employees perform under different lighting conditions. To sum it up, researchers went both ways, turning the lights up, brighter and brighter.. noting an increase in productivity, and then back down, dimming them. In both cases, incremental changes in the lighting increased productivity. So did it not matter if an environment was brighter or darker?.. (We know that long term there would be a difference) But the researchers found that the increase was simply the result of the employees opinions being listened to.
They were just happier to have a voice about the changes, and this consequently increased their productivity. Ta Da.
Yes, programmers should be treated like professionals, but not all professionals should be treated the same. A good secretary should be able to jump between many variant tasks and contexts frequently. As the articl mentions, good programmers tend to excell at focusing their attention and creativity on a single context for an extended time. Most secretaries I've seen tend to be doing 10 different things at once; most programmers tend to do 10 related things at once. The implications and requirements of flow in these situations are very different, and thus require different approaches. Don't interrupt your programmers every 5 minutes to ask for TPS reports; don't ask your secretary to code for 8 hours.;-)
The shower thing is more of a general example than a suggestion: if I were in charge of an engineer who shaved 10% of widget manufacturing times, I'd give him pretty much anything he thinks would improve his ability to come up with more time- or money-saving ideas. It's not just about enhancing working conditions, although that is certainly a factor. It's about recognizing the specific needs of programmers, both in general and specific to each person. One way to discover these needs is through psychology: if you understand why programmers enjoy programming and how they work through tasks, you can make them a lot happier and more productive than if you just threat them like "everybody else".
Re:*Yawn* nothing new here
by
Bryan-Dollery
·
· Score: 1
You rewrote your rant, and yet it's still a rant.
I didn't say that programmers should be treated as professionals, I said that they should be treated as creative individuals.
Yes, actally, if you're creative then you deserve special consideration. Writing a letter for a phb isn't creative. Designing a technical solution to a complex problem is creative. Programmers are asked to invent more things in a week than Edison (et al) did in their lifetimes. We're not just creative, we're exceptionally creative, and we get even better if you'll let us.
BD
Re:*Yawn* nothing new here
by
tedrlord
·
· Score: 1
There are differences between programmers and those other professions, though. Programmers' jobs require that they work mostly in their heads, dealing with concepts that are quite removed from the world around them. They also have to juggle a lot of different design ideas and variables and algorithms in their minds at once. The gist of the article is saying that they should be left to do this without getting bothered.
I agree that's it's not totally special to programmers. You have the same issue with authors writing a book, or theoretical physicists putting together thought experiments. Or graphic designers, which were mentioned in the article. They work best when they're comfortable and undisturbed.
As for the shower in the office, if you read it again you'll see that the author was talking about "a famous computer researcher who made a lot of discoveries in the field." He wasn't just any programmer. He was likely working on some very important projects for the company that would likely produce lots of revenue. In situations like that, it's not unheard of to go a little out of the way to provide an eccentric genius with what he needs to work best.
And the article is not saying that programmers are special and wonderful and better than everyone else. It's just trying to explain that due to the thought processes they use, they work as would writers and artists, and should be given the same treatment that companies give those professions.
--
[insert witty quote here]
Re:*Yawn* nothing new here
by
Anonymous Coward
·
· Score: 0
I really think what the author was getting at was that creative people need to be comfortable to be effective.
The guy working at the quick-e-mart (and I have done this job before, so I have a little bit of experience) is going to have feet that utterly kill him at the end of the day.
Is giving him a chair or even a stool going to make him more comfortable? Yes!
Is it going to make him more productive? No! He's still going to have to ring people up, probably at a slower speed because he has to extend himself more to reach over the counter, and he's going to have to get up and down to get at things behind the counter or move around it. It's not going to keep anything from doing any good other than his complaining about his feet.
A solution? Get him a better pair of shoes. It's still not going to make him anymore productive, though, and it's going to cost money.
A lot of the author's "solutions" I don't nessicarily agree with, but I think he's just trying to provide examples.
Frankly, at my workplace, I would like to see it so that I could work a split shift with half of it in the night, and half of it in the afternoon. My boss won't agree with this, and from 9am-12pm I am pretty much worthless to him, but he's happy and I'm getting paid. Of course, I have the occasional (well, more than occasional) oversleeping problem, that doesn't seem to bother him too much, other than some ribbing from him and the distaste of other co-workers.
He refuses to let us work at home, unless it's outside of normal work hours (paid for me, not for others). Put in the overtime if you'd like to? Maybe when I need to pay off some big bill at the end of the month, sure, I can find something to do. Until then, I'm going to find something that I enjoy to do. I've mentioned to him several times that the best time for me to get work done is at night -- I control the light in my work area, it's not loud outside, no one awake in the house to bother me, etc.
If I were the only person in my group that disliked this, I would probably not feel the need to complain, but I'm not.
Engineers and other stereotypes
by
melonman
·
· Score: 1
I fear that we are heading into 'real engineers don't eat quiche' territory here...
Surely the point is that the guy is talking about creating stuff from scratch, and most programmers and most engineers don't do that most of the time. If you are building bridges, most of the time you take an existing design, tweak it a bit, and ship it. And a lot of programming is like that too.
Now I suspect that engineers who are working on a fundamentally new type of structure look a lot like programmers who are writing some radical new program from scratch. The nearest equivalent to what the latter feels like to me is composing polyphonic music scores, which most people would consider to be art, but which you could equally consider to be applied math.
And if you haven't met more than three female programmers, all I can say is that you need to get out more:-)
-- Virtually serving coffee
The problem with exporting work
by
Anonymous+Brave+Guy
·
· Score: 4, Insightful
The problem with this whole "exporting work" argument is that, the vast majority of the time, the foreign workers simply aren't as good at it, or even close. I'm sorry, I'm no racist, but this is simply the way things are.
It's true of call centres, where people reading from a script with no concept of the product and English as a second or third language just don't project a good impression or offer much help. If you doubt this, ask Carly about how HP did when they moved much of their call centre work abroad.
It's also true of programmers. If someone in India can do the same job as me, for 1/10 of the price but just as well, then apparently at least one of us has got our expectations wrong. OTOH, if a programmer in India has the same job title as me, charges 1/10 of the price but does 1/20 of the work, is this an improvement? Of course not. And I think it's fair to say, quite objectively, that the vast majority of foreign developers lack the education, industrial experience and professionalism exhibited by decent programmers in places like the US or UK.
In the long run, companies will have to adapt to this. They will either recognise that the cheap option doesn't stay cheap when your quality, and consequently your business, suffers, or they will see the need to invest in proper training and support of the foreign labour to raise standards, which will cost them more. Either way, you do get what you pay for. It's just a matter of time until corporate greed starts losing to smart management on this one.
-- If you disagree, post your argument. (-1, Overrated) isn't your personal censorship tool for views you don't like.
Re:The problem with exporting work
by
JimDabell
·
· Score: 2, Insightful
If someone in India can do the same job as me, for 1/10 of the price but just as well, then apparently at least one of us has got our expectations wrong.
The cost of living in India is far less than the cost of living in Silicon Valley. The salaries in the States are high by necessity, it isn't just greed.
Re:The problem with exporting work
by
Anonymous Coward
·
· Score: 0
Sorry, but the vast majority of the time domestic workers aren't any good at it, either. It's slightly easier to weed out the bad ones when you can actually see them, though.
The sad part is when the Americans who really do know what they're doing get replaced with Indians who don't, instead of the other way around.
Re:The problem with exporting work
by
catfood
·
· Score: 1
I'm sorry, no, India is a huge country full of intelligent, hard-working, well-educated people. (And also millions of very poor people with no education, but look at what's left.) There are hundreds of thousands if not millions of excellent programmers in India and similar countries.
I say this as a US-born American programmer. On the types of projects for which international development is well suited, it will be very, very hard for us in the richer countries to compete. That's nobody's fault, it's just the way things are when you have many able people in a relatively poor country with a very low cost of living.
There are many projects for which international outsourcing doesn't work out so well. There will be a new equilibrium, somewhat less favorable to current programmers in wealthier countries, and life will go on.
Re:The problem with exporting work
by
Anonymous Coward
·
· Score: 0
foreign workers simply aren't as good
Bullshit.
My best friend works for a major computer consulting company. About a year and a half ago they started bringing in programmers from India to save on development costs. The Indians charge $30/hr to my friend's company who charges $200/hr to the client.
From what he's told me, the Indian guys are outstanding programmers, but they're pretty poor in leadership/project management. But give them 1 good manager that understands programming, and they put out a great product.
So I think you're wrong to say that foreign workers aren't as good. They're very good at what they do, you just have to understand exactly what it is and how to use them.
Re:The problem with exporting work
by
stretch0611
·
· Score: 1
The problem with this whole "exporting work" argument is that, the vast majority of the time, the foreign workers simply aren't as good at it, or even close. I'm sorry, I'm no racist, but this is simply the way things are.
No, you are completely wrong with that. Just like here in the US there are good programmers and there are bad programmers. I work with some Indian programmers here and one in particular is very bright. Another one I work with is an idiot that doesn't know whats going on half the time. (Ironically the smart one became a citizen, the idiot is H1B.)
One thing that companies need to realize is that you get what you pay for. My previous job was off-shored to India. The reason that we were given was purely financial. We were told that it costs $90/hr for a programmer here including all overhead (this includes supervisor costs and facilities). By comparison, they told us a developer in India costs $30/hr. One of the first assignments given to the Indian group was an easy maintenance update, I could have done it in 8 hours, a Jr. Programmer new to the group might need 16 hrs to do the same job, the Indian group billed 128 hrs split by 3 people for the change. Lets recap: Me $720; JP $1,440; Indian group $3,840. However, I am sure that the upper levels are assuming that it would have taken the same amount of time and cost $11,520.
-- Looking for a job? Want your resume written professionally? DON'T USE TUNAREZ!!!
Re:The problem with exporting work
by
Bryan-Dollery
·
· Score: 1
This just isn't true. In fact, despite the fact that you're arguing that you're not racist, you quite clearly are.
I've just come back from a conference with the VP of Quality at Infosys. He's just hired another 2000 developers, for which there were 400,000 applicants. He chose the top 0.5%, and gives them 3 months solid training before they're allowed to touch customer's code.
He has 15,000 developers, and over 1000 projects a year. 90% of his customers are repeat customers, and all of their projects are successful. They left CMM level 5 behind a few years ago.
This just isn't true. In fact, despite the fact that you're arguing that you're not racist, you quite clearly are.
Alas, this is a predictable response to my post. Let me attempt to justify my position for you in more detail.
First, let me clarify my views on Indian people as a whole. I have nothing personal against them, and a couple of my very close friends are Indian. For several years I've gone out with a girl who, while English, loves India so much that she's doing a PhD on a related subject, and is there as I write. Obviously many of her friends are Indian as well. Two of the most talented developers I've ever worked with are Indian, though now living in the UK, and I have nothing but respect for them and the job that they do. If you truly feel that this position makes me a racist, then so be it, but obviously I disagree.
On the other hand, I have been involved with "imported labour" in a variety of ways during my professional career. My opinion that most (not all) of the time the foreign workers do a much worse job was not pulled out of the air on a whim. It is based on having to work with these people, having to maintain code written by these people, and having to clear up the mess after these people failed to produce a useful product after considerable amounts of time invested in developing it.
As a general pattern, from my observations, there are a few good guys, and lots of mediocre->bad ones. The good guys can hold their own with the good guys over here, without a doubt. But the average standard -- the set that makes up most of the workforce -- cannot hold their own with a typical software developer in the UK. Your own example doesn't disagree with this; if you were choosing the top 0.5% of the field, you're getting the cream of the crop, not a representative sample.
I freely admit that I could have been been extraordinarily lucky in who I've worked with throughout my professional career, or extraordinarily unlucky in my encounters with developers from India and such places, and I acknowledge that the plural of "anecdote" is not "data". But all I can do is call it as I see it, and my comments were based on several years of professional experience, not a single unfortunate incident. Clearly YMMV, but I still don't see how this makes my comment "bullshit" as one poster replied, or how I've suddenly renounced my massively pro-integration philosophy and turned into a racist.
-- If you disagree, post your argument. (-1, Overrated) isn't your personal censorship tool for views you don't like.
I confess that I'm confused. You claim that I'm wrong when I say that, mostly, the "imported labour" don't do as good as job. You then cite a couple of examples of very good guys (the reason I said "mostly") and then a project with precisely the problem I described, where it wound up costing more because the foreign developers took much longer to get it done (the reason I said "aren't as good at it"). Maybe I'm just being slow today, but I don't see how your anecdote isn't a perfect example of exactly the point I was trying to make...
-- If you disagree, post your argument. (-1, Overrated) isn't your personal censorship tool for views you don't like.
Re:The problem with exporting work
by
Anonymous Coward
·
· Score: 0
Damn bitch, just cause you wrote the article doesn't mean you get to come in here, make an account, and start whining about how you don't like it. Get a clue. Your article is crap.
Re:The problem with exporting work
by
Tablizer
·
· Score: 1
90% of his customers are repeat customers, and all of their projects are successful.
Did you take their word for it, or investigate yourself? Infosys is known for their clever marketing.
The cost of living in India is far less than the cost of living in Silicon Valley. The salaries in the States are high by necessity, it isn't just greed.
Of course, what you say is true today. In a few years, though, if the international markets pick up along the lines they follow now, then someone is going to need to reevaluate their worth. I'm hardly a master economist, but it seems likely that the exchange rate will simply become much more balanced between countries sharing work this way, and the cost of living will become comparable. Workers in the US and UK will have to get used to having more competition from India with all that entails, workers in India will have to get used to the standards expected in the US and UK if they want to compete and increase their ability accordingly, and a balance will be reached where everyone gets a reasonable opportunity to be paid fairly for doing a decent job.
But we aren't there yet, and I stand by my claim that right now, you usually get what you pay for (if you're lucky).
-- If you disagree, post your argument. (-1, Overrated) isn't your personal censorship tool for views you don't like.
So I think you're wrong to say that foreign workers aren't as good.
I didn't; you selectively quoted me in a way that changed my meaning.
What I said was that most of the time, they don't do as good a job. Furthermore, I've got several years of first-hand experience working with such people and the material they produce to back me up, and I'm afraid I'm going to give that more credit that a single anecdote from your best friend about one group of developers in one company.
-- If you disagree, post your argument. (-1, Overrated) isn't your personal censorship tool for views you don't like.
Re:The problem with exporting work
by
eddy+the+lip
·
· Score: 1
There is something here I've been trying to reconcile for a while. Now, granted, everything I'm about to say is anecdotal, so it may mean nothing.
I do web development, primarly perl and PHP database kind of stuff. 90% of what I do is putting stuff into databases and getting it back out. Not complicated at all, and the kind of work that is prime for being exported abroad, especially given that I have met exactly one of our clients in person.
I do an unbelievable amount of cleanup work. Some is from obvious paper-certificate domestic developers. More is from overseas workers, prmiarly India and various African nations. There's a wide range of skill (or lack thereof) evident in both, but the overseas work is some of the most mangled, duct-taped-together, mind-bendingly screwy code I have ever seen.
I don't want to give the impression that I think overseas coders aren't as good as domestic ("oversease" and "domestic" being highly contextual, sorry), but the bad ones do seem to be that much worse than our home grown bad coders.
What I've been trying to put my finger on is why I have this impression. Is it communication barriers? Is it that it's easier for me to call up clients than someone in a 12 hour difference time-zone? Is it that here in North America we've had X number of years head start percolating in the coding culture and have just had a bit more time to learn these things on that subconcious level so much of culture takes place at?
I just want to emphasize that it's not that I think that there aren't just as many good "foreign" coders as "local", or that they are any less intelligent or hardworking. It's just that in my experience, there's a distinct different in how much work cleaning up is going to be.
Any ideas?
--
This is the voice of World Control. I bring you Peace.
Re:The problem with exporting work
by
LeftOfCentre
·
· Score: 1
There was a 60 minutes story some time ago about a famous Indian engineering school. Only a fraction of a percentage of the applicants were admitted, but that still meant several thousand people a year. The skills these students attained were extremely broad -- convering virtually all fields of engineering, including computer science and very in-depth, too. Many of the students there had arranged fall back solutions with colleges such as MIT if they failed to get admitted. I doubted before, but this episode left me convinced that a fair amount of Indian engineers are far more well-educated than the vast majority of Europeans and Americans, at least in the technology and science fields.
Re:The problem with exporting work
by
Alioth
·
· Score: 1
The harsh reality is that if you think that, you're in denial, I'm afraid.
Start reskilling know if you want to remain in an IT job. Get some business skills. Get skills in jobs that require physical onsite presence (and therefore can't be exported). Stay in denial, and Darwinism will finish you off.
Re:The problem with exporting work
by
megazoid81
·
· Score: 1
As an Indian who studies at MIT, I would like to reply to this. The famous Indian engineering school in question is the Indian Institutes of Technology (IITs). In terms of prestige, yes, they do have a much higher prestige than a lot of major US universities put together. However, my experience and that of my friends who are ex-IITians is that the system does not ingrain principles into you in a systemic fashion. As a result, you can also find a large number of unbelievably dumb people who have studied there. I don't mean to bad-mouth IITs, but by and large, the exposure to a wide range of technologies that IIT undergrads get is much less than their counterparts at MIT or other technology powerhouses. Partly, this is also a result of a slightly obsolete and slow-changing curriculum. However, the fact remains that IIT undergrads go through an extremely competitive process to get in and are equipped with a wide range of skills, which get particularly suited to the US context, when supplemented by a US graduate degree.
The part about 'MIT being a backup school' is a reference to Infosys's chairman saying that his son did not get into IIT for Computer Science and instead had to go to Cornell. That does not make MIT or Cornell strictly *worse* than the IITs, even though that is what it seems like. It's just that IITs are insanely hard to get into. Remember that you are in the world's 2nd most populous country, where 100-150 people fighting for a seat at the IITs is nothing extraordinary.
Re:The problem with exporting work
by
vsprintf
·
· Score: 1
He has 15,000 developers, and over 1000 projects a year. 90% of his customers are repeat customers, and all of their projects are successful. They left CMM level 5 behind a few years ago.
All software projects are successful when you are free to bill whatever time is required with no managers informed enough to question the numbers. CMM is archaic and useless. Even the DoD has admitted that it's nothing more than a guide for a paper trail and needs to be redone.
Re:The problem with exporting work
by
vsprintf
·
· Score: 1
There was a 60 minutes story some time ago about a famous Indian engineering school . . . I doubted before, but this episode left me convinced that a fair amount of Indian engineers are far more well-educated than the vast majority of Europeans and Americans
You can't imagine how sad that makes me feel for the future of American IT. Obviously, if Americans find their truth in weekly communion with 60 Minutes , we are doomed. The school in question was IIT, and the story by Leslie Stahl gushed over one student named Murthy who was passed over by IIT but gained admittance to Cornell. What Stahl failed to mention was that Murthy's father held a prominent position at Cornell and is a significant donor.
Even by Asian standards, IIT's curriculum is not highly regarded. By American standards, it's considered dated, with little hands-on experience. If Americans can't look any farther than a TV for truth, perhaps we deserve to be supplanted in information-related jobs.
Re:The problem with exporting work
by
pyrrho
·
· Score: 1
You can stand by your claims, but you've provided no evidence with regard to the average capacity for Indians to write software. Your anecdotal experience wouldn't be sufficient, and referring to moving call centers to foreign nations is hardly an equal comparison, on top of the fact that it is still largely without evidence.
You'll need to get used to the fact that only xenophobic people are going to take your argument without actual proof. Case studies, testimonials, education information with regard to the segment importing foreign software contracts, etc.
If you don't supply this, then you have no argument, just hand-waiving. I don't care what you _feel_ exported labor gets paid, or _feel_ they produce, I want citations and evidence.
-- You have exactly 314 seconds to come up with a less retarded plot.
You have nothing but anecdote to back your claims. Both of your positions are equally worthless. You simply think that your anecdote is more significant, when it's not.
-- You have exactly 314 seconds to come up with a less retarded plot.
Re:The problem with exporting work
by
Anonymous Coward
·
· Score: 0
The whole support outsourcing schtick is a huge money sink. Customers universally agree: support these days sucks. The reason is that it's all mostly outsourced. There's no way a guy in some call center in a random location on the globe will be able to solve your problem, unless it's on his script. All that's gonna happen is that he'll have to log a trouble ticket, and a real employee will have to look at it anyways. Sure it screens out some really trivial support calls, but by and large it anoys the customer who will be have to be called for all the details on the problem they are having, having to explain it all AGAIN. The way to cut support costs is not to outsource to India, it's to start doing what many companies are realizing they must do: first call resolution. Give your support people the knowledge and tools they need to troubleshoot and resolve problems while the customer is right there on the phone, on the first call. You just can't do that with an outsourced call center.
Re:The problem with exporting work
by
Anonymous Coward
·
· Score: 0
I think is will take more than a few years to equalize global markets, buddy.
Re:The problem with exporting work
by
Anonymous Coward
·
· Score: 0
You also have the fact that there are millions trying to get into IIT, just because the tech field is regarded fairly highly in India, and you can make (relatively) large amounts of money working it. Out oif the legions applying, only a couple thousand will ever get in. It doesn't mean IIT is a good school.
Re:The problem with exporting work
by
solferino
·
· Score: 1
two words:
dream on
Re:The problem with exporting work
by
Bryan-Dollery
·
· Score: 1
Err, yes, actually, it does. Glad you liked the article;-)
Re:The problem with exporting work
by
Bryan-Dollery
·
· Score: 1
Infosys is known for their clever marketing
Where did you hear that? Did you take their word for it, or investigate yourself?
BD
Re:The problem with exporting work
by
Anonymous Coward
·
· Score: 0
Tablizer is known for his his kooky ideas.
Re:The problem with exporting work
by
LeftOfCentre
·
· Score: 1
You can't imagine how sad that makes me feel for the future of American IT. Obviously, if Americans find their truth in weekly communion with 60 Minutes , we are doomed.
Why the heck did you assume I was American for some reason? I'm not. In any case, I found the story very interesting. I'm not claiming my impression from the story is founded in science, but it's silly to disregard all TV programs as many have at least a minor grain of truth them, and frequently a lot more. As for this particular student's father holding a position at Cornell, why do you feel that is relevant?
You'll need to get used to the fact that only xenophobic people are going to take your argument without actual proof. Case studies, testimonials, education information with regard to the segment importing foreign software contracts, etc.
I don't expect people to radically adjust their views to my thinking based on a few personal anecdotes. I posted my thoughts purely to stimulate discussion (as clearly they have). Also, since I was responding to a post with which my personal experience differs markedly, I adopted something of a "devil's advocate" tone. It's a shame that apparently only half the people responding had enough of a clue to understand that.:-/
However, for now, there is precious little good evidence one way or another. There seems to be a mounting volume of case studies where things haven't worked (don't take my word for it, spend half an hour starting with Google and form your own opinion) but in the meantime, I find it interesting to compare my own experiences with those of others, which is why I'm here. I suggest that if you are allergic to anecdotal evidence and want nothing but scientific studies, you stay away from threads like this and come back in five or ten years when enough such studies exist.:-)
-- If you disagree, post your argument. (-1, Overrated) isn't your personal censorship tool for views you don't like.
Re:The problem with exporting work
by
vsprintf
·
· Score: 1
As for this particular student's father holding a position at Cornell, why do you feel that is relevant?
Duh. The Indian kid's father is a donor to the school and also sits on committee. You think they are going to refuse to admit his kid? And accepting the premise of the whole program because it might contain a "minor grain of truth" is just plain stupid.
Re:The problem with exporting work
by
LeftOfCentre
·
· Score: 1
My point isn't that he was admitted. My point was that he selected ITT (or whatever the name was) in place of supposedly prestigous MIT as his first choice. As for the "premise of the whole program", I'm not disputing that there may be another perspective. But you have yet to provide one.
Re:The problem with exporting work
by
LeftOfCentre
·
· Score: 1
Thanks for the info, interesting.
Re:The problem with exporting work
by
crazyphilman
·
· Score: 1
Every time one of us points out something like what you've mentioned here, people come out of the woodwork to denounce that person as "racist", or "xenophobic" or some other such crapola. I don't know if that's true; you're just talking about what you've seen. If we don't discuss anecdotal evidence, how are we going to learn anything about the current state of affairs?
Since you're interested in our actual experiences with foreign labor, let me weigh in with some things I've noticed over the years (these are generalizations based on people I've known, and YMMV):
Japanese people are smart as hell and really easy to work and get along with. I met one guy whose hair was three feet long, who wore it in an antique samurai-like style, chop sticks through the hair and everything. He was so smart it was scary, like some kind of weird zen coding machine. Interesting guy, with good taste in music.
Chinese people from the mainland and Taiwan for whatever reason seem to go to grad school first; most I've met had Masters degrees and were great to work with. Very open minded, too, easy to have a technical discussion with.
Guys I've met from Mexico and South America seem to be pretty sharp. They're more formal about software engineering than some of the other people I've worked with. One very nice guy from South America (I think Peru? But I don't remember) was absolutely into unit testing, and he was great to work with.
Russians generally don't seem to do the H1-B thing; they generally move here permanantly. They're pretty smart and seem to be real no-bullshit kinds of people, which I like. Most seem to not be CS grads, but rather from a physics or engineering background; a couple I've met were actually ex-hackers, but that can't be the norm (?). Note: I did meet one Russian who was totally insane and with whom I ended up basically waging a psychological war, but he was a real weirdo -- an anomaly. Most have been really cool.
I've had mixed experiences with Indians. A few have been brilliant, and very easy to get along with, but many others have been really poor programmers, and (much worse) some have been mean and arrogant, even to the point of making obnoxious jokes in their native tongue about Americans while standing *right in front of us*, and laughing at us. Very unkind, and amazing to me that anyone would behave that way as an adult! Very hurtful also. No other group has ever acted like this (except the one psycho russian I mentioned).
Overall, out of all the groups of foreign people I've worked with, I've had bad experiences only with Indians (and one Russian) so far. I don't know if that means anything, but FWIW, that's what I've encountered.
It's interesting that you've had such different experiences with people from different places. I've worked with the Japanese before -- from a distance (e-mail, phone, paperwork) they seemed to be very formal and professional, but the guy who used to come over and work with us on-site now and then always turned up in jeans and seemed pretty laid back, which surprised me the first time after all the formality. Did a good job, though, so no complaints.
-- If you disagree, post your argument. (-1, Overrated) isn't your personal censorship tool for views you don't like.
Re:The problem with exporting work
by
crazyphilman
·
· Score: 1
The guy I mentioned was pretty informal too; he went to school in California, I think -- might have been Berkeley. Dressed very stylishly, liked house and trance music, etc -- kind of a club kid. Cool guy, very laid back. Scary smart though...
-- Farewell! It's been a fine buncha years!
Re:The problem with exporting work
by
vsprintf
·
· Score: 1
My point isn't that he was admitted. My point was that he selected ITT (or whatever the name was) in place of supposedly prestigous MIT as his first choice. As for the "premise of the whole program", I'm not disputing that there may be another perspective. But you have yet to provide one.
*Sigh*. He didn't select MIT as his second choice. He applied to both IIT and Cornell. Which one was his first choice, I don't know nor care. When I was an 18-year-old American, I certainly wouldn't have made an Indian school my first choice - it's reasonable to want to be at home. It was Stahl who claimed they were using American schools merely as "backups". IIT turned him down. If his father hadn't been a bigwig at Cornell, they likely would have turned him down too.
The segment you're talking about was done at the suggestion of an Indian doctor during a campaign by Indian outsourcing companies to do some Indian "branding" in the US, i.e., to talk up the quality of their workforce. 60 Minutes has been roundly criticized for the segment, but in their usual fashion have refused to address their yellow-sheet shortcomings. I'm wondering why a non-American would be so willing to accept their claims when Americans consider 60 Minutes to be entertainment rather than journalism. If 60 Minutes said American engineers were far superior to all others, would you swallow that too? I wouldn't. I figure there's not much difference based on nationality.
My experiences of programmers
by
Anonymous Coward
·
· Score: 3, Interesting
After 8 years of software testing and QA, here are my experiences of programmers. No it's not flame bait - but mark it down as you wish
1. They do not know the meaning of deadlines! How many times, I've been working late because some dim wit of a developer didn't see the importance of actualy meting the deadline he proposed himself. Working late evenings, working weekends because the programmer didn't see why he should put the extra time in to catch up. Sounds familiar?
2. They do not know the meaning of quality. How many times have I sat there with a program or package from development that simply will not work / start-up / compile. All this despite development's assurances that they do actualy unit test. I once had to test a program that did nothing, ie it was called from another program, but all it should do is close itself down - it was a stub. How difficult is that to program and how difficult is that for the programmer to test themselves? It took SEVEN attempts to get it right!
3. Keep it simple stupid! How many times have I had to sit there wondering if I was looking at the correct Buisness Requirements and Functional Spec. Final designes seem to be as complcated as posible rather than simple. Functionality slippage is common - lets put this bit in as well.
4. Yes, but programmers are artists. Bollocks! If you look at almost any system, you will see that the basic number of functions is very limited. Given any average office system, you could probably find public domain code to do 90% of what you need. Yes it will need changing and tweaking, but this idea that you sit there creating is simply rubbish. Perhaps if you stopped creating and started engineering things would be better.
5. The Prima Donna syndrome. Programming used to be a black art. Well it isn't any more. However, some developers seem to think they should still be treated differently as this article demonstrates. If any other professional argued that they needed a kip durring the day, they would probably be booted out. You want a kip, have it at lunch time! Not having a much time at lunch - welcome to the real world.
I know this is going to be marked down as flame bate, but it has to be said it is about time that programmers came back into the real world. With comments like If a programmer's flow is interrupted it can take a large amount of time for her to regain the state, sometimes up to an hour. do you realy wonder why people question programmers professionalism? Everyone else has to work hard for a living, and creativity comes into most jobs, but most just get on with it.
Re:My experiences of programmers
by
Garg
·
· Score: 3, Insightful
1. Every place I've ever been, the programmers work more hours than anybody, with the possible exception of harried middle-managers. They certainly are there more than the QA people. Deadlines are only ignored if they are arbitrary or unreasonable.
2. This is either because of unreasonable deadlines, or you work at Microsoft. Maybe both.
3. Keeping it simple is good, unless you sacrifice quality, or scalability. Maybe the programmer knows something you don't?
4. If you're adding fields to a payroll program, you don't need to be creative. If you're designing a system unlike anything else in your organization, you do.
5. Anything can be abused, and will be.
In short, you could've learned something from this article, but you chose to use it to fuel your own personal vendetta instead. Hopefully you never go into management, unless it's for one of our competitors.
Garg
-- Garg
Alumnus, Xavier's School for Gifted Youngsters
Re:My experiences of programmers
by
jellomizer
·
· Score: 1
1.Working late evenings, working weekends because the programmer didn't see why he should put the extra time in to catch up.
I find that a lot of developers do put in a lot of extra time. The problem with deadlines espectally when they make them is that when they figure out how long it will take to do the task they often make the mistake of estimating time when they are in the Groove.
2. They do not know the meaning of quality. Every one want to produce quality products but when they are under a deadline the sometime dont have the time to check for all situations (this is the job for the software testing and QA department) As well as not having code compile it is often a situation where their systems are full of extra libraries, which allows software to compile on our systems and not on others.
3. Keep it simple stupid! Nothing is more rewarding to come up with a simple solution to a problem. But management often wont allow us to do it that way. I have seen specs from people who dont know what their talking about so we have to develop with tools that are not nessary right for the job. Thus we need to make more complicated applications because they wanted us to use.NET except for Python because.NET was the buzz word they wanted to do. because we are using the wrong tool the work arounds usually consist on making some changes to the interface to make it work.
4. Bollocks! Well that is like saying a musican isnt an artest because they take elements from other pieces of music. (This was done by almost every musician inluding Mozart who based a lot of his music from Hayden). Using public domain code dosent hinder the artistic side it just gives us tools to cut down on some of the grudge work.
5. Programming used to be a black art. No one I know who is a developer thinks that way about their craft. It is more of a problem that lamen people want to see us like that. And we have learned to just takes the praise then try to convince them otherwise. It is not really a situation were we wanted to be treated differently but they should be treated in a way that helps them do their jobs. When programming a person needs a lot of concetration using both sides of the brain, for men theis mean we need more concetration then most other jobs. Desterbing us when we are in the Groove is like turning on the lights when some one is developing film. It takes a while to get caught up.
-- If something is so important that you feel the need to post it on the internet... It probably isn't that important.
Re:My experiences of programmers
by
dapcook
·
· Score: 0
You really have to look at what the programmers have to put up with. Management expecting solutions yesterday, people asking stupid questions. etc.. When you are rushed there is not quality, period. just as your "non-technical" position of Q&A. If you are rushed in your job, then you allow major flaws to pass through into implementation./we programmers give deadlines because somebody expects and answer when reality is there is no answer.
Manager: how long will it take to code this?
Programmer : 1 week (what they are really saying is "Shut up, end this meeting, let's get to work)
As for Prima Donnay syndrome.. We are doing something YOU can't that's why you are in Q&A so your family is impress'd your in the IT Field. Fact is your as stooopid as the manager that i work for that needs help turning their PC on in the morning.
Re:My experiences of programmers
by
Anonymous Coward
·
· Score: 0
Translation: I wanted to be a programmer, but wasn't any good at it, so I've been slaving away for 8 years doing crap work. My dissapointment has turned to hatred and obsession about the thing which I could not be. Programmers are slopy and hav no concetp of quallity. Programmers are lazy incompetent bastards. They must die. All of them.
Re:My experiences of programmers
by
Anonymous Coward
·
· Score: 0
1. They do not know the meaning of deadlines! How many times, I've been working late because some dim wit of a developer didn't see the importance of actualy meting the deadline he proposed himself.
There is no easy way of accurately estimating how long a programming project is going to take. Ask a writer how long it will take him to write the next chapter of his book, an artist how long it will take him to paint something, or a songwriter how long it will take him to pen a number one.
2. They do not know the meaning of quality.
IME, every time that happens, it's because some manager has decided on a completely unreasonable timeframe, and the programmers haven't been able to change his mind. Believe me, the programmers hate it as much as you do. You think we like to produce shoddy goods?
Final designes seem to be as complcated as posible rather than simple.
Yes, that's usually because the problem to be solved is complicated. High-quality specs are a reduction in costs and risks, otherwise you end up building the wrong thing.
Functionality slippage is common - lets put this bit in as well.
This goes back to unrealistic deadlines.
4. Yes, but programmers are artists. Bollocks! If you look at almost any system, you will see that the basic number of functions is very limited. Given any average office system, you could probably find public domain code to do 90% of what you need. Yes it will need changing and tweaking, but this idea that you sit there creating is simply rubbish.
Number of functions is meaningless. I used to have a manager who expected me to create massive amounts of code in the space of five minutes. He literally said to me "surely it's just a case of writing the code down, isn't it?" a few times. You sound a lot like him. "Surely it's just a case of getting some code from somewhere, and altering it to do what you want?"
Perhaps if you stopped creating and started engineering things would be better.
Engineering is a form of creating. Ever heard the phrase "software engineering"?
5. The Prima Donna syndrome. Programming used to be a black art. Well it isn't any more. However, some developers seem to think they should still be treated differently as this article demonstrates.
No, this is not prima donna behaviour. This is saying "hey, programming is significantly different to a lot of other types of office work, so how about optimising your procedures for it?"
If any other professional argued that they needed a kip durring the day, they would probably be booted out.
I have to say that sleeping sounds a little strange, but there have been plenty of times I have been literally too ill/knackered to work, but gone in anyway and been entirely unproductive, merely because the boss thinks sitting at a computer and "trying my best" will get lots of work done.
Not having a much time at lunch - welcome to the real world.
Ahh, the Real World argument. Ironically, it's you who needs a dose of this. Programming has some unusual constraints that aren't immediately obvious to non-programmers. This is the Real World, and managers who don't take advantage of this aren't going to do very well.
With comments like If a programmer's flow is interrupted it can take a large amount of time for her to regain the state, sometimes up to an hour. do you realy wonder why people question programmers professionalism?
Yes. The usual figure is 15 minutes to get into the zone, there have been a few extensive studies done on this topic.
veryone else has to work hard for a living, and creativity comes into most jobs, but most just get on with it.
Now this is why you are an idiot. You are ignoring the article and the comments here. It isn't a case of "I've been interrupted, so I can just goof around and start work again in an hour
Re:My experiences of programmers
by
Anonymous Coward
·
· Score: 1, Informative
Sorry, I only have a bit over 3 years as a professional programmer; perhaps when I get more, I'll see things differently, but for now, here's what I've seen of my industry..
1) Actually, I've found that the programmers are often the only people here doing insane hours. QA will sometimes be around for part of it, but I and my fellow programmers do weeks, if not months, of 18-hour days trying to meet deadlines. Yes, we propose our deadlines (though within reason - often deadlines are handed down from management). On the other hand, the target is moving! I say I'll do X, Y, and Z for March 5th. Then, on Feb 26th, I'm told that A, B, C, D, E, and F are also due for that same deadline. Oh, and rework X and Z while I'm at it - they've been done since Feb 1st, but no one mentioned that they now want them to work differently.
2) I don't know what part of the industry you're with. If I put something in SourceSafe that doesn't compile, the Programmers are the first to jump all over me for checking in bad code.
3) We DO try to work in slippage - I know that my current Programming Lead marks up everyone's time estimates by 1.5x to 2x, depending on the programmer. But that doesn't always help - see my issue about the moving target from (1).
4) Oh? Again, I wonder what part of the industry you work with - one of our major ideas here is "don't reinvent the wheel". You think we want to re-code something that is already available? That's just extra strain on our wrists - it's always much better to use a pre-made solution, finishing your task ahead of time and under schedule, looking like a hero.
5) You're right - I don't know of any programmer that requests a 15-minute nap at 2pm. Perhaps this author's examples of showers in offices and naps in the afternoon are bad ones. But hell - if you think programmers have it so good, and get whatever little whims they have granted, why don't you program? See it from the other side. I'll tell you this - if you try to work QA hours as a programmer, I have a feeling that you'll quickly be asked by management to start working as a member of the team, or start looking for a new job.
I agree, you can bring creativity to most any job. But that isn't the point of statements about how long it takes programmers to get back into the "zone", or how bad it is if a programmer's "flow" is broken. As a typist, anyone can only convert thoughts to text so quickly. You can always think much faster, and you can think of the overall scheme much faster still. So if I have my Big Idea, of which I'm currently coding line 47, and someone comes up and asks me to help them debug an art issue, what happens? I didn't get a chance to write my Big Idea down, so I'll lose it. Yes, I can come up with it again, and the code that I had written down so far does help, but still - that's exactly the ramp-up time that this author is talking about. Yes, you can make the same argument about artists, and you know what? We try very hard not to interrupt them as they work. They seem to feel that they can interrupt programmers at any time, however, along with most anyone else at the company.
Why is it that if someone writes up "programmers need quiet time", someone will write back "programmers are unprofessional"? I didn't ask this author to write that I need a shower in my office. I do appreciate that the company has showers in the building, though, since every time we have a deadline, I find that I'm generally stuck here so long that I might as well spend the night - along with several other programmers.
Now, I'll get back to work (yes, on a Saturday, just a few hours after I left here yesterday) because I have a deadline coming up, which just had its requirements changed..
Re:My experiences of programmers
by
LibertineR
·
· Score: 1
Exactly Right.
Have you ever heard of someone straining through a CS degree because of an overwhelming desire to become a TESTER?
If you cant do, you Teach.
If you cant code, you TEST
Because you TSUCK!
Re:My experiences of programmers
by
axxackall
·
· Score: 3, Insightful
1. Working extra hours doesn't help programmers to understand the deadline. The irony is that none, besides the programmer, can tell that precisely how much it will take. Other people give even more arbitrary answers. And the extimation by the programmer oneself never includes post-coding cycles (like bug-fixing), which is unavoidable, and thus it must be corrected by the project manager.
2. I wuould say, this is b/c of poor quality of requirements and other specs - the concept of quality and scalability of the product should never be created by the programmer, instead it should be very explicitely clarified begining from requirement gathering (marketing), then analyzed (product managemers and architecturs), then specified (software architector), including all possible unit and otther tests. The programmer should just continue processing of requirements for quality of the product to the quality itself (before QA, sales and support will finish it). If this chain is broken or missed then the product is not supposed to make any money. Only Microsoft can let the product be designed without requiretns for quality (they compensate it politically). others will go out of business.
3. Keeping specs being simple doesn't sacrifice (including scalability) the quality of the product by itself. But the way how such requirements for quality are expressed (gathered, analyzed, designed and specified) must be as simple as possible (but not simpler - see Albert Einstein). It is true that often a good UML diagram explains better than the text of the same paper size. But if the case is not typical (not from UML/RUP books) then it's more likely you'll spend more words to explain your non-typical diagram (what does it display and why it is important for this project) than you'll do it without a diagram just on plain English from the first place.
4. If you are adding a summary filed from another subgroup (perhaps from bellow) to a regular record line in the report (for some sort of comparison) - then you have to redesign the architecture of your report by either making it two-cycle calculated, or using some temporary table (bad DB idea). So, you are creative at that time. But I prefer to thing about it as about engineering creativity. BTW, trying to reuse any code (as a source code!) from virtually any open source project has more art than writing a poetry and if you disagree than perhaps you've never tried it by yourself.
5. I've never seen in my life sleeping programmer aside from extreme situations of several shift straight forward. What programmer are typically want is arbitrary time to come and to leave the office. Same as many other people do. Some companies refuse it and play the game "we are in army", anothers let it go but more intensively rotate (fire and hire) persons with low evaluation points.
--
Less is more !
Re:My experiences of programmers
by
Anonymous Coward
·
· Score: 0
1. They do not know the meaning of deadlines! How many times, I've been working late because some dim wit of a developer didn't see the importance of actualy meting the deadline he proposed himself. Working late evenings, working weekends because the programmer didn't see why he should put the extra time in to catch up. Sounds familiar?
The problem here is not developer missing their deadlines, but incompetant managment a) forcing unreachable deadlines on the developers and b) management not providing enough slack in the schedule for engineering slippage so QA isn't SOL on the weekend.
I feel for you dude. I'm a release engineer working on the weekend. But that's OK, it's not like I have a real life or anything.;)
Re:My experiences of programmers
by
Anonymous Coward
·
· Score: 0
2. They do not know the meaning of quality. How many times have I sat there with a program or package from development that simply will not work / start-up / compile. All this despite development's assurances that they do actualy unit test. I once had to test a program that did nothing, ie it was called from another program, but all it should do is close itself down - it was a stub. How difficult is that to program and how difficult is that for the programmer to test themselves? It took SEVEN attempts to get it right!
Actually it's not the unit test that's at fault here, its the integration test. But no amount of testing will save you when the programmer can't get a stub right.
Re:My experiences of programmers
by
charlieo88
·
· Score: 1
Having done both QA and programming I happen to know that programming is intrinsically more difficult and does require more focus and contiguous attention than QA.
Quality varies from programmer to programmer. Sounds like you are working with some pretty unskilled ones.
Shoulda used preview :-)
by
sql*kitten
·
· Score: 1
That last bit should be:
you should isolate the programmer in his or her own room.
why not give each programmer a budget with which they can buy their own chair and desk?
This is just more "programmers are special and should get special privileges". Programmers are no different from any other skilled craftsmen or any other office workers.
I don't give a fig if this costs you more money; the potential benefits are huge. If you continue to view the world as a risk/value proposition then you'll continue to produce mediocre results.
Any sane business manager weighs up risks and rewards. The suggestions in this article aren't about productivity, they're about luxury. Work is work - many people forgot that in the 90's when an office was more like a kindergarten, and look where that got us - many of those people are unemployed now. It's time to grow up and start behaving like all the professionals in the world.
Re:Shoulda used preview :-)
by
sjames
·
· Score: 1
The dot-com thing was excesses in every direction, including going beyond sensible policy for programmers. There is a middle ground between standard issue cube and office wonderland/playground. I don't think anyone is seriously suggesting $1000 chairs and personal trainers here.
While there were plenty of 'programmers' involved who should have had their keyboards taken away, the biggest problem in the dot-bomb was that most of those companies had no clue how they were going to make any money. For the most part, the software worked (in record time) and the business plan failed.
On Saturday the Building is MINE!
by
grahamkg
·
· Score: 2, Informative
It's my building and it is empty. YAY! I have virtually no distractions. I can design, program, analyze without interruptions from meetings or phone calls. It's the best workday of the week.
(/. isn't a distraction, btw. It is part of the spin-up process for me.;-))
The su (spouse unit/super user) and I changed our schedules when our kid was born. The su works part time and I work full time, including Saturdays for 10 hours. Only 23 of my work hours are during "normal business hours". I've done it for over 4 years, and in that time I've done so well that I've been promoted. Today I'm a principle investigator on a research project.
The bottom line is that companies can realize considerable gains by accommodating creative people.
-- Graham
Linux - Fast Pane Relief
Re:On Saturday the Building is MINE!
by
CoolVibe
·
· Score: 2, Funny
Hey, maybe we should give any programmer his/her own building:)
Just look at the guy's photo - it's obvious what he really wants to do is sell you out to the Agents so he can be reinserted into the Matrix.
--
In Soviet Rush, today's Tom Sawyer gets high on you.
A specific case of a general problem
by
lateralus
·
· Score: 1
I think that you could easily replace every occurrence of the word "programmer" in the article with the job title of almost anyone who works in a non-preparadigimatic field. Spending money on the individualities of your workers may be applicable in certain situations and outright wrong in others. The army is a good example of an environment where individuals dress, act and perform in a bland, stringent and uniform manner and yet are highly productive (in their specified field).
-- If you outlaw the law, only criminals will have laws
Re:A specific case of a general problem
by
RidRash
·
· Score: 1
>The army is a good example of an environment where individuals dress, act and perform in a bland, stringent and uniform manner and yet are highly productive (in their specified field).
Or highly destructive, depending on how you look at it.
I felt like I just visited a shrink
by
wordisms
·
· Score: 5, Interesting
I've got to say that article was quite the ego booster.
First, programming is most definitely an art as it is a blending of layout, design, creativity, and tasteful hacking to derive a solution.
The section about programmer's concentration was interesting, and I definitely fall into that category. It is nothing for me to sit down to go through the process of designing, coding, debugging, and repeat for 8 hours, without realize it at all. It only speaks of my passion for my work, and my enjoyment in solving challenging problems.
Poster here who have noted about treating programmers more like people than equipment hit the nail right on the head. In my school, our proffessors warn us to avoid jobs that look as though the employers treat programmers as "code monkeys" (if you sat enough monkeys at computers typing C, how long would it take until you get MS Office?). At some of my best internships, and the job I have gone back full-time to, my section leader encourages his team to take regular breaks (which often involve heading back to an ongoing game of RISK), schedules frequent offsites/classes/excursions to get us out of the cubicles, and overall creates one of the healthiest work environments I've ever been in.
All that said, I shouldn't be to programmer biased. Not all programmers are great programmers who have mastered that mystical "flow". I could see a manager reading this article, trying all these things, and getting really burnt.
It's all a game of balance that definitely begins with treating employees like people, not equipment.
Re:I felt like I just visited a shrink
by
jkczyz
·
· Score: 2, Interesting
Designing software is an art. Programming is not an art, it is a craft. The people that design software get paid much more than the company's programmers do. Programming is entry level for a reason. With a good design the actual time spent programming accounts for only a small amount of the total time a project takes to be completed.
Lockheed, for instance, does not hire people to program anymore. They contract out, but handle the project design themselves. They are also a CMM Level V company (at least one of their division is). Of course, with most companies being at Level I, the whole concecpt of design often gets thrown out the window.
Re:I felt like I just visited a shrink
by
dracocat
·
· Score: 1
...8 hours.
Please tell me where you work.
Re:I felt like I just visited a shrink
by
renehollan
·
· Score: 4, Interesting
Designing software is an art. Programming is not an art, it is a craft.
Oh, I take exception with this!
You can't program anything of significance if you can't design, and you can't design if you don't understand how the design is to be programmed. Put more bluntly: pseudo code ain't gonna compile.
Now, it is fair that some of us spend the bulk of our time designing sytems, and others implementing them, stressing the creative or crafty aspects of our skills. But woe unto the programmer who is not aware of the intended (i.e. designed) interaction of components: such a person debug, can't (oops, forgot the </yoda>).
I've been coding for over 20 years. Under my belt I have significant design contributions to:
1. Dataradio synchronous full duplex repeaters and mobile radio modems (mid 80's Z80 code);
2. Nortel's ADAS+ employing speech recognition in the telephone network for directory assistance (T1 A/B bit signalling and parallelization of Viterbi decoding over multiple TMS320 DSPs under pSOS, with a smattering of assembler, and clever allocation of data to memory with various access latencies as appropriate);
3. Teradyne's RMU75x telco loop diagnostic units (TCP/IP and steams-like protocol stacks under MQS on TMS320C30.
4. Chiaro's Optical Router project (automated, distributed test tools, with C++ on FreeBSD, and custom marshelling schemes; as well as porting Gigabit Ethernet device Drivers (C on FreeBSD).
While hapily mentoring less-skilled developers (I actually like the title "Software Engineer" since it reflects the combination of creative design, tempered with proved implementation methods) and even distributing development work, I refuse to ever accept promotion into a primarily management, or even "design" role: creative design often needs to leverage advanced programming techniques -- ever notice how the complex parts of programming languages, like templates, overloading, partial template specialization, and template template parameters, to use C++ as an example language are there to support design patterns and principles?). I have been, and always will be, a programmer: even when designing Emacs is my canvas, and I expect C-x C-c to be engraved on my tombstone.
Those who see programming as only an entry-level path to eventual design and perhaps management roles are taking an extremely narrow view. Career progression should more closely follow at of carpenter: apprentice, journyman, master. A master carpenter remains a carpenter, nevertheless. Even if he takes on architectural roles, they will be enhanced by his knowlege of the craft of carpentry.
Re:I felt like I just visited a shrink
by
vsprintf
·
· Score: 1
Designing software is an art. Programming is not an art, it is a craft. The people that design software get paid much more than the company's programmers do.
That depends on the company. Some hire Programmer Analysts instead of Programmers and Analysts. My personal feeling is that you get a better product using Programmer Analysts who do both the design and code. That way the coder understands the design up front and can realize (and modify the design) when the design has flaws.
I have worked for both types of companies, and the ones that separate the duties are a pain. It usually results in more time to completion and a lot of arguments and finger pointing.
Re:I felt like I just visited a shrink
by
An+Onerous+Coward
·
· Score: 2, Funny
if you sat enough monkeys at computers typing C, how long would it take until you get MS Office?
I think that's a really biased experiment. The monkeys in question should at least be given access to a full keyboard.
--
You want the truthiness? You can't handle the truthiness!
Re:I felt like I just visited a shrink
by
Anonymous Coward
·
· Score: 0
(if you sat enough monkeys at computers typing C, how long would it take until you get MS Office?).
Coupla hours. Tops.
Re:I felt like I just visited a shrink
by
Raiford
·
· Score: 1
This should not really come as any surprise to most programmers. especially those that are involved in design. Any engineer will tell you that engineering is a creative process. It is an act of creation that produces the functional and should be appreciated as such.
-- "player 4 hit player 1 with 0 stroms"
Re:I felt like I just visited a shrink
by
Doomdark
·
· Score: 1
Designing software is an art. Programming is not an art, it is a craft.
Oh, I take exception with this!
Yup, me too. There is no such thing as programming without design; and the opposite is meaningless (ie. design without implementation is possible, but useless)
But more to the point; I don't really consider combination of design and implementation to be arts, as much as craft(manship). And that's not derogatory, or bad; I don't consider great masters that make violins artists, nor samurai sword makers. I consider them highly skilled craftsmen.
Above is not to say there isn't anything artistic in the process, nor that end result can not (or should not) be aesthetically pleasing. Far from it. But whereas art does not even try to create anything of practical value (but of aesthetic pleasure), these crafts do.
--
I like paying taxes. With them I buy civilization -- Oliver Wendell Holmes
Re:I felt like I just visited a shrink
by
renehollan
·
· Score: 1
I see where you are coming from, but there is art as you appear to define it, in code: the elegant and logical structuring of code often adds nothing to its functionality, and whether it adds to maintainability is, well, in the eye of the maintainer.
This often requires effort on the part of the programmer, already constrained by program requirements, and can very much be a labour of love.
I think you overgeneralise. Some development tasks (writing dumb database front-ends, principally) require little creative input. However, much of the back-end stuff requires creativity. Writing a good UI requires creativity. Even designing good database schemas requires creativity.
It's true that a significant fraction of "software development" today just involves using VB, Java and/or web scripting to put together McDatabase code, and that's probably fairly easily automated. But there's a whole world, a much larger world, of programming beyond that, where skill and creativity are still far more important than ability to read a cookbook.
-- If you disagree, post your argument. (-1, Overrated) isn't your personal censorship tool for views you don't like.
Re:No need for creativity?!
by
Bugmaster
·
· Score: 1
However, much of the back-end stuff requires creativity. Writing a good UI requires creativity. Even designing good database schemas requires creativity.
Perhaps you are right -- after all, merely installing Oracle requires ingenuity and creativity. I am not sure what you mean by "back-end" though -- can you give an example ?
I agree that, in principle, a DB schema could require creativity; however, in practice, most of them are already created by automated tools nowadays -- at least in the RDBMS-backed Web site setting.
I am not sure what you mean by "back-end" though -- can you give an example ?
I meant "back-end" programming, as opposed to boilerplate UI or database access code. That covers everything from a smart spell-checking algorithm in a word processor through state of the art mathematical algorithms in a scientific calculation app to hardware control logic in instrument control and embedded software, and much more besides. In other words, it includes most of the programming industry outside of writing database front-ends using standard UI tools.
I mentioned the other things because not all UI programming is boilerplate drawing of text and check boxes, and not all database schemas are routine and obvious. I suspect the back-end stuff makes up a much larger part of the creative programming world, though.
-- If you disagree, post your argument. (-1, Overrated) isn't your personal censorship tool for views you don't like.
Re:No need for creativity?!
by
Bugmaster
·
· Score: 1
That covers everything from a smart spell-checking algorithm in a word processor through state of the art mathematical algorithms in a scientific calculation app to hardware control logic in instrument control and embedded software, and much more besides.
I would argue that spellchecking has been implemented many times already; most toolkits have a pre-made function that does it. And programs like Mathematica have reduced the need for people to program their own fast fourier transforms and such -- though, a person who uses Mathematica would probably be a researcher, anyway, not a regular developer. You are right about the embedded stuff (and I said as much in my original post); however, I think this will become less and less true as time passes, and embedded controllers become bigger and bigger.
I see your point about Mathematica, but (and this is my field of expertise) there is still a lot of mathematical software developed. Packages like Mathematica and Matlab are constantly being extended, of course, and then there are numerous other mathematical libraries, each with their own little niche, behind much of the scientific and technical software you see today. Obviously the users of such software may be researchers rather than programmers, but someone still has to program all of it first. (And actually, many of the users of these things are programmers. They're just using what is effectively a higher level language to write their code, and who'd blame them?)
I disagree with your position on the future of the embedded market. For as long as people are inventing new hardware to do new things, there will be a need for new software to drive it, whether embedded in the hardware itself, or via some sort of serial link to a PC or similar kit. And for as long as there is a need for that, there will be a need for people to produce new algorithms to use the hardware correctly and efficiently. That necessarily requires creativity, QED.:-)
-- If you disagree, post your argument. (-1, Overrated) isn't your personal censorship tool for views you don't like.
Re:No need for creativity?!
by
Bugmaster
·
· Score: 1
Obviously the users of such software may be researchers rather than programmers, but someone still has to program all of it first.
You are right, of course -- as long as there's math, we will need someone to program it. But I am not sure if Mathematica programmers count as developers or mathematicians... probably both. These guys are really a special case -- and, I suspect, a highly paid special case:-)
For as long as people are inventing new hardware to do new things, there will be a need for new software to drive it...
That is true, but nowadays, the solution to most problems is to throw more hardware at them. As the result, you get things like Windows CE, which requires a 486 processor to run. I expect that eventually, most microcontrollers will be scaled up to the point where standard RAD tools can be used on them. Actually, this has already happened for PDAs and those Java-enabled cellphones, among other things.
-- >|<*:=
Re:...his?
by
Anonymous Coward
·
· Score: 0
Why do people insist on using 'his' instead of 'her' for the generic pronoun? It isn't 'sensitive', it's illiterate. Using male pronouns is even somewhat insensitive: it implies men need to be compensated for, and gratuitously inserts a gender issue into one's writing.
Wow! How profound and *insightful*!
by
cryofan2
·
· Score: 1
But does he understand software
by
Anonymous Coward
·
· Score: 0
He is right about the creative process, but he doesn't give all the data. Creativity can be enhanced using discipline. If you are painting (among others), then the creative process allowing your mind to wander in any direction can be useful. When developing software, restrictions involving design are useful. Yes, the shower may be useful.
I wonder why this article was picked up by slashdot readers. There are many on the creative process and quite a few at least on the software process. Many will contradict some of the points in this one. This wasn't a peer reviewed paper. Don't accept it as gospel just because it says what you want to hear!
Psuedoscience
by
wizzums
·
· Score: 5, Informative
A programmer's ability to focus on a single task for long periods to the exclusion of all else has led some people to comment on similar behavior in autistics (Asperger's Disorder), and to wonder whether most programmers are mildly autistic. I would be surprised if most programmers were autistic--our concentration is too easily broken.
I particularly like how this fellow uses Autism as a reason, then clarifies it by noting a single branch of the entire syndrome as if that's what it's *really* called, and finishes up his great assumption by explaining that autistics must have high concentration levels.
While they're in the same psychological realm, he's trying to refer to ADD.. not Autism.
From ADD.org "You get one idea and you have to act on it, and then, what do you know, but you've got another idea before you've finished up with the first one, and so you go for that one, but of course a third idea intercepts the second, and you just have to follow that one, and pretty soon people are calling you disorganized and impulsive and all sorts of impolite words that miss the point completely."
Autism on the other hand is the complete inability to concentrate on ANY task for short periods of time. Autism is associated with Stims, self stimulatory behaviour. Asperger's Syndrome is a "mild" form of Autism that tends to affect mostly boys. Note that there is still a lack of common sense associated with this. Simply being quirky is not Asperger's.
A child with ADD is more than likely able to understand you when you tell him to "sit still, eat your dinner," while a child with Autism might just flick his fork around continuously while he's eating.
Credibility: I work with Autistic children, and ironically, have been diagnosed with ADD.
Re:Psuedoscience
by
Anonymous Coward
·
· Score: 0
"You get one idea and you have to act on it, and then, what do you know, but you've got another idea before you've finished up with the first one, and so you go for that one, but of course a third idea intercepts the second, and you just have to follow that one, and pretty soon people are calling you disorganized and impulsive and all sorts of impolite words that miss the point completely."
What he said was ability to focus on a single task for long periods to the exclusion of all else, which doesn't quite seem the same to me as a third idea intercepts the second, and you just have to follow that one.
Autism on the other hand is the complete inability to concentrate on ANY task for short periods of time.
Really? From your own link (to Autism.org): Stimulus overselectivity is a term used to describe a phenomenon whereby a person focuses on only one aspect of an object or environment while ignoring other aspects. Many autistic individuals appear to have this 'tunnel vision.'
I work with Autistic children
...!
Re:Psuedoscience
by
Anonymous Coward
·
· Score: 0
(Posted anonymously, because I don't want my employer finding out I'm autistic. There are only two responses I get from people: scorn or pity, and I really don't want either.)
On the contrary--I have Asperger's, and I certainly am not completely incapable of concentrating on a task for a short period of time. If the task is "put my books on the bookshelf", I'm certainly capable of putting them on the bookshelf and not spending any more time than strictly necessary on the task.
After all, every moment spent on the reshelving task is one fewer moment I have to spend coding.:)
Methinks you need to observe the autists you work with a bit more. The fact that you're willing to make such blanket statements as "autism... is the complete inability to concentrate on ANY task for short periods of time" strongly suggests you don't know as much as you think you do. There's not a single one-size-fits-all cookie-cutter mold which all autists fall into. Give us some credit for being able to be as different from each other as two neurotypicals might be different from each other.
I'd have to agree.. what he was describing sounded much more like ADD to me than it did autism. Of course, I have no idea what an autistic is like, but I do have ADD as well, so I can understand that a bit.
Another thing, aside, is that I think the guy who wrote that article certainly didn't take a very psychological approach to it. Perhaps social-sympathetic, but that's about it.
Oh well. If I showed the article to my boss, maybe he'd stop bugging me so much.:)
Managers either get it or don't - and won't cange
by
hillct
·
· Score: 4, Insightful
I've worked for a fariety of managers over the past few years and I've found that they either understand programmers, or don't. They can either acomodate the quirks or can't and that's it. This or any article stands no chance of changing their outlook.
One issue the article fails to mention is that you can in fact divide one programmer between development and support roles. The article says don't intersperse these roles durring the work day, but I've found in my own work, - which requires both activities - that the manager simply has to allow the programmers to do his own time alocation, for example, I find that I can get into the work day completing a series of support tasks, in the morning when I'm relitively stress-free, then in the afternoon, turn my focus to one of the never ending pile of development projects on my desk.
Having said this, I have to agree with the author that interspersing these tasks such that every 45 minutes the programmer has to stop developing and change his mindset to support a user, hten shift back into development mode is inherently bad.
The point is, programmers - being artistic as they are - are reasonably flexible. It's just important not to expect unreasonable flexibility, as this would prevent achieving the nessecery level of focus on each of the tasks at hand.
better ecquipment would be nice
by
pjdurai
·
· Score: 1
I dont really want a 14G showers. But faster PCs would be nice.
One of the biggest concentration breakers is waiting for the machine to do something essential. Like waiting 5 minutes for a one line change to compile and link.
Want your programmers to become more productive without even knowing it? Buy them better ecquipment. And make sure they dont spend the new found bandwidth playing games or reading slashdot.
Re:better ecquipment would be nice
by
pommiekiwifruit
·
· Score: 1
Like waiting 5 minutes for a one line change to compile and link.
Perhaps some people should try modularising the projects better; I have the same problem on a project I am helping with.
My personal style is normally not to #include every damn header file in the world in every other header file, and then make most of the functions inline, but other people do that. And for good measure turn off precompiled headers.:-(
During compilation its only using 50% cpu anyway; does microsoft scatter sleep(10) calls throughout its code or something? Or is the disk caching totally useless:-( </rant>
Re:better ecquipment would be nice
by
Fulcrum+of+Evil
·
· Score: 1
During compilation its only using 50% cpu anyway; does microsoft scatter sleep(10) calls throughout its code or something? Or is the disk caching totally useless:-(
No, compiling is just IO intensive.
-- "We returned the General to El Salvador, or maybe Guatemala,
it's difficult to tell from 10,000 feet"
For original ideas to come about, you have to let them percolate under the level of consciousness, in a place where we have no way to make them obey our own desires or our own direction. So they find their way, [through] random combinations that are driven by forces we don't know about. It's through this recombination that something new may come up--not when we try to push them directly.
I think there is a single, simple, well-understood word for that: intuition.
Painting is an art. Playing a musical instrument is an art. Programming, like everything else explicitly constructed by man, has distinct rules to it that allow one to do well, and can be objectively deconstructed to what makes it good or bad. Calling programming an "art" is just self-congratulatory tripe that people spew to fool themselves into thinking that they have a human side.
I've no idea how this happened, but somewhere along the line we let ourselves be talked into the idea that creativity is present in artists, musicians, and architects, but not programmers, box packers, or soccer players. Creativity is a basic human ability.
Computers can't paint. They can't write computer programs either. It's not some crude mechanistic process that we can automate ; there is a need for style and creativity. Which to me, makes it an art.
(Surely painting and music are 'explicitly constructed by man', and each of these have distinct rules that allow one to do it well too?)
You are clearly not a programmer. While there are mechanicle parts to programming these are equivelent to painting the background of the mona lisa. You can teach anyone the theory of programming just as I can learn the basic elements of painting. However I cannot paint (well) and If you don't think like a programmer you will never be able to program well.
As a non-programmer (hoping to learn some soon) and an old guitar picker / songwriter, etc., from what little I know of programming, there is no doubt that it is an art. In any artform (includes drawing, painting, photography... but many other things too; I've done a bit of all that), the creator of the work needs to establish where he/she is taking this project. What do you want it to do? To say? What is the purpose here? Once that is established, get the hell out of their way and let them work. I'll tell you, I've seen some programs over the years that could only have been created by artists, and this goes back to some of the old 8086 and 8088 DOS stuff. Fact is, there is art in everything; it's all a matter of attitude. Build an automobile engine, repair a hydraulic system, fix a leaky faucet... doesn't matter. Is it just a task, or is it a labor of love? If it's the latter, it's art. (oh, and I've packed a mess of boxes too... loved it. That was art. -Alph
Code is beautiful. I call it art. Sometimes, if it's particularly beautiful, self-congratulations are in order.
-- Pay no attention to that man behind the curtain!
Artists vs. Scientists?
by
Anonymous Coward
·
· Score: 2, Insightful
Sorry, but any article that purports to have artists and scientists at two ends of a spectrum is obviously false.
True scientists and true artists have more in common than the general public thinks. Art and science are built on pure creativity; open minded scientists and artists also mesh well together, and can have some stunning conversations which provide insights into each others work.
I suggest you all read Martin's play "Picasso at the Lapin Agile" for a little insight.
Jim
MOD INSIGHTFUL!
by
Anonymous Coward
·
· Score: 0
Finally someone who recognizes glorified word processors for what they are.
A programmer is easy to please; Just give him a dark room, electricity, a decent uplink, a computer and money to buy additional hardware for and he is happy.
-- GAAH! MY PRINTER IS ON FIRE!!! PUT IT OUT! PUT IT OUT!
Re:err
by
Anonymous Coward
·
· Score: 0
Your forgetting one very important thing, CAFFINE!
-- GAAH! MY PRINTER IS ON FIRE!!! PUT IT OUT! PUT IT OUT!
My Vent as a Programmer
by
still-a-geek
·
· Score: 2, Insightful
Mr. Dollery is right on the money. Using myself as an example, when my manager asks me to attend 10 meetings a week, of which 2 are useful, then things will not get done on time. Meetings in my company lasts for at least an hour. Thus, 10 meetings is a minimum of 10 hours. That leaves 30 hours to do the work. However, of these 30 hours, at least another 10 hours is spent explaining to the rest of the team what went on in those meetings (our company has a "dynamic" vision where information should be passed to everyone). Due to the lack of time trying to get a project finished or the project is finished half-assed because of the lack of time, there are production problems that must be dealt with. These waste about 5 hours a week. That leaves about 15 hours. But, since all of the programmers here have open cubes where non-programmers can pass by and start talking about "the weather," these tend to waste another 5 hours per week. Wow, I actually have about 10 sporadic hours per week to get my project done on time! Overtime? Hell no! I don't paid for overtime. Yeah, well, I should be grateful that I have a job in these rough times, but programmers just don't get any respect around here. Our CEO is even said publicly that the I.S. Department is a necessary evil. Now how can I have respect for the company? Keep the programmers out of meetings unless absolutely necessary and give us some privacy so we can concentrate.
Vince
--
"Happily lived Mankind in the peaceful Valley of Ignorance." -- Hendrik Willem Van Loon
Re:My Vent as a Programmer
by
Anonymous Coward
·
· Score: 0
This is why I blow off almost all meeting scheduled for me. Remember Kevin's Law of Meetings: The usefulness of a meeting is inversely proportional to the square of the number of attendees.
Huh?
by
Anonymous Coward
·
· Score: 0
What a dolt!
My artistic friends are the only ones outside of physics who *do* understand me when I'm talking about quantum physics!
I'm sure there are plenty of programmers who are tremendously creative, and probably most programmers are held back by their jobs--they get suckered in to "find-->replace" programming or assembly line programming. I truly feel sorry for them--it is like a scientist forced to study something mundane, being drained of all creative energy. Or like an artist, forced to do a piece in someone else's style. It is sad.
I'm sure there are natural assembly-line programmers too. They are the house painters. But there are a lot of Rembrandt's whose time is being wasted painting houses too...
Before I become a programmer the most fun I hadwas with woodworking. I'd been through several jobs/ job fields, but didn't enjoy the work. I think this editorial is really onto somthign that should be examined more closely.
From personal experince, the average programmer spends 2-3 years at any job. The most common excuses for leaving: lack of challange, lack of requirements flexability, inflexible or unresponsive managment, and red tape(configuartion managment going out of control and issues such as having no-control over or insight into released project environment).
-- "God fights on the side with the best artillery." - Napoleon, Marshal of France
- speaking truth to power
All summed up with: working at home
by
EarwigTC
·
· Score: 1
If it wasn't for my home office, I would never get any code written. This should be a strongly considered option for more companies, especially small ones with few people to a project.
-- Promote civility: mod down any post starting with 'ummm'.
You get started on work, and then the artist on another project starts playing his "music" loudly, and/or screaming at irregular intervals "me paul young! me paul young!" (I don't think that was what he was listening to).
Of course managers are off in their offices so they don't have to put up with it...
Please don't use 'she' when you mean 'he'.
by
The+Apostrophe+Guy
·
· Score: 0
"This is a highly desirable state, both for the programmer herself and for the organization that profits by her labors."
Last time I checked, most coders were male.
When was the last time you referred to a babysitter as he?
Re:Please don't use 'she' when you mean 'he'.
by
Bryan-Dollery
·
· Score: 2, Informative
I didn't mean 'he', and I'm not talking about babysitters.
Can you think of any reason for my using the feminine here, other than ignorance? (there is a reason)
BD
Re:Please don't use 'she' when you mean 'he'.
by
The+Apostrophe+Guy
·
· Score: 0
Urrm, nope. Perhaps I'm just missing something.
Actually, trolling aside (This account is the alter-ego of a games coder), I'm really interested in the reasoning behind this. Whenever I read 'she' for people in typically male roles (and vice-versa), it just trips me up and makes me have to re-read the paragraph to make sure I've not missed something. I don't think there's anything wrong with picturing a programmer as a male; it's an accurate and harmless assumption.
A great article though. I wish my producer would read it before interrupting me with another silly request.
Re:Please don't use 'she' when you mean 'he'.
by
Bryan-Dollery
·
· Score: 2, Insightful
Glad you liked the article.
1. I wanted people to be tripped up, and reread the paragraphs.
2. I'm not so good a writer that I can use gender neutral sentences and make a whole article read well.
3. The masuline pronoun has become generic (as some have pointed out), almost gender neutral in itself. I didn't want a generic pronoun, because I was talking about individuals, and the things that make them unique. I thought that introducing a generic pronoun was just the wrong thing to do.
4. Having eliminated the other two choices I was left with the femenine.
Rather than provide identical chairs and desks for the whole team, why not give each programmer a budget with which they can buy their own chair and desk?
Grrreat idea! Now your office is going to have skinnable chairs and themable desks with a configurable number of legs:)
Batten down the hatches
by
Anonymous Coward
·
· Score: 0
OK, I'm going to do this in AnonCoward mode and hopefully steer the careful line between critic and troll-who-must-be-hated.
I think long-term programmers don't do themselves any favours having the precious attitude to their work and status that articles like this suggest. Lots of people do work demanding of high-level thought, be it creative or indeed technical; and they do it without any of the hoopla, coddling or special treatment that programmers seem to think is somehow their right. This self-congratulatory tone running through the article is rather sickening to anyone with a responsible job who isn't a full time code monkey.
In any case, in my book, being a true professional implies you can get the job done to the best of your abilities in adverse conditions. Anything else is bush-league.
Understanding programmers goes beyond merely "treating them as the professionals that they are."
--
Ryosen One man's "Troll, +1" is another man's "Insightful, +1".
Psychology of a company
by
Musashi+Miyamoto
·
· Score: 4, Insightful
What they really need is a "Psychology of a Company" or "Psychology of working for someone else" for programmers to read.
Too many programmers are Asperger-syndrome types that have difficulty with social skills and with understanding that THEY work for SOMEONE ELSE. They are not the boss, and therefore, just because they think something should happen a certain way, doesnt mean all other ideas are wrong.
There is a severe problem with tech workers in this respect. Too many think that they are driving and refuse to take direction. Too bad if something like this were written, most of them would not read it, and if they did, they would discount and ignore it.
Re:Psychology of a company
by
Tablizer
·
· Score: 1
Too many programmers are Asperger-syndrome types that have difficulty with social skills and with understanding that THEY work for SOMEONE ELSE. They are not the boss, and therefore, just because they think something should happen a certain way, doesnt mean all other ideas are wrong.
The problem is that most managers appear to manage by "intuition". It is assumed that their intuition is "good", but many developers just don't see it. Managers tend to get where they are because they have fairly good people-based intuition, but us techies highly question their technical intuition. IOW, they are applying their human intuition skills to technology, and it does not work well, but they don't know that they are using the wrong tool for the job.
Many of us techies feel that management should defer more technical issues to the techies and focus more on being a good diplomat layer between the CEO's and the techies. Most techies don't pretend they are good diplomats. We know better. Being a "social buffer" between the tech world and the outside world is what managers *should* be doing and what is needed. But when they stick their fingers into pies they know nothing about, sparks fly.
Corporate culture is based on sales and sales techniques. However, you can't con a computer by sweet-talking it. Thus, somewhere between the machine and the CEO's crowd is a huge culture conflict between people who can program humans and people who can program machines. Those best at the first are rarely also best at the second, and the techniques that work well on the first don't work well on the second.
Re:Psychology of a company
by
Anonymous Coward
·
· Score: 0
Hate to burst your bubble, but most programmers aren't the 350-lb Dennis Nedry sterotype portrayed in "Jurassic Park". I've worked as a professional programmer for several years, and nearly all of the programmers I work with and know have a very deep understanding of "the team" and "working for someone else", as well as just dandy social skills.
I think you're stating a more general problem - people with large egos think that they are driving and refuse to take direction. In that, I'll completely agree. There are programmers like this, there are managers and artists like this, there are cashiers at the supermarket like this.. I could go on. Perhaps you just hear about programmers with large egos more often than you do about other job classifications. I don't know, and I won't pretend to tell you that I do. After all, I'm just a programmer, humbly going along and doing the tasks that my manager tells me are needed. And trying to slip in a few extra features that I think will make our product truely great.
No... This is exactly the attitude that I am talking about. There are often times when a manager needs to make a decision that he knows is not the most technically beautiful, but is necessary because of financial, scheduling, or standardization reasons. programmers need to learn how to present the argument logically to the management and then defer the decision to the manager. Once the manager has made his decision, do the work! Too many programmers and techies keep pushing for thier own ideas, event when management has decided otherwise.
For example: If all the other departments in the company run HP Openview to monitor servers, don't keep pushing for Big Brother and refusing to install anythign else.
If management said that we should install 10 mbit networks to all clients, don't sit on it saying "100/switched is the right way to do it". Management probably know s this and doesnt have the money to spend.
Re:Psychology of a company
by
charlieo88
·
· Score: 1
Strange how my experience is almost exactly like yours, but with a subtle shift making all the difference.
New CIO wants us to change one of our main products to be tightly intergrated with his favorite accounting program. So tightly intergrated, that it will not work without the accounting package. Weeks of trying to dissuade him of this very bad idea end with the pronouncement, "I'm the boss and we are going to do it my way."
Months of development effort later, the product was tightly intergrated. Turns out, none of the potential customers want the accounting package. In the meeting where we were informed that the intergration had to go, one of my guys looks at me and says, "Gee, it's too bad somebody didn't bring up that this was a bad idea before we did all this work."
Walk in the Woods
by
jefu
·
· Score: 2, Informative
When I get stuck on a problem a walk or bike ride is about the best thing I can do to get unstuck. But most people in industry don't understand that. There was just no way to account for time spent walking in the woods. But without walking in the woods, it would often take me several (even many) times as long to solve the problem. The corporation had the notion that time spent unproductively in the office was more valuable than time spent productively elsewhere.
Worse yet, at one point I had to account for every fifteen minutes of work on a time card and it was seriously expected that you would do that within a few minutes of the time noted.
Academia is better, but in my last job I had an office on a public hall and the noise from the hall and the noise from the very noisy ventilation fan were a wonderful discouragement to thought.
The corporation had the notion that time spent unproductively in the office was more valuable than time spent productively elsewhere.
Worse yet, at one point I had to account for every fifteen minutes of work on a time card and it was seriously expected that you would do that within a few minutes of the time noted.
So lie. Really, how are they going to verify that an hour spent solving some problem wasn't done in the woods?
-- "We returned the General to El Salvador, or maybe Guatemala,
it's difficult to tell from 10,000 feet"
The management put me up in a hotel for a month to finish off a project (working at the hotel instead of the noisy office, sleeping at home). Despite the fact that I lived ten minutes walk from work (the hotel was in between). It got done and was a big success, but it must have cost them money! (Maybe that was the point, to show the client that they were spending money on the problem).
Software as an Art Form
by
rodney+dill
·
· Score: 2, Interesting
I don't know if I can agree with the statement anymore that programming is an art form instead of a science. I certainly recognized the creative component when I was programming, and at that time there not much engineering discipline applied.
In the last ten years there has been a lot of movement to add discipline to the software engineering process. The Software Engineering Institute/Capability Maturity Model (SEI/CMM) may be the chief among these, as its creation was originally sponsored by the US Department of Defense. This model does take a lot of the fun out of programming, but it does provide the business benefits of a disciplined approach, which is chiefly a reduction in defects.
I think there is a mechanism in physical engineering that does not carry across well into software engineering organizations that follow SEI/CMM or other programming methodologies. In building construction you have the architect who applies both functional as well as creative/artistic qualities to the work. Then you have the (civil or other ) engineers that apply more of their discipline to make sure that the building works and does not fall down and meets other requirements. This is oversimplified as there is a necessity for creativity at all points of constructions, but I don't think this analogy carries well to software organizations. Maybe it does in web development groups, but those are outside my area of experience.
--
Use your head, can't you, use your head,
You're on earth, there's no cure for that - S. Beckett
Re:Software as an Art Form
by
michael_cain
·
· Score: 1
I think there is a mechanism in physical engineering that does not carry across well into software engineering organizations that follow SEI/CMM or other programming methodologies. In building construction you have the architect who applies both functional as well as creative/artistic qualities to the work. Then you have the (civil or other ) engineers that apply more of their discipline to make sure that the building works and does not fall down and meets other requirements. This is oversimplified as there is a necessity for creativity at all points of constructions, but I don't think this analogy carries well to software organizations.
Actually, there's some amount of evidence that it does carry over fairly well. In fact, in The Mythical Man-Month, Brooks makes the point that creativity is involved in all levels of the job. IBM experimented with chief programmer teams, and teams of teams, 30 years ago. They got phenomenal (for the time) improvements in productivity and quality. This was usually attributed to the fact that all key decisions were being made by one individual (after consulting with his second-in-command privately) who was consistent about those choices. The problem with using the approach widely was that, contrary to popular belief amongst programmers, there weren't enough of them with the talent and skills to be chief programmers.
Some of my best programming was done with all the lights out, sometime after 11 pm with Ministry blasting out of a very good sound system. It was just me, the music and the code.
Similarly, I am working on creating a new Distro at the moment, but work in a small cubicle hell, and I find it very hard to do stuff since there is constant interuptions...and a number of other demands on my time that interupt me. sigh.
ttyl
Farrell
-- CAN-CON 2019 - Ottawa's only book oriented Science Fiction Convention! October 18-20, Sheraton Hotel, Ottawa, Canada
h
Psychology of a Programmer
by
jvalenzu
·
· Score: 0, Troll
He forgot the most important bit, programmers are incredible narcissists and love nothing better than to ruminate publically on why they are so much better than the rest of the population and require special handling. Instant Slashdot coverage!
Good Interruptions
by
SpaceRook
·
· Score: 2, Interesting
Sometimes it is good for a programmer to be interrupted.
Some author - maybe it was Hemingway - said that when he was done writing for the day, he'd always stop while he was still "into" it. This gave him something to look forward to the next day. It gave him a place to start.
I think a similar technique is useful for programmers. For example, say you are writing a really fun function but only have 10 minutes of work left. I say, stop writing! Spend the rest of your time on the net reading some tech articles, or improve your code's documentation (if you think documentation is boring, maybe you aren't doing it right. When you document, pretend your talking to another programmer about your program).
When you come in the next morning, you'll have an easy way to start the flow again. You won't be hacking around trying to figure out what to do next.
Really? I find that if I stop before closing those braces I am at a total loss the next day. Ofc, I am hardly a professional programmer, just a CS major, so maybe when I get "better" it'll be different, but I doubt it. I don't think I could stand to have something not finished and not be working on it. Ah well.
This is so true, and so hard to do. One of the best programming experiences I've had included a daily lunch break at one of two restaurants across the street; a light breakfast, a full hour of lunch, and going home after 8 hours or so. I was always leaving in the middle of something, and I found that I carried a little bit of that 'zoned' happy feeling through the rest of my day, instead of wringing the last drop of brainpower out and going home with no energy for personal projects.
Or is there a glaring contradiction in the first paragraph of the article?
[P]rogrammers usually do have a longer attention span and a greater ability to concentrate [...] [M]ost programmers [...] concentration is too easily broken.
Re:Is it just me?
by
Anonymous Coward
·
· Score: 0
Let me make a similar statement and see if anyone
finds
a contradiction in it:
Men with families typically are viewed as better
employees and make more money than single men.
Most men with families have less money than
they'd like.
Programmers can have better than average
concentration
abilities and still could benefit from even
better concentration, and this is because
programming is a task that requires a
truly extraordinary amount of concentration!
Hacker Employment FAQ
by
malachid69
·
· Score: 2, Interesting
Personally, I have always planned on making the Hacker Employment FAQ part of the management handbook when I start my own company.
Malachi
-- http://www.google.com/profiles/malachid
Re:Hacker Employment FAQ
by
SpaceLifeForm
·
· Score: 1
Good FAQ. I would add points to it regarding
the ideal hacker environment such as quiet,
no interruptions, flexible hours, and working
from home.
-- You are being MICROattacked, from various angles, in a SOFT manner.
Telephone
by
Anonymous Coward
·
· Score: 0
Nothing is worse than the telephone or random visitors. Especially when you are expected to help them.
I've found the cure-all for these problems though... work 3rd shift. No one bothers me at 4AM.
>>I've found the cure-all for these problems though... work 3rd shift. No one bothers me at 4AM.
Except for the guys in Bangladore.;)
-- Huh?
Cubicles KILL productivity!.
by
LibertineR
·
· Score: 2, Interesting
Most companies can increase programmer productivity and efficiency by not being so fucking cheap, and getting rid of cubicles. I was a programmer for 4 years prior to coming to Microsoft, and in my first year in my own office, I wrote more code and BETTER code then I did in 4 years in my cube at Lotus.
I hated being in the building, not wanting to hear who was porking whom from a three cubes down(you know who you are, Bitch!)or the personal problems of a bunch people who hated management, hated the products they were working on, and hated life in general.
Once I got my office, or more importantly, ONCE I GOT MY OFFICE DOOR, I could shutout the bullshit, crank up the tunes, and get down to business. Microsoft lets you decorate your office however you want, so over time my office became my favorite place to be. People joke about how people at Microsoft would rather send email to someone in the office next door, rather than get up and ask a question face to face, but nobody likes to be interrupted from a programming train of thought.
I would never, EVER again work as a programmer, if it meant going back to a cubicle. In a cube, you are nothing but a faceless, nameless pod person, waiting to be replaced by some other pod who wants to work for less than you do.
Re:Cubicles KILL productivity!.
by
CableModemSniper
·
· Score: 1
Urge to turn to dark side....rising....must...resist
-- Why not fork?
Re:Cubicles KILL productivity!.
by
axxackall
·
· Score: 1
Most companies can increase programmer productivity and efficiency by not being so fucking cheap, and getting rid of cubicles. I
The problem is that most of companies cannot afford so non-competitive market methods as Microsoft did, and thus they do not keep a position of a super-monopoly charging customers as much as they want, and thus they do not have so much of money for so many individual office doors.
Your experience doesn't go against what is said in the article.
When the author talks about interruptions, he's referring to people coming by and asking you something completely unrelated to what you're doing. The difficulty is when you're forced to lose your train of thought. He even mentions that it is acceptable to tap someone on the shoulder and ask about the work they're doing.
Of course, if someone comes up to me and taps me on the shoulder while I'm focussing on programming, I generally jump three feet in the air and yell at them. So there are some differences.
It's the University of Chicago. Where the first controled fission raction took place.
Chicago University teaches business skills to high school dropouts.
I should know....
Re:...his?
by
Anonymous Coward
·
· Score: 0
But 'his' is correct grammar... so it isn't illiterate or compensating.
Programmers are worse than lawyers
by
Anonymous Coward
·
· Score: 0
We are becoming so pompous our heads are swelling with levels of self-importance nearly rivaling that of lawyers. That article could remove the word "programming", substitute "creativity" and remove all references to programming and it would still be illuminating.
The metal states that programmers rely on is no different then the metal states of artists, writers, and even salesman and secretaries. An environment that makes programmers more productive will make any worker more productive. Everyone goes out of "the zone" because of the work environment. Programmers are just more demanding of change, as we believe the world would stop its rotation if any programmer is less than productive.
We cling to special ness and our aspergers syndrome whose traits are so universal they could be used as horoscope descriptions. The programmer analogue is just a stereotype, but it's a stereotype we believe because it makes us feel so special. We're not.
Re:Programmers are worse than lawyers
by
Bryan-Dollery
·
· Score: 1
(Surely painting and music are 'explicitly constructed by man', and each of these have distinct rules that allow one to do it well too?)
Can you objectively deconstruct them? I don't think you could get any group larger than, say, four people to agree on what, specifically, is wrong with a particular painting or musical piece, or even if it is wrong at all. Art is, by its very nature, a subjective pursuit. Programming produces quantifiable (and hopefully consistent!) results.
Can you objectively deconstruct them? I don't think you could get any group larger than, say, four people to agree on what, specifically, is wrong with a particular painting or musical piece, or even if it is wrong at all. Art is, by its very nature, a subjective pursuit. Programming produces quantifiable (and hopefully consistent!) results.
People deconstruct art all the time. You are right that people disagree when they do so. Whether it's bad acting or lousy brush work on a painting (or the opposities) there's many ways to do it.
The same thing applies to programs. But iwth programs you have both the code and the whole program. People have different opinions about what is good code and what is bad code. It starts with formatting, and it ends with algorithm choice. People complain about squigly braces on the same line as ifs, and people complain about use of recursion (or lack of it) when they feel it's not appropriate. And there's other things. The other side is what the code produces - the final program. It's easy to complain about objective things (bugs) here, but there are again many subjective elements (user interface design, for example).
So while there are quantifiable aspects (does it do what it says it does?) there are also aspects above and beyond that. And this is where all the art vs science garbage springs up. Anyway, I suspect all scientists will find beauty in their work.
The same thing applies to programs. But iwth programs you have both the code and the whole program. People have different opinions about what is good code and what is bad code. It starts with formatting, and it ends with algorithm choice. People complain about squigly braces on the same line as ifs, and people complain about use of recursion (or lack of it) when they feel it's not appropriate. And there's other things. The other side is what the code produces - the final program. It's easy to complain about objective things (bugs) here, but there are again many subjective elements (user interface design, for example).
That just means they're incompetent. It amazes me the number of people these days who think that sound higher mathematics have nothing to do with programming. They have everything to do with programming. Just read Knuth's seminal The Art of Computer Programming series. There is an algorithm for a given situation that will perform better than another algorithm. There is a basic level at which there can only be one concrete reason why a certain section of code is faulty. There is a mathematical basis for all of this. People who call programming an art are at the same level of understanding about computer science as the people who think that magic makes their garage doors open are about mechanical engineering.
For choosing between several known algorithms, to solve a specific problem yes, that process can be automated. For coming up with new algorithms or sometimes even recognizing when a know algorithm is applicable, or object / interface design, that's where it's difficult.
In short: Some decisions programmers make are obvious and pretty much aren't even decisions ("how should I represent this text? I know, I'll use a string!") while others are actual decisions without well defined answers: What's the best way to represent this data? What's the best algorithm for this new task which Knuth didn't think of? What aspects of this design are going to wind up being important through the lifetime of the project? Basically what are the aspects of programming people can disagree on? THOSE are the decisions which you can't use automata for.
--
Trees can't go dancing
So do them a big favor
Pretend dancing stinks!
What's the best way to represent this data? What's the best algorithm for this new task which Knuth didn't think of? What aspects of this design are going to wind up being important through the lifetime of the project?
Duh, that's what analysis is for. Knuth covers that too, in case you're wondering.
--
--sdem
Re:Yes, but...
by
Anonymous Coward
·
· Score: 0
Thank Knuth being able to condense what we do into a volume of books which fit neatly onto a shelf!
So when can expect a full library of all human achievement?
But this begs the question is your mathematical ability learned or inherent. The answer is both of course but I believe that the level you can achieve is limited by your inherent starting point. So is it not possible that being able to see the multiple algorithms for a given situation and choosing the correct one for the situation is an art.
As to the larger question of the article it makes sense to me because I hate to program and I have near zero math/art/music ability. My talent, interest and abilities are in networking and I used to feel sorry for the lonely coders in their dark little cubes:)
This, I'm afraid is just completely wrong. In fact, I'd suggest you go back and re-read Knuth if you think this is what he's saying in his books.
Most of what you do as a programmer is make decisions about the value of your time, effort, and creativity in the context of what the problem space requires. There might be good objective reasons why red-black trees would be "better" than a simple sorted array, but if the time spent implementing your rbtrees is more than the value that their performance enhancements give to your code, why the hell should you use them? And what if your requirements can be implemented using two completely different approaches, each of which has similar overall costs, but with different tradeoffs? How can your mechanistic "there's exactly one algorithm that's best for any given situation" deal with/that/ kind of thing?
The real world, and the kind of real world problems that programming solves, are/not/ things that can be handled by a mechanistic approach. It requires human judgement, creativity, craftsmanship, and the kind of artistic flair you seem to think is utterly inappropriate. And I'd be willing to put a/lot/ of money on Knuth agreeing with/me/, and thinking/you/ are a short-sighted idiot. After all, this is a man who spent ten years developing a computer typesetting system because he didn't like the look of his equations when they came off the printing press.
Computer science is a branch of pure mathematics, but programming is/not/, and never will be. It's the difference between defining a circle, and drawing one.
Peopleware on Music and Programming
by
prankster
·
· Score: 3, Interesting
Music (not so good to makes one want to hear the music instead of working, neither something so bad that breaks concentration)
In Peopleware DeMarco and Lister writes about a series of test at Cornell on the effects of working with music in the 1960s:
The result was that groups with and without music performed about the same in speed and accuracy of programming.
However, the output data was to be manipulated about a dozen times. The net effect of the operations left output number equal to its input number.
The overwhelming majority of people who figured it out came from the group working without music.
If the right brain is busy listening to music the opportunity for a crative leap is lost.
So if programming is a crative art do not listen to music.
Re:Peopleware on Music and Programming
by
GregWebb
·
· Score: 1
Music is a noise filter. By putting on background noise that I have heard a thousand times before and can control, I don't have to listen to everyone else walking past, hammering on their keyboards, chatting about the weather.
When I need that complex stuff, the music goes off. Most of the time, though, I've worked it out and am implementing it, or the challenge of working it out is frankly small.
Remove my music and there's more for the brain to listen to, not less.
--
Greg
(Inside a nuclear plant) Aaaarrrggh! Run! The canary has mutated!
Dealing with interruptions
by
hlh_nospam
·
· Score: 3, Interesting
I had a problem with my management along those lines. I started getting up and making a tally mark on the whiteboard in my cubicle every time I got interrupted. About the fourth time my manager came in and saw me do that, he asked me what the marks were for, and I explained to him that he could multiply the number of marks by 15 to get the amount of productive time I lost due to interruptions since I arrived at work that morning. Turned out that the number was roughly equal to the time I had been at work that day. I had a copy of "Flow" with me, and I loaned it to him.
He actually got the message. Not only did he quit bugging me, but he actually started running interference for me. Unfortunately, I haven't had many managers who were that bright.
Re:Dealing with interruptions
by
Anonymous Coward
·
· Score: 0
And if anyone is still wondering WHY the job market is so fucked, ask yourself why everyone refers to so many managers.
How about managers of programmers?
by
smagruder
·
· Score: 1
Perhaps we'll see an article soon about the short attention span of development managers... like when they keep pushing for the impossible silver bullet of getting all projects completed using a single platform, when they should be really looking at the long-term and realizing that it's far more effective to figure out ways to manage the inevitable heterogeneity of IDEs, languages, etc. The practical strategy of choosing the best tool for a specific project seems to evade the short-fused consciousness of most managers.
IMHO, The mentioned book Flow is a must read
by
clueless123
·
· Score: 1
If you want to know why you feel on "the zone" when you are six feet deep inside your computer while programing, take a look at : Flow: The Psychology of Optimal Experience -- by Mihaly Csikszentmihalyi;
It is really worth the read. You might find out that we are all really a bunch of flow addicts.
No-one really sits in the zone all day, it's more like a few minutes when the germ of an idea comes to you and you want to flesh it out, and that's the time when it's bad to be interrupted.
Bzzzt... Wrong!
And if you are indeed a programmer and not a suit trolling around, I pity you.
I am a programmer, and one with a decent reputation amongst his peers for getting a job done well and on time.
Why do you say I'm wrong? I certainly have days where the code streams from my fingers, but usually they take the form of a few minutes of inspiration where an idea "clicks" and I work through it in my head, followed by several hours of implementing that idea while driven by it.
Maybe we're just using the word differently, but I consider those first few minutes where I arrange my thoughts to be the "zone" part, and the rest just to be solid work based on a good plan. If you interrupted me during the "working out" phase it would be really annoying and I might lose my trail of thought, but once I've got the plan, a few minutes talking to a colleague about something else won't affect how fast I work when I get back to what I was doing.
-- If you disagree, post your argument. (-1, Overrated) isn't your personal censorship tool for views you don't like.
You're missing the point
by
sjames
·
· Score: 4, Insightful
This isn't about special consideration because programmers are 'special people' who deserve it, it's about maximising productivity and morale at the same time without having to spend much money in the process because that's good for the company.
A secretary who is drafting a letter is an administrative assistant, and SHOULD be able to draft a letter in peace. Otherwise, it's just another case of damaging productivity by failing to think. The Engineer who shaves 10% off the manufacturing time probably was able to do it by having the same conditions that the article recommends for programmers.
There are a number of jobs that call for that sort of thing to some degree or another, and for varying percentages of the day.
To use your example, it is doubtful that the latter being drafted will run 100,000 lines long, take 3 months of highly professional manhours to produce, and remain 'in production' for the next 3 years (complete with a single typo/thinko costing thousands of hours in excess support manhours
So, though the secretary should be able to finish the letter uninterrupted for maximum efficiency, the time period is shorter, and the complexity of the mental map that will get swapped out if an interruption DOES happen is a lot smaller.
Yes, all people can perform better if you enhance their working conditions. Different professions have different sets of needs for their ideal working conditions. The article was a few pointers to managers about what they should do for programmers. What to do for administrative assistants, lawyers, cooks, and mechanics are all worth knowing to someone who manages those professions, and should be covered by similar articles.
Try to having your manager read
Peopleware by Tom DeMarco, Timothy Lister -
or at Barnes and Noble, as the article pretty much summarizes some ideas from this book.
And experienced programmers have no problem with "flow context changes." This psychology of programmers seems to be merely the psychology of inexperienced programmers.
The difference in my mind is scope of impact.
by
SuperKendall
·
· Score: 1
You are correct in one sense, that creative people could all benefit from similar steps...
The difference to me is scope of impact. If you install a shower in the office of someone who is writing memos, they might be more effective - but how many people will that improved productivity impact? Probably just a few (or none at all, if they are in HR).
Now take a programmer. A single programmer can, when in a good mood, literally speed up a sales order entry system by a factor of ten, or make it scale an order of magnitude better than before (supporting 1000 users instead of 100) That might happen over a week and bring benefit to literally thousands, or even millions (in the case of large sites) of people.
So, it's worth a companies time supporting creative efforts where it can make the most difference. I would say programming has got to be way up there on the list, though the engineer example you citing is probably a good case as well (though it's much, much harder to squeeze a lot out of any physical process than software so you are not likely to get as much benefit).
-- "There is more worth loving than we have strength to love." - Brian Jay Stanley
Re:Managers either get it or don't - and won't can
by
Bryan-Dollery
·
· Score: 1
" Managers either get it or don't - and won't cange"
Better give up then
BD
one shoe to fit them all ??
by
ramzak2k
·
· Score: 1
Although most of article does have a lot of useful suggestions, would all of those characteristics describe every programmer in town ?
I read somewhere (dont rem where) that the best manager would be the one who knows how to treat/position people depending on what drives the person. The factor that motivates differs from person to person. Some are driven purely by money, others by position and still others purely by nature of their work. So, a set of common directives such as those mentioned in the article might not work.
--
Siggy Say, Siggy Do
This article just lost my interest.
by
PyroX_Pro
·
· Score: 1
"both for the programmer herself and for the organization that profits by her labors. "
Most programmers are MALE.
Re:This article just lost my interest.
by
Anonymous Coward
·
· Score: 0
Oh, grow up.
Re:This article just lost my interest.
by
PyroX_Pro
·
· Score: 1
You need to grow up and learn to count.
There are other things wrong with this article as well.
Paraphrasing the parent...
by
Anonymous Coward
·
· Score: 0
This article is quite humorous.
First the author refers to programmers as great machines of art. Later the author refers to programmers as all females. Believe it or not, later the author refers to programmers as he or she followed by-- in the plural -- HE's or SHE's.
In the end, though, he refers to programmers as just humans!
The place where I got the most work done
by
sielwolf
·
· Score: 1
Was in a server room. Just me and about 40 odd servers humming away. Of course it was a bit cool (from all the AC) and I never had a jacket since it was about 90 degrees outside. But nothing could beat that combination of solitude and white noise. A riot could go off for all I cared.
Of course it wasn't that impressive when I was showing off where I worked. "Yeah you see that long workbench? Over there in the corner? That's allll mineee..."
99% of schedule overruns are because project teams depend on this sort of serendipity instead of designing the software.
1. Design the software. 2a. Code the software as designed. 2b. Test the software against the design. 3. Profit!
No naps or showers are necessary. If you lose your train of thought, you look at the design and regain it.
Software bees
by
UncleSocks
·
· Score: 5, Interesting
Whenever I read useful articles such as this, I'm reminded of Orson Scott Card's "How software companies die":
Software - How Software Companies Die
By: Orson Scott Card
The environment that nutures creative programmers kills management
and marketing types - and vice versa. Programming is the Great Game.
It consumes you, body and soul. When you're caught up in it, nothing
else matters. When you emerge into daylight, you might well discover
that you're a hundred pounds overweight, your underwear is older than
the average first grader, and judging from the number of pizza boxes
lying around, it must be spring already. But you don't care, because
your program runs, and the code is fast and clever and tight. You won.
You're aware that some people think you're a nerd. So what? They're
not players. They've never jousted with Windows or gone hand to hand
with DOS. To them C++ is a decent grade, almost a B - not a language.
They barely exist. Like soldiers or artists, you don't care about the
opinions of civilians. You're building something intricate and fine.
They'll never understand it.
BEEKEEPING
Here's the secret that every successful software company is based on:
You can domesticate programmers the way beekeepers tame bees. You
can't exactly communicate with them, but you can get them to swarm in
one place and when they're not looking, you can carry off the honey.
You keep these bees from stinging by paying them money. More money
than they know what to do with. But that's less than you might think.
You see, all these programmers keep hearing their parents' voices in
their heads saying "When are you going to join the real world?" All
you have to pay them is enough money that they can answer (also in
their heads) "Geez, Dad, I'm making more than you." On average, this
is cheap. And you get them to stay in the hive by giving them other
coders to swarm with. The only person whose praise matters is another
programmer. Less-talented programmers will idolize them; evenly
matched ones will challenge and goad one another; and if you want to
get a good swarm, you make sure that you have at least one certified
genius coder that they can all look up to, even if he glances at other
people's code only long enough to sneer at it. He's a Player, thinks
the junior programmer. He looked at my code. That is enough. If a
software company provides such a hive, the coders will give up sleep,
love, health, and clean laundry, while the company keeps the bulk of
the money.
OUT OF CONTROL
Here's the problem that ends up killing company after company. All
successful software companies had, as their dominant personality, a
leader who nurtured programmers. But no company can keep such a leader
forever. Either he cashes out, or he brings in management types who end
up driving him out, or he changes and becomes a management type himself.
One way or another, marketers get control. But...control of what?
Instead of finding assembly lines of productive workers, they quickly
discover that their product is produced by utterly unpredictable,
uncooperative, disobedient, and worst of all, unattractive people who
resist all attempts at management. Put them on a time clock, dress
them in suits, and they become sullen and start sabotaging the product.
Worst of all, you can sense that they are making fun of you with every
word they say.
SMOKED OUT
The shock is greater for the coder, though. He suddenly finds that
alien creatures control his life. Meetings, Schedules, Reports. And
now someone demands that he PLAN all his programming and then stick to
the plan, never improving, never tweaking, and never, never touching
some other team's code. The lousy young programmer who once worshiped
him is now his tyrannical boss, a position he got because he played
golf with some sphincter in a suit. The hive has been ruined. The best
coders leave. And the marketers, comfortable now because they're
surrounded by power neckties and they have things under control, are
baffled that each new iteration of their software loses market share
as the code bloats and the bugs proliferate. Got to get some better
packaging. Yeah, that's it.
What most companies cant afford; is distracted developers.
The added costs of offices is not as bad as a bunch of programmers who spend a great amount of company time looking for other jobs, or musing with their co-workers because they are too distracted to code.
Now sure, there are those who can code under those conditions, but I defy you to show me where an open cubicle actually INCREASES productivity.
I'm not saying that programmers need to be coddled one bit, I am saying that companies need to be proactive in providing the best environment possible for their employees to work. True, there is no better place for programmers than Microsoft, which is almost outrageous in the perks that we get, but I think almost any company can do a better job than they are currently doing.
Programming is nothing special
by
Anonymous Coward
·
· Score: 0
Perhaps at one time, programming was special, where only a few people with the pasion and nerdiness were the ones who programmed.
This was before Computer Science become the cool thing to do, or the degree that will get one a lot of money. Droves of young students enter the various programs (no pun intended) having no idea what C/C++/Java is. It has been over run by money-hungry individuals.
A few special ones are out there still. If programming did not make any money, would you still do it?
if(YES){ then you are one of the few special ones. } else { then you are nothing special and basically a slave to corporate society. }
First Truthful Post!
by
Anonymous Coward
·
· Score: 0
George W. Bush wants to cause the world's destruction! The eager anticipation of a coming apocalypse is the very idea that his death-seeking version of "religion" is based upon.
Stop the Idiot!
The President of the USA is under the control of psychopathic forces.
A programmer's ability to focus on a single task for long periods to the exclusion of all else has led some people to comment on similar behavior in autistics (Asperger's Disorder), and to wonder whether most programmers are mildly autistic. I would be surprised if most programmers were autistic--our concentration is too easily broken.
As someone who is a programmer and autistic I felt the need to jump in. I am diagnosed with both Asperger Syndrome and ADD. Although I have many of the classic autistic symptoms (nonverbal language deficits, sensory integration issues, near-photographic memory, obsessive interests, etc.)
My concentration is interesting. While it is normally quite short, I have the ability to hyperfocus for hours on anything I am obsessing on. This is usually code, so that works out just fine, tyvm.
As far as working accomodations, to get what I really needed, I had to jump off the deep end and become self-employed. My home office has extensive soundproofing and other "accoustical management" stuff, most of it was pretty easy/cheap.
For the first time in my life, I have all of the people I need to be in contact with to do mainly via IM. If I'm lucky, one of these days I can cancel my phone, but for now, I will just settle for turning the ringer off (it flashes, too).
Software development isn't research.
by
AltaMannen
·
· Score: 1
I would argue that regardless of how much dicipline is put in the methods of software development, you can't completely remove the creative part from that process. As with architecture (which is also both art and engineering), there are commonly many parts of implementation of projects that involves choices of aestetic nature that doesn't lend itself to puristic research methods. Some projects obviously have less creativity like those DoD projects you imlpy.
Re:Software development isn't research.
by
rodney+dill
·
· Score: 1
I didn't mean to imply that the creative process was missing or even should be removed. I meant to indicate that as software programming became more of a discipline, that it also became less reliant on sheer artistic creativity.
I've known many software developers that did and still find programming as a creative release, though many of them find the rigidity of CMM processes and amount documentation burdensome.
I also did not say that DOD projects necessarily require less creativity. The DOD some years in the past chartered Carnegie Mellon University to develop what has now become SEI/CMM as a means to get a grasp on requirements, time and dollar estimates related to software development projects.
--
Use your head, can't you, use your head,
You're on earth, there's no cure for that - S. Beckett
Sometimes it's the manager's manager's fault
by
topher_k
·
· Score: 2, Insightful
In a previous job I used to manage a development group. I had a few simple rules, which seemed to work for everyone:
1. Give me 40 hours per week. You pick which 40, as long as 10:00-11:00 a.m. Monday was one of them.
2. I let the programmers divide the tasks among themselves. I had one guy who loved doing interfaces and another who enjoyed driver development, so I assigned the tasks accordingly.
3. I mostly let the programmers make the hiring/firing decisions. I almost always had job applicants interview with each current programmer. If I received repeated reports of someone not being a good team player (the most blatant example was one programmer insisting on using Pascal when the rest of the team was using C++), I took appropriate action.
My problem was that my boss was a micromanager who would walk the halls interrupting programmers for hours at a time. He wanted daily status reports on most projects (my policy was for strict version management and weekly Monday morning meetings to bring the team up to date). Fortunately, one of my programmers developed a status report generator, which would randomly generate one-page status reports. My boss would also pull programmers off-task to work on his Etch-a-sketch or to do tech support for one of the admin staff, when there were others better qualified and, more importantly, more available for that sort of work. Most of my programmers would quit within two years, telling me to call them when I worked somewhere else.
-- They'll get my encryption algorithm when they pry it from my cold, dead hard drive.
Re:Sometimes it's the manager's manager's fault
by
certsoft
·
· Score: 1
the most blatant example was one programmer insisting on using Pascal when the rest of the team was using C++
Yeah, the guy was obviously one of us Pascal outlaws, ship him out:)
This reminds me - and no it is not a flame - whatever happened to the people of Slashdot in the boom-bust cycle of the internet? Is their a short, one-page, behind-the-music-like summary of this microcosm of e-sanity? No sordid details, just, was it worthwhile? What should have been done different, if anything?
I couldn't give this article to my boss.
by
Rimbo
·
· Score: 1
The author is right on all points, and they are points I wish my boss understood, particularly about the programmer's need to rest and not be interrupted constantly!
The author seems to be speaking to people like me who already agree with him. A pair of sentences like "If that was the first thought in your head, then you've missed the whole point of this column. Start again at the top, and pay attention this time" read more like an accusation than instruction. My boss (and yours, too) would most likely get offended at this point and discard all the author had said. What use is information when presented without understanding the egos and pride of employers who have worked hard to build a company, through sweat, tears, sacrifice, and long hours?
Not limited to programmers
by
Selanit
·
· Score: 4, Interesting
It seems to me that the "flow" the article discusses is not limited to programmers or artists; it can happen to anyone who is truly involved in a task that they love, in any area of endeavor.
I code. Admittedly, it's just PHP, a language of limited utility for anything but web-oriented tasks, but nonetheless a real programming language. I have felt that "flow" when working with PHP: you code fast, overcome obstacles fairly quickly, and it all just flies out of your head and into being. Then you blink and realize that it's been 10 hours since you sat down, and you haven't had anything to eat or drink since breakfast. It's glorious.
But PHP is just a hobby. I'm a medieval literature postgrad; I write papers analyzing tales written over a thousand years ago (my specialty is Old English). And I can tell you that when I really get going on a paper, I reach the same mental state as I described above: I sit, I type, and it flows. The thoughts I've been tumbling around coalesce miraculously into a full paper. Sometimes the flow lasts even into the "debug" stage where I have to go through and check to make sure that all of the footnotes are there, and that every comma, semicolon, and punctuation mark is in place, from the first sentence to the end of the bibliography.
For this reason, I believe that "flow" happens to anyone who is capable of becoming absorbed in a task. The type of task is probably important, though. I feel a bit flow-ish writing this post, because the topic is interesting and requires thought. But if you set me out as a lifeguard, say, over a pool full of people, I would never, ever achieve "flow". "Zoned out" maybe, but not "flowing" (which is bad news for the drowning guy in the deep end). On the other hand, repetitive physical labor -- setting bricks, knitting, making chain mail armor -- can be mentally liberating (in proper amounts).
Re:Not limited to programmers
by
Dirtybomb
·
· Score: 1
'When creative people work on making something new, they often enter a mental state where things just flow'
flow, flow, flow all the way to India.
Re:Not limited to programmers
by
Anonymous Coward
·
· Score: 0
Yes, flow is something that applies to any creative process. There is a list of characteristics that indicate a flow experience is occuring above an individual's normal baseline. Look up books by Csikszentmihalyi (I hope I spelled that right) for its psychological development. I believe it's been applied to just about every activity including things like team sports and performance.
That article is right on
by
CrazyJim0
·
· Score: 1
Programming is a lot like meditation. To get into the meditative state is tough, but once you're there, it keeps itself going.
For me, I can code forever, but I have trouble keeping up the design part. Its just something I have to work on. While designing, I go out of mode too easy.
this silly and tendentious habit of using feminine pronouns discredits the article.
I can appreciate that writers are encouraged to avoid masculinizing (sp?) their subject , but deliberately feminizing pronouns doesn't serve any benefit. Frankly it makes the author look like a PC wank and causes me to question the article's integrity. People that are prone to such displays of political correctness tend to be liars - they'll just fabricate evidence to suit their argument.
are there any female programmers ( not web designers , or Flash developers , or multimedia 'engineers' ) ? I've only ever met one woman who had skills appropriate to programming and she was leaving the field to go to law school. Hell it would be great if there were female programmers , I'd then know women who I could hold an intelligent conversation with.
There are female programmers. My girlfriend is one and she programs in C, C++, Java, Powerbuilder, and whatever else you throw at her. And yes, she's very pretty;-)
this silly and tendentious habit of using feminine pronouns discredits the article.
No, it doesn't. It's a side issue at best. A red herring if you like.
it makes the author look like a PC wank and causes me to question the article's integrity
That you'd immediatly assume PC Wank, when there are many other plausible explanations indicates that you need to start thinking before you start typing. Try it, yo u may be surprised at the results.
People that are prone to such displays of political correctness tend to be liars
Data please?
People who post anonymously tend to be liars
I've only ever met one woman who had skills appropriate to programming
As I've already pointed out to one poster, it's a conspiracy. The industry has gangged together to keep the fact that these women exist secret from people like you. We don't like you, and we won't share our women with you.
:-)
There are plenty of women programmers. Not nearly as many as men, but there are still plenty. Anyway, just because I used the femenine pronoun doesn't mean that I was indicating women in particular, no more than if I'd used the masculine.
if there were female programmers , I'd then know women who I could hold an intelligent conversation with
Unlikely.
BD
Re:female programmers pls reply
by
Shivantrill
·
· Score: 1
True there are fewer women than men in this field. In our team of 7 there are 2 of us (women).
I found the author's use of the feminine pronoun interesting. It did not trivialize the article for me in any way, it was just interesting.
My colleagues are always trying to be inclusive when we go out anywhere. Like they hesitate to go to a sports bar when we are all together in case the "grlz" won't enjoy it. Not PC enough.
This is also interesting. It does not change my opinions or respect for them as colleagues. I have no issue with being a woman. I am proud to be a woman. I find the whole PC thing to be incredibly amusing. It actually tends to have the opposite affect that was intended. I sometimes feel excluded because my colleagues will alter their behavior and conversation when I am around, just to be PC. Or after a long day of coding, the boys go out and don't invite us "grlz".
I just want to be viewed as an equal. I want to be a part of the team. A person first...
Just my 2 cents:-)
-- Karma, We don't need no stinkin' karma!
"Hack Mode" from The Jargon File
by
saudadelinux
·
· Score: 1
This http://catb.org/esr/jargon/jargon.html#hack%20mode seems to be a pretty good description of the programming reality.
-- I didn't think the house band in Hell would play this badly.
I AM a female programmer...
by
rynthetyn
·
· Score: 1
...and I'm tired of reading articles that assume that all programmers are men. It's not the case, and as long as people keep writing articles that make that assumption, people will keep thinking that there aren't female programmers. Besides, I would argue that part of the reason that there aren't that many female programmers is because of people like you who act like it's some major attack on your psyche to have someone talk about programmers and not use masculine language.
Also, on the question of whether programming is more like art or more like engineering, remember that Donald Knuth titled his book "The Art of Computer Programming" and Fred Brooks also talks of programming as an art in "The Mythical Man Month."
-- Eagles may soar, but weasles don't get sucked into jet engines...
Re:I AM a female programmer...
by
ATMAvatar
·
· Score: 1
...and I'm tired of reading articles that assume that all programmers are men.
The assumption is not that all programmers are men. The assumption is that the vast majority of programmers are men. This is a simple fact of the industry, and judging from the composition of computer science students, it isn't likely to change soon. Whether this is good or not isn't the issue.
This is, of course, assuming the choice of he/him/himself for pronouns is intended to indicate masculinity. Once the gender-neutral pronouns were removed from our language, the masculine pronouns effectively took over the role. As a result, many people simply default to masculine pronouns without thinking about it, unless there's a significant reason to assume the subject is female.
as long as people keep writing articles that make that assumption, people will keep thinking that there aren't female programmers.
There aren't[ many].
Besides, I would argue that part of the reason that there aren't that many female programmers is because of people like you who act like it's some major attack on your psyche to have someone talk about programmers and not use masculine language.
The arguments above read more like a general commentary on the feel of the article. Your immediate parent was a little more abrasive about it, but it was not without merit. It *is* inappropriate to use femenine pronouns here. The subject of discussion (programmers) is predominantly male. If gender-neutrality was the main goal, you are unfortunately stuck with using he/him/himself or going with the incorrect they/them/themself. The latter would have drawn some criticism as well, but I like the idea of a gender-neutral singluar pronouns, and the only way to bring them back is through increasing their common usage.
However, going out of your way to use feminine pronouns when they are clearly inappropriate for the situation, and then going so far as say that women are being held underfoot by those addressing the inappropriate usage is merely beating the same type of gender war drum you seem so adamantly opposed to.
-- "They that can give up essential liberty to obtain a little temporary safety deserve neither liberty nor safety."
Actually, computers can paint... Re:Pfft.
by
oncewasclever
·
· Score: 1
Harold Cohen developed AARON, a computer that paints. A PC version is available from kurzweil.
Also, check out the book "Aaron's Code: Meta-Art, Artificial Intelligence and the Work of Harold Cohen" and Dr. Dobbs article.
Having said that...
Artist or Professional? Choose!
by
fygment
·
· Score: 1
After seeing refs to artists/professional in several posts I'd say: Choose one or the other. You can't be both.
Consider: an artist works in an environment constrained only by imagination and medium. Creativity is allowed through free reign of thought and expression ideally, for some, in isolation. No "art" is wrong e.g. the folly of critiquing whether a painting is "art". A professional by contrast is one who works within guidelines laid out by an overseeing body (the profession) that exercises self-regulation on members of the profession i.e. there are definitions of good and bad, and _enforcement_ of adherence to those definitions from _outside_ the confines of the work environment. To do a job well, or to work hard, is not the sole definition of a "professional". (Note too that being a member of a union does not constitute membership in a profession either since they are generally local and/or not self-regulating.)
As long as the mythos of programmer as artist persists, programmers will continue to be viewed as non-professionals. Some industries can thrive with artists e.g. game design. But artistry has no place in others e.g. software design of mission critical systems.
-- "Consensus" in science is _always_ a political construct.
Programming science and art
by
Anonymous Coward
·
· Score: 0
Programming is an artform, just like science is They each consist of having the ability to connect things to eachother, it is how to form these connections that is the creative work. Obviously this kind of hard thinking work often requires the person to be able to reach a mental state, where the task at hand will be about the only thing on their mind.
But, a person should also learn to operate with with other tasks at hand. I'm sorry but the human brain is not single-tasking, many people are able to code while thinking of how to compose their next tune, and obviously this creates the need to analyse the specific needs of each programmer. Which project ever gets started without a feasibility study? in the same way, one needs to analyse their programmers, ie. is it really worth keeping this guy if he's gonna take a shower every half-hour or so, or can we find someone who can do the same task while answering tech support calls?
Coders should have their day interrupted by support tasks. Why shouldn't they? The users are constantly interrupted by broken software.
Next time you release something, test it first. You won't have to complain about being bothered by support calls later.
Eat you own dogfood. It's not a novel idea.
-- there's no place like ~
Programming is a creative activity...
by
Goonie
·
· Score: 1
...at least some of the time, but then I disagree with the article's assertion that science is fundamentally different. In the scientific process, you have an idea, then you do a lot of grunt work (we'll equate it to actual coding) to realise that idea. You examine the results of that work (as well as other people's work), and then you come up with the next idea, lather, rinse, repeat.
If that's not a creative process I don't know what is.
--
Any sufficiently advanced technology is indistinguishable from a rigged demo --Andy Finkel (J. Klass?)
I think the biggest barrier isn't qualification and intelligence, although there may be some truth to what you say. I don't know for sure one way or the other, but I do know that it is a pain to coordinate software with someone who is 10 hours ahead of you. I suppose they could work third shift, but even so, most people have a difficult time collaborating over long distances.
In my opinion the larger risk is that foreign companies have access to a local, affordable and competent workforce that could kick our butts. While the parent thread worries about the health of IT jobs, I think the larger risk is faced by American IT companies. It could get interesting.
There is a severe infinite loop that occurs when my manager reads this paragraph:
I know what you'll argue: Think of the expense! If that was the first thought in your head, then you've missed the whole point of this column. Start again at the top, and pay attention this time.
He has been reading this article for a couple hours now!
the worst thing that ever happend to me
by
sirshannon
·
· Score: 1
we moved offices and I was put in a huge room with 4 cubicles. mine was somewhat isolated and it made sense that it was mine. directly behind me was a door. That door was fully glass and led to the sales department. i almost quit over that.
Why programming is hard
by
dumb+kid
·
· Score: 2, Insightful
Programming is hard because almost anything more complicated than 'Hello world' requires that you hold a lot of information in your head - variables, structures, functions, APIs, libraries, algorithms, database schemas, etc. That is why interruptions are so bad. Once you flush all that to answer some suit's question about last month's time sheet it takes forever to get it all back up there.
Add to this the creativity needed in designing and building something complicated and you can understand why programmers like to work off hours (no suits)and why they want weird chairs or desks (no irritating, concentration breaking ergo problems for the individual programmer - and yes, each one is different).
Ever work with a good architect? They have the same eccentricities. So do good design engineers.
-- - Never attribute to malice that which can adequately be explained by stupidity.
Re:"The problem with exporting work"
by
theNAM666
·
· Score: 1
I'm sorry, I'm no racist, but this is simply the way things are.
Well, you may want not to call a spade a spade, and maybe it's not racism, but it's certainly something, and it's also entirely wrong. Just because you can't communicate with someone doesn't mean they're stupid -- usually and probably the opposite, looking at your comments.
I've worked with programming groups in Lahore, outside Shanghai and in several other 'foreign' locations. Properly managed, there is nothing inferior or unprofessional about these workers -- in fact, usually just the opposite. China and India have huge populations (obviously), and (equally obviously) the best of their people congegate in the population centers looking for opportunity. In comparison with many (not all) US programmers (ever employ someone from Berkeley CS? Stanford? they think they own the world!), they are highly motivated, focused, capable, dependable, respectful and respectable. Many have significant project experience. And yes, they cost about a fifth of what you do, and are happy to make that amount. You need to face this, though I doubt you will.
On the other hand, if you're looking for very specific technical skills -- programming graphics chips, embedded systems, robotics equipment, CCD, and so forth -- that's much more rare, overall, and there's no Asian San Jose. But there are plenty of shops in Taiwan that specialize in various types of production and offer start-to-end costs that are still 1/5 of the US. And (like it or not, plenty of./ treads on this) most innovative techical development outside biotech is Pacific Rim. In some circles, there is a new Chinese motto these days: roughtly, "what more does the West have to offer the world?" Asia views itself as the future, the West as old and dying, and they may very well be right, with you wanting $100K/yr for something they're glad (and quite capable) to sell for $20K.
The bottom line: there is not enough tech education in the US (another topic that's been/.ed to death). DBAs can make $150K/yr. not because what they do is difficult -- quite the opposite -- but because it is scarce. But China, India, etc. can produce them at a dime a dozen; we're no longer in the stage of history where foreigners come to the US and learn tech and stay, but just over the hump where they come, they learn, they leave... and teach others back home. It's those others back home who are innovating, while (let's be frank) most of big fat America sits on its arse in their SUVs. Give this pattern another 30 years and you won't have the luxury of complaining about foreign workers, because they'll be complaining about you:)
not me
by
Anonymous Coward
·
· Score: 0
Dark rooms are evil, unless you're developing
film.
I'm a programmer, and I say, give me a room
with LOTS of light and a window with a view,
because (1) dark makes me depressed and sunshine
makes me happy, and (2) after staring at the monitor
for 30 minutes, I need a way to easily focus my eyes
on something at least 50 feet away, preferably
without getting up from the desk. (Focusing
your eyes on something far away helps prevent
eye muscle fatigue.)
And then there are the ancilliary things like
a chair that doesn't make me hurt, a good
monitor, etc.
Light reflects on your monitor, screwing up your concentration.
-- GAAH! MY PRINTER IS ON FIRE!!! PUT IT OUT! PUT IT OUT!
Re:No longer true - more business for consultants
by
khchung
·
· Score: 1
Most programming tasks nowadays involve picking up some toolkit, an IDE, and an office chair, and then dragging icons around to combine parts of the toolkit into some working product.
Yay! I say "Keep it up!" I work in a small company, and we get lots of business from big companies to fix systems made by this kind of "programming". If only there are more "programmers" working this way, thus creating more business for us, I might get a raise next year.
-- Oliver.
Peopleware
by
atlasheavy
·
· Score: 2, Informative
If you're interested in this topic I highly recommend the book Peopleware by Tom DeMarco and Timothy Lister. It's the same basic concept as this article, but (at about 250 pages) far more in-depth. You can buy it on amazon.com for $34. An interesting sidenote here is that Microsoft believes very strongly in these principles, which is why they maximize the number of employees who get offices, have shower facilities throughout campus, allow people to work when and where they want to, etc.
I'm normally plugged into an mp3 player when coding and happy working in some remote corner of the office and I've got to admit, some of the best code I've written is when people leave me alone and I'm isolated from everyone else. That doesn't mean to say that I work well on my own but mucking me around and constant interupptions mean that I'm not at my best.
Here is the psychology of a programmer, as evidenced by experiments done by 1,943 different doctors.
The programmers are the most valuable people in every organization, even if they do a job that is of negligible importance for the rest of the company. Thus, each programmer should earn more in a month than all the shareholders and management of the organization combined earn in a year. Each programmer should be given a $60,000.00 car for each member of their immediate and extended families with all expenses covered by the company. All of this in addition to benefits which include every type of insurance imaginable and every type of investment, paid in full by the company, for the programmer's benefit. All of the programmer's bills should be paid by the company and all discretionary spending should be submitted on expense reports in order that the company can reimburse the programmer for those expenses as well.
A point system should be established so that the programmer earns a point for each dollar spent by the programmer or any member of his/her immediate or extended family, and at the end of the year, the company shall pay that programmer ten dollars for each point earned. Furthermore, the programmer with the most points at the end of the year receives a bonus equal to ten times the combined points of all other programmers in the organization, or one million dollars, whichever is greater.
Obviously, each programmer receives a corner office with a square footage of 1,500 square feet or greater, with plush furniture, a private secretary, a private DS3 connection to the Internet and any computer equipment desired by the programmer.
Every member of the organization will have to make an appointment, through the programmer's secretary, for the priveledge of speaking with the programmer. The secretary may indefinitely tell everyone in the organization that the programmer is busy and cannot talk. If it takes the programmer a long time to accomplish some task, the boss is to make an appointment with the secretary in order to thank the programmer for taking his time to make quality software. If a bug is found in the programmer's software, the boss must make an appointment with the programmer's secretary in order to thank the programmer for all the bugs that were not introduced into the software. If the programmer writes long code, the programmer receives a penny for each character typed. If the programmer writes short code, the programmer is paid 100 dollars for each character typed.
Nobody may criticize anything done by the programmer, and each programmer must be given tenure after 1 day at the organization, after which the programmer may not be fired or laid off for any reason.
All intellectual property developed by the programmer is explicitely the property of the programmer and not the company. After each piece of intellectual property is developed, the programmer may bill the company for royalties for use of the intellectual property. And in fact, all of the aforementioned shall be made federal law.
What does this code do? Why can't I get laid? What does this code do? Why can't I get laid? etc etc
-- It's Christmas everyday with BitTorrent.
Foreign techno poseurs and knucklehead Americans
by
Anonymous Coward
·
· Score: 0
I believe that many US-born techno-ignoramuses in business management assume that foreign software people must be better than US ones.
I can't count the number of times that I have been screened out of interviews by foreign "experts" with incomprehensible "English" asking boneheaded technical questions, and allegedly assessing my abilities in a minute or so, all on behalf of some American imbecile manager.
Who died and made them boss? Why didn't I become a doctor or a lawyer?
A couple points: for sake of argument, yeah. Paintings are useless. Compared to a basket, say. But that's oversimplifying. Rarely are paintings/purely aesthetic/. Painting is a communicative medium. Saying that isn't all that far off from saying speech or writing is purely aesthetic.
2nd: the art/craft argument is similar to an argument I have with art/design. (if "art" is/purely/ aesthetic, it's more/design/ than it is/art/) Back to painting, though. Look at what most people immediately think of when they think of painting - the Rennaisance master painters. They exhibitted a high level of craft. (and, to be sure, a number of them hired "code monkeys" to do some of their painting)
on the combinations of aesthetics and functionality: Emotion & Design: Attractive Things Work Better by Don Norman. This article got me pretty angry, 'cause I don't tend to agree, but he makes a good case.
Pottery: since I'm not terribly familiar of art references in basketry, I'll switch the example to this./Plenty/ of non-functional elements of crafts don't "express their object's function visually" - look at Greek vase-paintings. These clearly aren't art, because the vases serve a functional purpose - but no art historian denies that they/are/ art, nor would I think anyone else who looks at them. And architecture - look at gothic cathedrals, or any other cathedral for that matter. Plenty of the non-functional elements of these have nothing to do with expressing their functionality visually - these cathedrals are works of/art/ using the/craft/ of architecture as their medium.
So, my point: just because art is useless (though I think art's communicative aspects leave that statement on shaky ground), and programming is functional, doesn't mean that there has to be a clear division between the two.
Quote from Seymour Cray
by
oaklybonn
·
· Score: 2, Funny
There are many legends about Seymour Cray. John Rollwagen, a colleague for many years, tells the story of a French scientist who visited Cray's home in Chippewa Falls. Asked what were the secrets of his success, Cray said "Well, we have elves here, and they help me". Cray subsequently showed his visitor a tunnel he had built under his house, explaining that when he reached an impasse in his computer design, he would retire to the tunnel to dig. "While I'm digging in the tunnel, the elves will often come to me with solutions to my problem", he said.
Well, he founded the company, so I guess he's entitled to be peculiar.
if i use a goto, am i tarded?
by
Anonymous Coward
·
· Score: 0
whatever - i use goto's all the time and make 90k a year... i must be a psycho
Most of this is well known and established
by
waveman
·
· Score: 1
Steve McConnell's book "Rapid Development" (Microsoft Press if that worries you) has a chapter on this. Most of the recommendations have been established in peer reviewed research.
One interesting aspect is that noise and open office bother some people but not others. However the studies show they affect everyone's productivity, whether it consciously bothers them or not.
And yes, "creative" and "artistic" are not synonyms.
Hmmm, interesting notions but approaching the topic this way kinda reminds me of people who believe in astrology. Those folks read about the personality characteristics associated with their birth date and they can usually find some attributes that matches their perception of themselves. So they then think astrology has some validity. Not exactly a very scientific way of thinking IMHO.
Using a similar analysis, you could make an equally valid case that most software people lack creativity and are very linear thinkers. For example, when I first started taking programming classes in college I noticed that most people had difficulty because of all the little details you must be aware of when writing code. I just happen to be really good at that sorta thing and ended up becoming a programmer. I certainly don't have much of an artistic bent but I do have that 'focus' thing mentioned in the article.
If good programmers have any common characteristics, tenacity and a high frustration tolerance gotta be at the top of the list.
here is one more essay about "flow", which is i've read a few years ago, and which is more interesting than the original story link (IMHO).
It would be nice, but...
by
Anonymous Coward
·
· Score: 0
I work at a company that just hired a new CIO a week ago. She's got a lot of years in the business, having started 24 years ago as a tape-hanger. In the past week, flex-time, work-from-home, broadband connections from home, and several other perks have been either removed or are being looked at as potential targets at her behest. There's been a lot of talk about "software discipline", "team building", "face time" and "accountability", and a lot of those "I'm tough, but fair" speeches. The number of meetings per day have multiplied. Lots of those scenic motivational posters are going up.
I am familiar with the "flow" mentioned in the article, and (being in) it is one of the things I like the most about programming, which I've been doing ravenously for 10 years. I'm thinking I'll be lucky if I'm ever able to "flow" again in this bleak environment I now work in. I HATE corporate IT.
Being my employer can be a lil weird but really I don't ask for much. I don't want to make huge sums of money or get all kinds of benefits that normal employees want. Most of that stuff is utterly useless to me.
First thing I want is leeway of when I come and go. I am not especially good at keeping track of time when I'm thinking so yes I might show up at work 15 minutes late and leave three hours late. I tend to wander around when I'm thinking so I might just wander out for a walk at anytime or maybe take lunch at some weird time or not take lunch at all. As long as my work is getting done don't bitch at me for these things.
Give me vacations when I want them. I don't even ask for paid vacations. I just need the ability to go take a 3 or 4 day weekend sometimes. Don't give all other employees vacations but deny me mine. The worst I had was a travel agency I programmed for.. they sent all new employees to Italy as soon as they were hired.. except for the couple of us that were programmers. That just really sucked. I really liked working there and would work extremely hard for them but things like that really left a sour taste.
Don't lay me off when the project is over. This is probably the worst. I'm so freaking paranoid now because I take jobs that aren't labeled as per project.. then when the project is over.. after working my ass off to get it done well and done quick.. I'm let go. It's hard to be loyal if you can't trust your employer and it's hard to work your ass off for someone you expect to stab you in the back. If the job is only for the length of a project then say so upfront.
Put up with the fact that I'm weird and not especially good at socializing. Yes, I may wear things ranging from neon orange sweat pants and ratty old tshirts to a purple pinstripe suit but it doesn't hurt anyone. Don't think I'm anti-social just because I don't talk a lot over the water cooler or go out drinking with the guys after work. I'm a busy guy - working for you - so appreciate my effort. If you want me to go out after work with the guys then invite me - in person - several times. A lot of times I'll simply forget anyone invited me unless they ask more than once. It gets lost in there some place between lines of source code. Really go look.. I've been known to make notes such as that as comments in the code I'm working on. Don't tell me that everyone hates me and thinks I'm a jerk because I never hang out. Really not very motivational.
This guys idea about letting the employee pick their own furniture is good. Especially the bit about the chairs. I'm a big guy (6'6, 300lbs) and normal chairs just don't cut it. Give me a small budget for office supplies too. I don't like filling out forms because I need a place to hang printouts. Trying to explain my needs to a none programer is to much effort.
Give me a well soundproofed room. Music helps me program - especially loud music. I don't know why but it does and I'm certainly not the only programmer to have noticed. Having my own office is very motivational to me and if it's well designed I can play my music and not bother others.
Keep a kitchen and bathroom nearby. If I have to go out of my way to get a drink or take a leak then I'll probably just wait til after work which isn't good for concentration.
Don't call my desk every five minutes for no real reason. The phone ringing tends to bother me.
If I'm on call then why not give me a cellphone allowance? That way I can pick the one I want and not have to pay for it out of my own pocket. That way I can pay the bills directly so if I use it as my personal phone too I don't have to explain those calls to my boss. Swap my on-call status with somebody else now and then so I can go on short vacations.
If I'm sick or can't get to work because of the weather then let me work from home. Telecommuting is a good way not to miss days I otherwise would. I tend to get sick easily so being able to work even when sick is a big thing for me. Give me an allowance for broadba
-- At what price learning? At what cost wisdom? The price is a man's peace of mind, and the cost is his life.
Finally, someone who gets it :)
by
Shivantrill
·
· Score: 1
I have been programming on a project for my company for 2 years. It requires not only programming and database skills but a good working knowledge of our company's business and systems.
My co-workers think of me as eccentric and a little odd.
It's especially odd to them when they get email from me timestamped at 2:00am.
I thought all programmers did that until I started working with this group. Our technical lead works exactly 8 hours (regular hours imagine that) and then he is gone...
Our company has been going through several restructurings so I am now staying at home to work, I'm actually running something now.
It's comfy, cozy, quiet and best of all... You gotta find me to bother me.
BTW, I shower 1 to 2 times a day and my ideas come in the shower and right before I'm about to fall asleep.
but in the olden days we had RAM disks to put temporary files on. If virtual memory is effectively write-through rather than write-back, that might explain the poorer performance these days.
I have formed an opinion from several years of fairly consistent experience with this issue. I offered it here as a point for discussion. It is not a universal truth, nor advertised as such. I do not claim that there are two opinions, mine and the wrong one. I do not claim that anyone else's opinion is less valid, or that anyone else's experience is more or less representative.
Some people have come to this thread and offered their own experiences, some agreeing with me, others with a different view. It is interesting to read such things, which is why I posted in the first place.
Other people seem to think it's clever to brand me a racist, tell me I'm in denial, throw names about or otherwise have a go. Anyone who knows me could tell you immediately how absurd those claims are. I could recount numerous anecdotes that would demonstrate how realistic I am about the world of programming jobs, how strongly I have defended friends against genuine racism in the past and so on. But there would be no point; those who know me already know, and people here could either choose to believe them or dismiss them as unsubstantiated anecdotes, so it changes nothing either way. I just don't understand the point of replying to a post like mine and flaming rather than offering an alternative point of view or some personal experience of your own.
-- If you disagree, post your argument. (-1, Overrated) isn't your personal censorship tool for views you don't like.
Well, you may want not to call a spade a spade, and maybe it's not racism, but it's certainly something, and it's also entirely wrong.
Looking at my original post again, I concede that I phrased it as if my opinion were rather more universal than it seems to be around here. Obviously it can only be my opinion from my experiences, but perhaps I should have stated that explicitly at the time. However...
Just because you can't communicate with someone doesn't mean they're stupid -- usually and probably the opposite, looking at your comments.
We're not just talking about me and communication, though. We're talking about (for example) a project that ran for nearly six months with a dozen or so outsourced developers, with all the cost that entails, which never produced a product. The product was then produced in around a month by a UK-based team half the size. I was not involved in either group, so I have no personal axe to grind, and there is nothing subjective about the fact that one group produced the goods and the other simply didn't (though costing several times as much nonetheless).
As I have noted elsewhere in this thread, I have met and worked with some very good programmers from India and other countries. A couple of the best guys I've ever worked with have been Indian. I simply find them to be in a pretty small minority, and I've had to clear up the mess personally, or seen my colleagues do so, in too many other cases to believe people around here who tell me I'm making it all up. Looking at the replies to my post, although pretty much all are inevitably anecdotal in a forum like this, I am clearly not alone in having formed this view.
At the end of the day, though, I'm far more interested in experiences like your own, whether they agree or disagree with mine, than in people who can't possibly know deciding that I'm a poor communicator, racist, in denial or otherwise necessarily the cause of all the problems I've seen.
-- If you disagree, post your argument. (-1, Overrated) isn't your personal censorship tool for views you don't like.
Re:...her? What Would Steve Albini Do?
by
Anonymous Coward
·
· Score: 0
http://www.gourmandizer.com/ezine/albini/
It really bothers me when people misuse the pronouns "they" and "their". The non-specific third-person pronouns are "he" and "his". If you wish to avoid offending the dogmatic imbeciles who claim such pronouns imply cultural sexism, then change all your sentences to the plural and you may use "they" and "their" to your coddling, timid, bleeding heart's content.
I think I gonna spam some frieds with a link to this article now...
No more "ffs you've been at it for 12 hours straight ! Take a break !"
IT'S ART DAMMIT !
-- "My mom always said that there are no monsters - no real ones - but there are !"
Very simple analogy -- but it works.
by
Anonymous Coward
·
· Score: 0
>"You are absolutely right. But for non-programmers it is hard to believe"
It's very easy to explain, and I've used this example numerous times over the years. Explain to whomever-is-bugging-you that programming requires the same level of concentration as filling out a federal tax return, with attachments.
That others really can't understand what a programmer/sysadmin is doing. They don't understand (for the mostpart) when a really good program is made, how much sweat, blood, and tears can go into it.
They do understand when your software doesn't do what they want, or needs a bit of debugging, etc. Which ends up with the coders often getting ragged upon, but not complimented on a job well done.
Still... sometimes I think the sheer volume of amatures that consider themselves programmers helps to forward this downfall. I mean, there are a lot of people out there that chose IT for money, got a half-education (or worse, half self-education... though a proper self-education from the right sources can be better than college) and decided to call themselves programmers. These people take work from the real dream-team coders, and end up causing havoc in project teams, making bad code, and generally sullying our reputation.
Contents of next weeks Purchase Order:
-2 boxes printer paper
-2 Palm Pilots
-4 Programmers (boxed in shrink wrap)
Re:"The problem with exporting work"
by
theNAM666
·
· Score: 1
Thanks for your reply, which clarified your position for me.
Unfortunately, I've often seen negative remarks from US developers here, and (without some more information), I'm afraid I do have an assumption of disguised racism etc. given the level of pure complaining on/.
On the other hand, your experience above brings back memories of many projects from San Francisco or San Jose companies that were just plain dumped on a foreign team through a recruiter... three years ago, I could have named 10 companies that would promise foreign "outsourcing" of almost any project... and usually the company purchasing the service had no history working with the foreign entity, little idea of the details on the other end, no intent to send a project manager to the foreign site... in short, no ability to manage the project. More than a few "incomplete" messes resulted, though it was not always simply a fault of the foreign teams, but as well of the lack-of-diligence culture that had developed in "the Valley."
It's a very large topic, but any sucessful use of a foreign team requires sucessful management understanding and planning, of course. You have to know the entity you're dealing with and how to interface with them, and, to some extent, their track record and competencies and personel. Someone -- or many someones -- have to get to know them, and there have to be formal or informal metrics of performance in place. If your organization has already worked with a foreign entity, you may have developed the trust to "drop" them a project without much supervision -- but if your organization doesn't have that experience, I at least would be wary.
And there's of course a reverse to my comment that Asia has large populations: they therefore product proportionately more bad programmers and shops, as well. Did the organization know the British shop or the "outsourced" shop-- at least, by reputation? How were they judged to be competent for the job (or now judged, if that was the case)? Most American organizations have some developed relationships with British and other "trustable" sources, if only as a result of their internal personel's previous experiences and contacts. Even in California, they usually lack the same level of internal experience with with Asian companies. The result is something of a double-edged sword: either their personel ignore a resource (Asian and other foreign programmers that they are unfamiliar with) precisely because they are unfamiliar with it, OR they (or management) somewhat blindly assume that foreign resources that they are unfamiliar with will produce what they expect from more familiar sources. And often, managment that simply contracts with a foreign outsourcer without established relationships is blissfully unaware that a programming project is often incapable of being wrapped up like an order for bolts and fulfilled anywhere: success or failure often depends not only on 'good communication' or raw 'skills', but on understandings and capabilities to communicate that are built up in personal relationships and time, as well as languages and cultures.
That is, a British firm may be a better choice simply because you're capable of interfacing with them more smoothly because of culture and language (even if your personel don't have established relations with them). While I phased it a bit too harshly to get the point across, one idea I meant above may be that you simply can't communicate with many foreign programmers -- either their skill in your language or yours in theirs is too poor to have a good interface. So it is often easier and simpler to deal with a British team vs. a Chinese team. You could also often say this about a British team versus a French or German or Finnish team, as well. Much of the last 20 years of technical development is filled with this... the Finns are great with each other and some other countries, etc... and the big consulting companies have equally been dealing with such issues for years as their teams have internationalized.
I think I agree with pretty much everything you say. It's not that I have a problem with the idea of Indians as developers. As others have noted, they are often enthusiastic, hard-working and educated, all admirable qualities. My problem is that as things stand today, exporting the job just doesn't get it done most of the time, in my experience.
There seems to be, at least from what I've seen, a lack of technical expertise amongst the average programming population compared to the calibre of people you'd find routinely in high-tech centres in the US or Europe. I totally understand the communication problems as well; I used to work with a very nice Chinese lad, no personal issues, but his language skills created a barrier that seriously hampered his technical ability to work with others.
Of course, it's also quite possible, as you suggest, that better management could fix these issues. Treating the foreign developers like people worthy of your time, investing in their training to bring technical skills up to scratch where they're lacking, providing better channels of communication and the opportunity to improve (human) language skills as necessary would all help. We can but hope that good businesses who invest in their people like this will be the ones to reap the rewards.
-- If you disagree, post your argument. (-1, Overrated) isn't your personal censorship tool for views you don't like.
There is no psychology really involved... Just treat the programmers as the professionals they are. Treat them like people.
Cover your eyes and click this link!
Well intentioned, but the reality is programmers are being wholesale replaced with foriegn labor. Businesses, especially non-IT ones, want nothing to programming or hiring programmers. Much less cater to them in any way above other employees.
A shower?? There's a guy in the Republic of Elbonia who's willing to work out of his hovel on a old 386 for $4 a day programming. He doesn't demand breaks, and there's no coffee machine to stock. And he's viewed as a nearly identical resource. Now is not the time to demand high priced add-ons. But... if we could just get the people of Elbonia to buy into this and equalize the market...
I learned about psychology of the people in general from the Scott Adam's "Dilbert and the Way of Weasel". That is all what I need to know :)
Consensus is good, but informed dictatorship is better
Peopleware
The Psychology of Computer Programming
The Mythical Man-Month
Why do people insist on using 'her' instead of 'his' for the generic pronoun? It isn't 'sensitive', it's illiterate. Using female pronouns is even somewhat insensitive: it implies women need to be compensated for, and gratuitously inserts a gender issue into one's writing.
There are many different types programmers out there with different strengths which are definently related to their personalities. I agree with the article about how creative programmers can enter a state where they can see the problem from a holistic viewpoint and then code just starts to flow from them. I have experienced this state several times, where I space out and my fingers just start bashing away on the keyboard producing code with suprising compiles that first time, bug free, and does exactly what was needed. When this happens, according to what my friends say, I don't respond at all to them, what they say goes in one ear and out the other. This also happens to me when I play my guitar, when I get going on a groove I just zone out until I have finished. When I do get forcefully interupted there is hell to pay, it is extremely annoying to having someone force me out of such states. This state of mind reinforces to notion that creative people make good programmers, possibly better than less-creative people. The odd thing with this is that I did horribly in the non-science courses in school. I got 75% in english while the majority of the class got 85%. But then again I did really try, I never paid any attention really although he was a really good teacher. Another interesting thing is that in a project I was working I never commented any of my 7000 lines of code yet when I came back to the code half a year later, despite from what most people say, I could still clearly remember what each line did. In further explanation of my persona and why it makes me a good programmer is that despite being a complete geek I am also into extreme sports, downhill biking, windsurfing and so on. These are my outlits for taking a break. Is anyone else like this?
Checking out my form of escapism.
to make ME an ineffective programmer.
People ARE different, what fit one, not necessarily
fit other.
My performance when I am alone and uninterfered
is about 5% compared to when I can talk about what I am programming to other person (even not necessary a programmer, just a good listener).
"When creative people work on making something new, they often enter a mental state where things just flow. This is a highly desirable state, both for the programmer herself and for the organization that profits by her labors."
what's w/ this recent trend towards using feminine pronouns where they're totally inappropriate. I don't think that I've met more than three female programmers in the decade that I've worked in this area. There are a sizeable minority of female sysadmins , but very very very few women programmers. Is cousin fester trying to be PC , or is he just totally oblivious to the fact that for all intents and purposes there are no female programmers.
In general this article is queer , frankly most of what proports to be psychology is bunk. Programmers are actually alot like engineers. I think this guy has a very shallow understanding of what engineers do. Programmers certainly aren't like most of the artists I've met. It's nice that he recognizes that development entails a creative process , but that's only one aspect. The rest is pretty clearly engineering.
Just tell me what you want. Give me money for food and all the hardware I want! (And dont bugg me about broken printers!) = One happy coder!
From the article: programmers usually do have a longer attention span and a greater ability to concentrate than the majority of the population.
I was going to try to figure out what the heck this guy was thinking, but I got distracted.
.. not in my job, unfortunately, as it involves nothing creative in any way, but helpful for me to give to my flatmates to explain *why* I do NOT want to be disturbed when I'm working on the computer.
Rather foolishly, I had never given much thought to analysis of my creative processes - but the "change of context" issue has allowed me to understand what it is that disturbs me.
--Nick
She programmer ??
Which shows that this guy doesn't know scientists. Scientists - true scientists, not technicians - are very like this guy (correctly) describes programmers. Both programming and scientific research are creative skills which, as the man says, require you to be "in the groove". He is not wrong about programmers - he is wrong about scientists. Techicians, to some extent, have less need to be "in the groove" - though much of what he says applies to any human being, with only the time constants varying.
OTOH. 3. Accommodate Reasonable Special Requests. When I get really stuck on a design problem, I go for a walk in some very beautiful woods about three miles from my office. An hours walk in the woods has about an 80% chance of delivering a solution to the problem. Even, curiously, if I don't spend much time conscioulsy thinking about the problem. In fact, I sometimes feel that by subconscious is telling my conscious to let go that problem and leave it to me. Dropping a problem for an hour or day and then coming back to it can be remarkably constuctive.
In fact, I sometimes feel embarasssed that the conscious "me" claims credit for the bundle of mad scientist, lechers, random thought generators, and idiots who inhabit my subconscious and do all the work.
Consciousness is an illusion caused by an excess of self consciousness.
That is not to say that our education system is evil (well, it is, but that's not the point) or that people today are stupid. The reason for this programmer pluggability is that the market evolved to the point where creativity simply is not neccessary, since most common problems have been solved and codified -- and there is no demand for uncommon tasks.
The only two places right now (IMO) where creativity and real intelligence are needed are the embedded coding and theoretical CS research. Theoretical CS research requires creativity because it's, well, research. Embedded design requires creativity because the resources are so limited, and a pre-designed solution simply will not work in your PIC16 microprocessor with 4Kb of RAM, and so you must be really tricky to make your program fit into the limited space and time constraints.
Outside of these two niches, programming has truly become similar to construction work: a few engineers design the building, and then 100 grunts carry bricks around and hammer nails until it's done.
>|<*:=
I think the article has an interesting perspective, and I totally understand the "in the zone" argument. Sometimes you have it, sometimes you don't, and sometimes an interruption really is just soooo irritating.
However, I'm not sure the suggestions are really the way forward. In particular, such research as I've seen (sorry, can't cite a link off the top of my head) suggested that actually, a small team of programmers was much more productive in their own open-plan-like "team space". There are several logical explanations for this, not least the fact that if you do get stuck with a mental block, help is just a question away. You also get interaction with conversations other members of the team have, and either learn something yourself or offer them a solution neither of them knew about but you did.
Sure, you need to have a team who get on, and realise when someone is really going for it so they don't interrupt at just the wrong moment. But all that really takes is having a little consideration for your team-mates, and a willingness to say "Can I get back to you in half an hour?" without being distracted, neither of which is hard to do. No-one really sits in the zone all day, it's more like a few minutes when the germ of an idea comes to you and you want to flesh it out, and that's the time when it's bad to be interrupted.
Other than that, I find it's much more helpful to have the interaction for the remaining 90% of the day, so you don't get "programmer's block" and just sit there thinking about a problem but not really getting anywhere. I guess this is one of the major advantages of "pair programming", too, if you've got people who are happy working together that closely.
I agree that programmer comforts are generally a smart move: where I work we have a decent flexitime system, concern over things like chairs and lighting, headphones so people can listen to CDs while they work and, yes, even a shower. These are all good things, appreciated by the developers, and so the developer productivity and loyalty is very high. But we still work in an open plan office, even if everyone does have "their space" in it. :-)
If you disagree, post your argument. (-1, Overrated) isn't your personal censorship tool for views you don't like.
I only skimmed the article, but it looked like more self-indulgent "programmers are special" whining.
programmers usually do have a longer attention span and a greater ability to concentrate than the majority of the population
Anyone who has a degree has a longer attention span and greater ability to concentrate than the majority of the population. There is nothing here that makes programmers special.
Writing code is an act of creativity. It isn't science and it isn't engineering, although programmers are happy to apply science and engineering to the creative process, when possible.
This is just nonsense. Why can't engineering - the design of a new product - be creative? Why can't science - the discovery of new knowledge - be creative?
The vast majority of programming in the world is not creative. It's a skilled craft, sure, but it's not about creativity - that is, making something exist that did not exist before. One database application, or web site, or GUI etc is really much like another. The details differ, but it is not pushing the envelope of the possible, like scientists and engineers do every day.
Professor Mihaly Csikszentmihalyi of Chicago University, formerly the chair of the psychology department, has studied hundreds of exceptional individuals, from IT entrepreneurs to Nobel Prize winners, researching creativity. He has written many books and papers on the subjects of flow and creativity
An entrepreneur has a wholly different perspective than a programmer. There may be some overlap between the two groups, but they aren't directly comparable. An entrepreneur will spend most of their time on tasks other than programming, for a start, such as raising funding, making sales, hiring employees, managing existing staff, scouting out the next office, a million other things. But the article is all about how programmers can only do one thing at a time.
If a programmer's flow is interrupted it can take a large amount of time for her to regain the state, sometimes up to an hour.
This is just mystical hand-waving. I half expected the next paragraph to be about "using the force".
you should isolate the programmer in his or her own room.
why not give each programmer a budget with which they can buy their own chair and desk?
This is just more "programmers are special and should get special privileges". Programmers are no different from any other skilled craftsmen or any other office workers.
I don't give a fig if this costs you more money; the potential benefits are huge. If you continue to view the world as a risk/value proposition then you'll continue to produce mediocre results.
Any sane business manager weighs up risks and rewards. The suggestions in this article aren't about productivity, they're about luxury. Work is work - many people forgot that in the 90's when an office was more like a kindergarten, and look where that got us - many of those people are unemployed now. It's time to grow up and start behaving like all the professionals in the world.
(I drafted a rant, re-read the article, and re-wrote my rant. It's not so harsh now :)
:)
Programmers should be treated like professionals. Just like every other professional. What a revolutionary concept.
However:
A secretary is being creative when s/he drafts a letter to send to a client on behalf of the resident phb. Does s/he get a shower in his/her office? How about the sysadmin that creatively comes up with a method to speed up deployments? And the engineer that shaves 10% off the time to manufacture your widgets?
Just because your job involves being creative does not mean that you deserve special consideration. Adequate tools, training, and respect, yes. But everyone needs those to perform their "best."
Therefore, this article is bullshit. All creative people can perform better if you enhance their working conditions. All *people* can perform better if you enhance their working conditions.
What a waste of electrons.
(Yes, this is 90% nicer than my previous rant
Robots are everywhere, and they eat old people's medicine for fuel.
I fear that we are heading into 'real engineers don't eat quiche' territory here...
Surely the point is that the guy is talking about creating stuff from scratch, and most programmers and most engineers don't do that most of the time. If you are building bridges, most of the time you take an existing design, tweak it a bit, and ship it. And a lot of programming is like that too.
Now I suspect that engineers who are working on a fundamentally new type of structure look a lot like programmers who are writing some radical new program from scratch. The nearest equivalent to what the latter feels like to me is composing polyphonic music scores, which most people would consider to be art, but which you could equally consider to be applied math.
And if you haven't met more than three female programmers, all I can say is that you need to get out more :-)
Virtually serving coffee
The problem with this whole "exporting work" argument is that, the vast majority of the time, the foreign workers simply aren't as good at it, or even close. I'm sorry, I'm no racist, but this is simply the way things are.
It's true of call centres, where people reading from a script with no concept of the product and English as a second or third language just don't project a good impression or offer much help. If you doubt this, ask Carly about how HP did when they moved much of their call centre work abroad.
It's also true of programmers. If someone in India can do the same job as me, for 1/10 of the price but just as well, then apparently at least one of us has got our expectations wrong. OTOH, if a programmer in India has the same job title as me, charges 1/10 of the price but does 1/20 of the work, is this an improvement? Of course not. And I think it's fair to say, quite objectively, that the vast majority of foreign developers lack the education, industrial experience and professionalism exhibited by decent programmers in places like the US or UK.
In the long run, companies will have to adapt to this. They will either recognise that the cheap option doesn't stay cheap when your quality, and consequently your business, suffers, or they will see the need to invest in proper training and support of the foreign labour to raise standards, which will cost them more. Either way, you do get what you pay for. It's just a matter of time until corporate greed starts losing to smart management on this one.
If you disagree, post your argument. (-1, Overrated) isn't your personal censorship tool for views you don't like.
After 8 years of software testing and QA, here are my experiences of programmers. No it's not flame bait - but mark it down as you wish
1. They do not know the meaning of deadlines! How many times, I've been working late because some dim wit of a developer didn't see the importance of actualy meting the deadline he proposed himself. Working late evenings, working weekends because the programmer didn't see why he should put the extra time in to catch up. Sounds familiar?
2. They do not know the meaning of quality. How many times have I sat there with a program or package from development that simply will not work / start-up / compile. All this despite development's assurances that they do actualy unit test. I once had to test a program that did nothing, ie it was called from another program, but all it should do is close itself down - it was a stub. How difficult is that to program and how difficult is that for the programmer to test themselves? It took SEVEN attempts to get it right!
3. Keep it simple stupid! How many times have I had to sit there wondering if I was looking at the correct Buisness Requirements and Functional Spec. Final designes seem to be as complcated as posible rather than simple. Functionality slippage is common - lets put this bit in as well.
4. Yes, but programmers are artists. Bollocks! If you look at almost any system, you will see that the basic number of functions is very limited. Given any average office system, you could probably find public domain code to do 90% of what you need. Yes it will need changing and tweaking, but this idea that you sit there creating is simply rubbish. Perhaps if you stopped creating and started engineering things would be better.
5. The Prima Donna syndrome. Programming used to be a black art. Well it isn't any more. However, some developers seem to think they should still be treated differently as this article demonstrates. If any other professional argued that they needed a kip durring the day, they would probably be booted out. You want a kip, have it at lunch time! Not having a much time at lunch - welcome to the real world.
I know this is going to be marked down as flame bate, but it has to be said it is about time that programmers came back into the real world. With comments like If a programmer's flow is interrupted it can take a large amount of time for her to regain the state, sometimes up to an hour. do you realy wonder why people question programmers professionalism? Everyone else has to work hard for a living, and creativity comes into most jobs, but most just get on with it.
That last bit should be:
you should isolate the programmer in his or her own room.
why not give each programmer a budget with which they can buy their own chair and desk?
This is just more "programmers are special and should get special privileges". Programmers are no different from any other skilled craftsmen or any other office workers.
I don't give a fig if this costs you more money; the potential benefits are huge. If you continue to view the world as a risk/value proposition then you'll continue to produce mediocre results.
Any sane business manager weighs up risks and rewards. The suggestions in this article aren't about productivity, they're about luxury. Work is work - many people forgot that in the 90's when an office was more like a kindergarten, and look where that got us - many of those people are unemployed now. It's time to grow up and start behaving like all the professionals in the world.
(/. isn't a distraction, btw. It is part of the spin-up process for me. ;-))
The su (spouse unit/super user) and I changed our schedules when our kid was born. The su works part time and I work full time, including Saturdays for 10 hours. Only 23 of my work hours are during "normal business hours". I've done it for over 4 years, and in that time I've done so well that I've been promoted. Today I'm a principle investigator on a research project.
The bottom line is that companies can realize considerable gains by accommodating creative people.
Graham
Linux - Fast Pane Relief
Just look at the guy's photo - it's obvious what he really wants to do is sell you out to the Agents so he can be reinserted into the Matrix.
In Soviet Rush, today's Tom Sawyer gets high on you.
I think that you could easily replace every occurrence of the word "programmer" in the article with the job title of almost anyone who works in a non-preparadigimatic field. Spending money on the individualities of your workers may be applicable in certain situations and outright wrong in others. The army is a good example of an environment where individuals dress, act and perform in a bland, stringent and uniform manner and yet are highly productive (in their specified field).
If you outlaw the law, only criminals will have laws
I've got to say that article was quite the ego booster.
First, programming is most definitely an art as it is a blending of layout, design, creativity, and tasteful hacking to derive a solution.
The section about programmer's concentration was interesting, and I definitely fall into that category. It is nothing for me to sit down to go through the process of designing, coding, debugging, and repeat for 8 hours, without realize it at all. It only speaks of my passion for my work, and my enjoyment in solving challenging problems.
Poster here who have noted about treating programmers more like people than equipment hit the nail right on the head. In my school, our proffessors warn us to avoid jobs that look as though the employers treat programmers as "code monkeys" (if you sat enough monkeys at computers typing C, how long would it take until you get MS Office?). At some of my best internships, and the job I have gone back full-time to, my section leader encourages his team to take regular breaks (which often involve heading back to an ongoing game of RISK), schedules frequent offsites/classes/excursions to get us out of the cubicles, and overall creates one of the healthiest work environments I've ever been in.
All that said, I shouldn't be to programmer biased. Not all programmers are great programmers who have mastered that mystical "flow". I could see a manager reading this article, trying all these things, and getting really burnt.
It's all a game of balance that definitely begins with treating employees like people, not equipment.
You are not a unique little snowflake. You are the singing, dancing bullshit of the world.
I think you overgeneralise. Some development tasks (writing dumb database front-ends, principally) require little creative input. However, much of the back-end stuff requires creativity. Writing a good UI requires creativity. Even designing good database schemas requires creativity.
It's true that a significant fraction of "software development" today just involves using VB, Java and/or web scripting to put together McDatabase code, and that's probably fairly easily automated. But there's a whole world, a much larger world, of programming beyond that, where skill and creativity are still far more important than ability to read a cookbook.
If you disagree, post your argument. (-1, Overrated) isn't your personal censorship tool for views you don't like.
Why do people insist on using 'his' instead of 'her' for the generic pronoun? It isn't 'sensitive', it's illiterate. Using male pronouns is even somewhat insensitive: it implies men need to be compensated for, and gratuitously inserts a gender issue into one's writing.
Idiot moderators.....
Sig:
Navy nuke sub lifestyle?
He is right about the creative process, but he doesn't give all the data. Creativity can be enhanced using discipline. If you are painting (among others), then the creative process allowing your mind to wander in any direction can be useful. When developing software, restrictions involving design are useful. Yes, the shower may be useful.
I wonder why this article was picked up by slashdot readers. There are many on the creative process and quite a few at least on the software process. Many will contradict some of the points in this one. This wasn't a peer reviewed paper. Don't accept it as gospel just because it says what you want to hear!
I particularly like how this fellow uses Autism as a reason, then clarifies it by noting a single branch of the entire syndrome as if that's what it's *really* called, and finishes up his great assumption by explaining that autistics must have high concentration levels.
While they're in the same psychological realm, he's trying to refer to ADD.. not Autism.
From ADD.org
"You get one idea and you have to act on it, and then, what do you know, but you've got another idea before you've finished up with the first one, and so you go for that one, but of course a third idea intercepts the second, and you just have to follow that one, and pretty soon people are calling you disorganized and impulsive and all sorts of impolite words that miss the point completely."
Autism on the other hand is the complete inability to concentrate on ANY task for short periods of time. Autism is associated with Stims, self stimulatory behaviour. Asperger's Syndrome is a "mild" form of Autism that tends to affect mostly boys. Note that there is still a lack of common sense associated with this. Simply being quirky is not Asperger's.
A child with ADD is more than likely able to understand you when you tell him to "sit still, eat your dinner," while a child with Autism might just flick his fork around continuously while he's eating.
Credibility: I work with Autistic children, and ironically, have been diagnosed with ADD.
I've worked for a fariety of managers over the past few years and I've found that they either understand programmers, or don't. They can either acomodate the quirks or can't and that's it. This or any article stands no chance of changing their outlook.
One issue the article fails to mention is that you can in fact divide one programmer between development and support roles. The article says don't intersperse these roles durring the work day, but I've found in my own work, - which requires both activities - that the manager simply has to allow the programmers to do his own time alocation, for example, I find that I can get into the work day completing a series of support tasks, in the morning when I'm relitively stress-free, then in the afternoon, turn my focus to one of the never ending pile of development projects on my desk.
Having said this, I have to agree with the author that interspersing these tasks such that every 45 minutes the programmer has to stop developing and change his mindset to support a user, hten shift back into development mode is inherently bad.
The point is, programmers - being artistic as they are - are reasonably flexible. It's just important not to expect unreasonable flexibility, as this would prevent achieving the nessecery level of focus on each of the tasks at hand.
--CTH
--Got Lists? | Top 95 Star Wars Line
I dont really want a 14G showers. But faster PCs would be nice. One of the biggest concentration breakers is waiting for the machine to do something essential. Like waiting 5 minutes for a one line change to compile and link. Want your programmers to become more productive without even knowing it? Buy them better ecquipment. And make sure they dont spend the new found bandwidth playing games or reading slashdot.
I think there is a single, simple, well-understood word for that: intuition.
Painting is an art. Playing a musical instrument is an art. Programming, like everything else explicitly constructed by man, has distinct rules to it that allow one to do well, and can be objectively deconstructed to what makes it good or bad. Calling programming an "art" is just self-congratulatory tripe that people spew to fool themselves into thinking that they have a human side.
--sdem
Sorry, but any article that purports to have artists and scientists at two ends of a spectrum is obviously false.
True scientists and true artists have more in common than the general public thinks. Art and science are built on pure creativity; open minded scientists and artists also mesh well together, and can have some stunning conversations which provide insights into each others work.
I suggest you all read Martin's play "Picasso at the Lapin Agile" for a little insight.
Jim
Finally someone who recognizes glorified word processors for what they are.
A programmer is easy to please; Just give him a dark room, electricity, a decent uplink, a computer and money to buy additional hardware for and he is happy.
GAAH! MY PRINTER IS ON FIRE!!! PUT IT OUT! PUT IT OUT!
Mr. Dollery is right on the money. Using myself as an example, when my manager asks me to attend 10 meetings a week, of which 2 are useful, then things will not get done on time. Meetings in my company lasts for at least an hour. Thus, 10 meetings is a minimum of 10 hours. That leaves 30 hours to do the work. However, of these 30 hours, at least another 10 hours is spent explaining to the rest of the team what went on in those meetings (our company has a "dynamic" vision where information should be passed to everyone). Due to the lack of time trying to get a project finished or the project is finished half-assed because of the lack of time, there are production problems that must be dealt with. These waste about 5 hours a week. That leaves about 15 hours. But, since all of the programmers here have open cubes where non-programmers can pass by and start talking about "the weather," these tend to waste another 5 hours per week. Wow, I actually have about 10 sporadic hours per week to get my project done on time! Overtime? Hell no! I don't paid for overtime. Yeah, well, I should be grateful that I have a job in these rough times, but programmers just don't get any respect around here. Our CEO is even said publicly that the I.S. Department is a necessary evil. Now how can I have respect for the company? Keep the programmers out of meetings unless absolutely necessary and give us some privacy so we can concentrate.
Vince
"Happily lived Mankind in the peaceful Valley of Ignorance." -- Hendrik Willem Van Loon
What a dolt!
My artistic friends are the only ones outside of physics who *do* understand me when I'm talking about quantum physics!
I'm sure there are plenty of programmers who are tremendously creative, and probably most programmers are held back by their jobs--they get suckered in to "find-->replace" programming or assembly line programming. I truly feel sorry for them--it is like a scientist forced to study something mundane, being drained of all creative energy. Or like an artist, forced to do a piece in someone else's style. It is sad.
I'm sure there are natural assembly-line programmers too. They are the house painters. But there are a lot of Rembrandt's whose time is being wasted painting houses too...
KL
Before I become a programmer the most fun I hadwas with woodworking. I'd been through several jobs/ job fields, but didn't enjoy the work. I think this editorial is really onto somthign that should be examined more closely.
From personal experince, the average programmer spends 2-3 years at any job. The most common excuses for leaving: lack of challange, lack of requirements flexability, inflexible or unresponsive managment, and red tape(configuartion managment going out of control and issues such as having no-control over or insight into released project environment).
"God fights on the side with the best artillery." - Napoleon, Marshal of France - speaking truth to power
If it wasn't for my home office, I would never get any code written. This should be a strongly considered option for more companies, especially small ones with few people to a project.
Promote civility: mod down any post starting with 'ummm'.
Of course managers are off in their offices so they don't have to put up with it...
Last time I checked, most coders were male.
When was the last time you referred to a babysitter as he?
Grrreat idea! Now your office is going to have skinnable chairs and themable desks with a configurable number of legs :)
Comment removed based on user account deletion
OK, I'm going to do this in AnonCoward mode and hopefully steer the careful line between critic and troll-who-must-be-hated.
I think long-term programmers don't do themselves any favours having the precious attitude to their work and status that articles like this suggest. Lots of people do work demanding of high-level thought, be it creative or indeed technical; and they do it without any of the hoopla, coddling or special treatment that programmers seem to think is somehow their right. This self-congratulatory tone running through the article is rather sickening to anyone with a responsible job who isn't a full time code monkey.
In any case, in my book, being a true professional implies you can get the job done to the best of your abilities in adverse conditions. Anything else is bush-league.
She was from mainland China. Maybe that's where they are all hiding.
Read it many years ago - it's still relevant. The Psychology of Computer Programming - Gerald Weinberg.
Understanding programmers goes beyond merely "treating them as the professionals that they are."
Ryosen
One man's "Troll, +1" is another man's "Insightful, +1".
What they really need is a "Psychology of a Company" or "Psychology of working for someone else" for programmers to read.
Too many programmers are Asperger-syndrome types that have difficulty with social skills and with understanding that THEY work for SOMEONE ELSE. They are not the boss, and therefore, just because they think something should happen a certain way, doesnt mean all other ideas are wrong.
There is a severe problem with tech workers in this respect. Too many think that they are driving and refuse to take direction. Too bad if something like this were written, most of them would not read it, and if they did, they would discount and ignore it.
Worse yet, at one point I had to account for every fifteen minutes of work on a time card and it was seriously expected that you would do that within a few minutes of the time noted.
Academia is better, but in my last job I had an office on a public hall and the noise from the hall and the noise from the very noisy ventilation fan were a wonderful discouragement to thought.
The management put me up in a hotel for a month to finish off a project (working at the hotel instead of the noisy office, sleeping at home). Despite the fact that I lived ten minutes walk from work (the hotel was in between). It got done and was a big success, but it must have cost them money! (Maybe that was the point, to show the client that they were spending money on the problem).
I don't know if I can agree with the statement anymore that programming is an art form instead of a science. I certainly recognized the creative component when I was programming, and at that time there not much engineering discipline applied.
In the last ten years there has been a lot of movement to add discipline to the software engineering process. The Software Engineering Institute/Capability Maturity Model (SEI/CMM) may be the chief among these, as its creation was originally sponsored by the US Department of Defense. This model does take a lot of the fun out of programming, but it does provide the business benefits of a disciplined approach, which is chiefly a reduction in defects.
I think there is a mechanism in physical engineering that does not carry across well into software engineering organizations that follow SEI/CMM or other programming methodologies. In building construction you have the architect who applies both functional as well as creative/artistic qualities to the work. Then you have the (civil or other ) engineers that apply more of their discipline to make sure that the building works and does not fall down and meets other requirements. This is oversimplified as there is a necessity for creativity at all points of constructions, but I don't think this analogy carries well to software organizations. Maybe it does in web development groups, but those are outside my area of experience.
Use your head, can't you, use your head,
You're on earth, there's no cure for that - S. Beckett
Some of my best programming was done with all the lights out, sometime after 11 pm with Ministry blasting out of a very good sound system. It was just me, the music and the code.
Similarly, I am working on creating a new Distro at the moment, but work in a small cubicle hell, and I find it very hard to do stuff since there is constant interuptions...and a number of other demands on my time that interupt me. sigh.
ttyl
Farrell
CAN-CON 2019 - Ottawa's only book oriented Science Fiction Convention! October 18-20, Sheraton Hotel, Ottawa, Canada h
He forgot the most important bit, programmers are incredible narcissists and love nothing better than to ruminate publically on why they are so much better than the rest of the population and require special handling. Instant Slashdot coverage!
Sometimes it is good for a programmer to be interrupted.
Some author - maybe it was Hemingway - said that when he was done writing for the day, he'd always stop while he was still "into" it. This gave him something to look forward to the next day. It gave him a place to start.
I think a similar technique is useful for programmers. For example, say you are writing a really fun function but only have 10 minutes of work left. I say, stop writing! Spend the rest of your time on the net reading some tech articles, or improve your code's documentation (if you think documentation is boring, maybe you aren't doing it right. When you document, pretend your talking to another programmer about your program).
When you come in the next morning, you'll have an easy way to start the flow again. You won't be hacking around trying to figure out what to do next.
Malachi
http://www.google.com/profiles/malachid
Nothing is worse than the telephone or random visitors. Especially when you are expected to help them.
I've found the cure-all for these problems though... work 3rd shift. No one bothers me at 4AM.
I hated being in the building, not wanting to hear who was porking whom from a three cubes down(you know who you are, Bitch!)or the personal problems of a bunch people who hated management, hated the products they were working on, and hated life in general.
Once I got my office, or more importantly, ONCE I GOT MY OFFICE DOOR, I could shutout the bullshit, crank up the tunes, and get down to business. Microsoft lets you decorate your office however you want, so over time my office became my favorite place to be. People joke about how people at Microsoft would rather send email to someone in the office next door, rather than get up and ask a question face to face, but nobody likes to be interrupted from a programming train of thought.
I would never, EVER again work as a programmer, if it meant going back to a cubicle. In a cube, you are nothing but a faceless, nameless pod person, waiting to be replaced by some other pod who wants to work for less than you do.
What we have here is a classic case of "telling programmers what they want to hear". I wonder if this guy is selling something?
--sdem
Your experience doesn't go against what is said in the article.
When the author talks about interruptions, he's referring to people coming by and asking you something completely unrelated to what you're doing. The difficulty is when you're forced to lose your train of thought. He even mentions that it is acceptable to tap someone on the shoulder and ask about the work they're doing.
Of course, if someone comes up to me and taps me on the shoulder while I'm focussing on programming, I generally jump three feet in the air and yell at them. So there are some differences.
[insert witty quote here]
It's the University of Chicago. Where the first controled fission raction took place.
Chicago University teaches business skills to high school dropouts.
I should know....
But 'his' is correct grammar... so it isn't illiterate or compensating.
We are becoming so pompous our heads are swelling with levels of self-importance nearly rivaling that of lawyers. That article could remove the word "programming", substitute "creativity" and remove all references to programming and it would still be illuminating.
The metal states that programmers rely on is no different then the metal states of artists, writers, and even salesman and secretaries. An environment that makes programmers more productive will make any worker more productive. Everyone goes out of "the zone" because of the work environment. Programmers are just more demanding of change, as we believe the world would stop its rotation if any programmer is less than productive.
We cling to special ness and our aspergers syndrome whose traits are so universal they could be used as horoscope descriptions. The programmer analogue is just a stereotype, but it's a stereotype we believe because it makes us feel so special. We're not.
Can you objectively deconstruct them? I don't think you could get any group larger than, say, four people to agree on what, specifically, is wrong with a particular painting or musical piece, or even if it is wrong at all. Art is, by its very nature, a subjective pursuit. Programming produces quantifiable (and hopefully consistent!) results.
--sdem
Music (not so good to makes one want to hear the music instead of working, neither something so bad that breaks concentration)
In Peopleware DeMarco and Lister writes about a series of test at Cornell on the effects of working with music in the 1960s:
The result was that groups with and without music performed about the same in speed and accuracy of programming.
However, the output data was to be manipulated about a dozen times. The net effect of the operations left output number equal to its input number.
The overwhelming majority of people who figured it out came from the group working without music.
If the right brain is busy listening to music the opportunity for a crative leap is lost.
So if programming is a crative art do not listen to music.
What exactly was this an advertisement for?
I had a problem with my management along those lines. I started getting up and making a tally mark on the whiteboard in my cubicle every time I got interrupted. About the fourth time my manager came in and saw me do that, he asked me what the marks were for, and I explained to him that he could multiply the number of marks by 15 to get the amount of productive time I lost due to interruptions since I arrived at work that morning. Turned out that the number was roughly equal to the time I had been at work that day. I had a copy of "Flow" with me, and I loaned it to him.
He actually got the message. Not only did he quit bugging me, but he actually started running interference for me. Unfortunately, I haven't had many managers who were that bright.
Concealed Handgun License Courses in Plano, Texas
Perhaps we'll see an article soon about the short attention span of development managers... like when they keep pushing for the impossible silver bullet of getting all projects completed using a single platform, when they should be really looking at the long-term and realizing that it's far more effective to figure out ways to manage the inevitable heterogeneity of IDEs, languages, etc. The practical strategy of choosing the best tool for a specific project seems to evade the short-fused consciousness of most managers.
Steve Magruder, Metro Foodist
If you want to know why you feel on "the zone" when you are six feet deep inside your computer while programing, take a look at : Flow: The Psychology of Optimal Experience -- by Mihaly Csikszentmihalyi; It is really worth the read. You might find out that we are all really a bunch of flow addicts.
And if you are indeed a programmer and not a suit trolling around, I pity you.
This isn't about special consideration because programmers are 'special people' who deserve it, it's about maximising productivity and morale at the same time without having to spend much money in the process because that's good for the company.
A secretary who is drafting a letter is an administrative assistant, and SHOULD be able to draft a letter in peace. Otherwise, it's just another case of damaging productivity by failing to think. The Engineer who shaves 10% off the manufacturing time probably was able to do it by having the same conditions that the article recommends for programmers.
There are a number of jobs that call for that sort of thing to some degree or another, and for varying percentages of the day.
To use your example, it is doubtful that the latter being drafted will run 100,000 lines long, take 3 months of highly professional manhours to produce, and remain 'in production' for the next 3 years (complete with a single typo/thinko costing thousands of hours in excess support manhours
So, though the secretary should be able to finish the letter uninterrupted for maximum efficiency, the time period is shorter, and the complexity of the mental map that will get swapped out if an interruption DOES happen is a lot smaller.
Yes, all people can perform better if you enhance their working conditions. Different professions have different sets of needs for their ideal working conditions. The article was a few pointers to managers about what they should do for programmers. What to do for administrative assistants, lawyers, cooks, and mechanics are all worth knowing to someone who manages those professions, and should be covered by similar articles.
Try to having your manager read Peopleware by Tom DeMarco, Timothy Lister - or at Barnes and Noble, as the article pretty much summarizes some ideas from this book.
And experienced programmers have no problem with "flow context changes." This psychology of programmers seems to be merely the psychology of inexperienced programmers.
You are correct in one sense, that creative people could all benefit from similar steps...
The difference to me is scope of impact. If you install a shower in the office of someone who is writing memos, they might be more effective - but how many people will that improved productivity impact? Probably just a few (or none at all, if they are in HR).
Now take a programmer. A single programmer can, when in a good mood, literally speed up a sales order entry system by a factor of ten, or make it scale an order of magnitude better than before (supporting 1000 users instead of 100) That might happen over a week and bring benefit to literally thousands, or even millions (in the case of large sites) of people.
So, it's worth a companies time supporting creative efforts where it can make the most difference. I would say programming has got to be way up there on the list, though the engineer example you citing is probably a good case as well (though it's much, much harder to squeeze a lot out of any physical process than software so you are not likely to get as much benefit).
"There is more worth loving than we have strength to love." - Brian Jay Stanley
Better give up then
BD
Although most of article does have a lot of useful suggestions, would all of those characteristics describe every programmer in town ?
I read somewhere (dont rem where) that the best manager would be the one who knows how to treat/position people depending on what drives the person. The factor that motivates differs from person to person. Some are driven purely by money, others by position and still others purely by nature of their work. So, a set of common directives such as those mentioned in the article might not work.
Siggy Say, Siggy Do
"both for the programmer herself and for the organization that profits by her labors. "
Most programmers are MALE.
Cheap, Right, Quick. Pick two.
Wish I knew who came up with this.
This article is quite humorous. First the author refers to programmers as great machines of art. Later the author refers to programmers as all females. Believe it or not, later the author refers to programmers as he or she followed by-- in the plural -- HE's or SHE's. In the end, though, he refers to programmers as just humans!
Was in a server room. Just me and about 40 odd servers humming away. Of course it was a bit cool (from all the AC) and I never had a jacket since it was about 90 degrees outside. But nothing could beat that combination of solitude and white noise. A riot could go off for all I cared.
Of course it wasn't that impressive when I was showing off where I worked. "Yeah you see that long workbench? Over there in the corner? That's allll mineee..."
What is music when you despise all sound?
99% of schedule overruns are because project teams depend on this sort of serendipity instead of designing the software.
1. Design the software.
2a. Code the software as designed.
2b. Test the software against the design.
3. Profit!
No naps or showers are necessary. If you lose your train of thought, you look at the design and regain it.
Software - How Software Companies Die
By: Orson Scott Card
The environment that nutures creative programmers kills management and marketing types - and vice versa. Programming is the Great Game. It consumes you, body and soul. When you're caught up in it, nothing else matters. When you emerge into daylight, you might well discover that you're a hundred pounds overweight, your underwear is older than the average first grader, and judging from the number of pizza boxes lying around, it must be spring already. But you don't care, because your program runs, and the code is fast and clever and tight. You won. You're aware that some people think you're a nerd. So what? They're not players. They've never jousted with Windows or gone hand to hand with DOS. To them C++ is a decent grade, almost a B - not a language. They barely exist. Like soldiers or artists, you don't care about the opinions of civilians. You're building something intricate and fine. They'll never understand it.
BEEKEEPING
Here's the secret that every successful software company is based on: You can domesticate programmers the way beekeepers tame bees. You can't exactly communicate with them, but you can get them to swarm in one place and when they're not looking, you can carry off the honey. You keep these bees from stinging by paying them money. More money than they know what to do with. But that's less than you might think. You see, all these programmers keep hearing their parents' voices in their heads saying "When are you going to join the real world?" All you have to pay them is enough money that they can answer (also in their heads) "Geez, Dad, I'm making more than you." On average, this is cheap. And you get them to stay in the hive by giving them other coders to swarm with. The only person whose praise matters is another programmer. Less-talented programmers will idolize them; evenly matched ones will challenge and goad one another; and if you want to get a good swarm, you make sure that you have at least one certified genius coder that they can all look up to, even if he glances at other people's code only long enough to sneer at it. He's a Player, thinks the junior programmer. He looked at my code. That is enough. If a software company provides such a hive, the coders will give up sleep, love, health, and clean laundry, while the company keeps the bulk of the money.
OUT OF CONTROL
Here's the problem that ends up killing company after company. All successful software companies had, as their dominant personality, a leader who nurtured programmers. But no company can keep such a leader forever. Either he cashes out, or he brings in management types who end up driving him out, or he changes and becomes a management type himself. One way or another, marketers get control. But...control of what? Instead of finding assembly lines of productive workers, they quickly discover that their product is produced by utterly unpredictable, uncooperative, disobedient, and worst of all, unattractive people who resist all attempts at management. Put them on a time clock, dress them in suits, and they become sullen and start sabotaging the product. Worst of all, you can sense that they are making fun of you with every word they say.
SMOKED OUT
The shock is greater for the coder, though. He suddenly finds that alien creatures control his life. Meetings, Schedules, Reports. And now someone demands that he PLAN all his programming and then stick to the plan, never improving, never tweaking, and never, never touching some other team's code. The lousy young programmer who once worshiped him is now his tyrannical boss, a position he got because he played golf with some sphincter in a suit. The hive has been ruined. The best coders leave. And the marketers, comfortable now because they're surrounded by power neckties and they have things under control, are baffled that each new iteration of their software loses market share as the code bloats and the bugs proliferate. Got to get some better packaging. Yeah, that's it.
The added costs of offices is not as bad as a bunch of programmers who spend a great amount of company time looking for other jobs, or musing with their co-workers because they are too distracted to code.
Now sure, there are those who can code under those conditions, but I defy you to show me where an open cubicle actually INCREASES productivity.
I'm not saying that programmers need to be coddled one bit, I am saying that companies need to be proactive in providing the best environment possible for their employees to work. True, there is no better place for programmers than Microsoft, which is almost outrageous in the perks that we get, but I think almost any company can do a better job than they are currently doing.
Perhaps at one time, programming was special, where only a few people with the pasion and nerdiness were the ones who programmed.
This was before Computer Science become the cool thing to do, or the degree that will get one a lot of money. Droves of young students enter the various programs (no pun intended) having no idea what C/C++/Java is. It has been over run by money-hungry individuals.
A few special ones are out there still. If programming did not make any money, would you still do it?
if(YES){
then you are one of the few special ones.
} else {
then you are nothing special and basically a slave to corporate society.
}
George W. Bush wants to cause the world's destruction! The eager anticipation of a coming apocalypse is the very idea that his death-seeking version of "religion" is based upon.
Stop the Idiot!
The President of the USA is under the control of psychopathic forces.
-
A programmer's ability to focus on a single task for long periods to the exclusion of all else has led some people to comment on similar behavior in autistics (Asperger's Disorder), and to wonder whether most programmers are mildly autistic. I would be surprised if most programmers were autistic--our concentration is too easily broken.
As someone who is a programmer and autistic I felt the need to jump in. I am diagnosed with both Asperger Syndrome and ADD. Although I have many of the classic autistic symptoms (nonverbal language deficits, sensory integration issues, near-photographic memory, obsessive interests, etc.)My concentration is interesting. While it is normally quite short, I have the ability to hyperfocus for hours on anything I am obsessing on. This is usually code, so that works out just fine, tyvm.
As far as working accomodations, to get what I really needed, I had to jump off the deep end and become self-employed. My home office has extensive soundproofing and other "accoustical management" stuff, most of it was pretty easy/cheap.
For the first time in my life, I have all of the people I need to be in contact with to do mainly via IM. If I'm lucky, one of these days I can cancel my phone, but for now, I will just settle for turning the ringer off (it flashes, too).
I would argue that regardless of how much dicipline is put in the methods of software development, you can't completely remove the creative part from that process. As with architecture (which is also both art and engineering), there are commonly many parts of implementation of projects that involves choices of aestetic nature that doesn't lend itself to puristic research methods. Some projects obviously have less creativity like those DoD projects you imlpy.
In a previous job I used to manage a development group. I had a few simple rules, which seemed to work for everyone:
1. Give me 40 hours per week. You pick which 40, as long as 10:00-11:00 a.m. Monday was one of them.
2. I let the programmers divide the tasks among themselves. I had one guy who loved doing interfaces and another who enjoyed driver development, so I assigned the tasks accordingly.
3. I mostly let the programmers make the hiring/firing decisions. I almost always had job applicants interview with each current programmer. If I received repeated reports of someone not being a good team player (the most blatant example was one programmer insisting on using Pascal when the rest of the team was using C++), I took appropriate action.
My problem was that my boss was a micromanager who would walk the halls interrupting programmers for hours at a time. He wanted daily status reports on most projects (my policy was for strict version management and weekly Monday morning meetings to bring the team up to date). Fortunately, one of my programmers developed a status report generator, which would randomly generate one-page status reports. My boss would also pull programmers off-task to work on his Etch-a-sketch or to do tech support for one of the admin staff, when there were others better qualified and, more importantly, more available for that sort of work. Most of my programmers would quit within two years, telling me to call them when I worked somewhere else.
They'll get my encryption algorithm when they pry it from my cold, dead hard drive.
Maybe my boss will finally give me my own office.
This reminds me - and no it is not a flame - whatever happened to the people of Slashdot in the boom-bust cycle of the internet? Is their a short, one-page, behind-the-music-like summary of this microcosm of e-sanity? No sordid details, just, was it worthwhile? What should have been done different, if anything?
The author is right on all points, and they are points I wish my boss understood, particularly about the programmer's need to rest and not be interrupted constantly!
The author seems to be speaking to people like me who already agree with him. A pair of sentences like "If that was the first thought in your head, then you've missed the whole point of this column. Start again at the top, and pay attention this time" read more like an accusation than instruction. My boss (and yours, too) would most likely get offended at this point and discard all the author had said. What use is information when presented without understanding the egos and pride of employers who have worked hard to build a company, through sweat, tears, sacrifice, and long hours?
It seems to me that the "flow" the article discusses is not limited to programmers or artists; it can happen to anyone who is truly involved in a task that they love, in any area of endeavor.
I code. Admittedly, it's just PHP, a language of limited utility for anything but web-oriented tasks, but nonetheless a real programming language. I have felt that "flow" when working with PHP: you code fast, overcome obstacles fairly quickly, and it all just flies out of your head and into being. Then you blink and realize that it's been 10 hours since you sat down, and you haven't had anything to eat or drink since breakfast. It's glorious.
But PHP is just a hobby. I'm a medieval literature postgrad; I write papers analyzing tales written over a thousand years ago (my specialty is Old English). And I can tell you that when I really get going on a paper, I reach the same mental state as I described above: I sit, I type, and it flows. The thoughts I've been tumbling around coalesce miraculously into a full paper. Sometimes the flow lasts even into the "debug" stage where I have to go through and check to make sure that all of the footnotes are there, and that every comma, semicolon, and punctuation mark is in place, from the first sentence to the end of the bibliography.
For this reason, I believe that "flow" happens to anyone who is capable of becoming absorbed in a task. The type of task is probably important, though. I feel a bit flow-ish writing this post, because the topic is interesting and requires thought. But if you set me out as a lifeguard, say, over a pool full of people, I would never, ever achieve "flow". "Zoned out" maybe, but not "flowing" (which is bad news for the drowning guy in the deep end). On the other hand, repetitive physical labor -- setting bricks, knitting, making chain mail armor -- can be mentally liberating (in proper amounts).
Programming is a lot like meditation. To get into the meditative state is tough, but once you're there, it keeps itself going.
For me, I can code forever, but I have trouble keeping up the design part. Its just something I have to work on. While designing, I go out of mode too easy.
God spoke to me
this silly and tendentious habit of using feminine pronouns discredits the article.
I can appreciate that writers are encouraged to avoid masculinizing (sp?) their subject , but deliberately feminizing pronouns doesn't serve any benefit. Frankly it makes the author look like a PC wank and causes me to question the article's integrity. People that are prone to such displays of political correctness tend to be liars - they'll just fabricate evidence to suit their argument.
are there any female programmers ( not web designers , or Flash developers , or multimedia 'engineers' ) ? I've only ever met one woman who had skills appropriate to programming and she was leaving the field to go to law school. Hell it would be great if there were female programmers , I'd then know women who I could hold an intelligent conversation with.
This http://catb.org/esr/jargon/jargon.html#hack%20mode seems to be a pretty good description of the programming reality.
I didn't think the house band in Hell would play this badly.
...and I'm tired of reading articles that assume that all programmers are men. It's not the case, and as long as people keep writing articles that make that assumption, people will keep thinking that there aren't female programmers. Besides, I would argue that part of the reason that there aren't that many female programmers is because of people like you who act like it's some major attack on your psyche to have someone talk about programmers and not use masculine language.
Also, on the question of whether programming is more like art or more like engineering, remember that Donald Knuth titled his book "The Art of Computer Programming" and Fred Brooks also talks of programming as an art in "The Mythical Man Month."
Eagles may soar, but weasles don't get sucked into jet engines...
Also, check out the book "Aaron's Code: Meta-Art, Artificial Intelligence and the Work of Harold Cohen" and Dr. Dobbs article.
Having said that...
After seeing refs to artists/professional in several posts I'd say: Choose one or the other. You can't be both.
Consider: an artist works in an environment constrained only by imagination and medium. Creativity is allowed through free reign of thought and expression ideally, for some, in isolation. No "art" is wrong e.g. the folly of critiquing whether a painting is "art". A professional by contrast is one who works within guidelines laid out by an overseeing body (the profession) that exercises self-regulation on members of the profession i.e. there are definitions of good and bad, and _enforcement_ of adherence to those definitions from _outside_ the confines of the work environment. To do a job well, or to work hard, is not the sole definition of a "professional". (Note too that being a member of a union does not constitute membership in a profession either since they are generally local and/or not self-regulating.)
As long as the mythos of programmer as artist persists, programmers will continue to be viewed as non-professionals. Some industries can thrive with artists e.g. game design. But artistry has no place in others e.g. software design of mission critical systems.
"Consensus" in science is _always_ a political construct.
Programming is an artform, just like science is
They each consist of having the ability to connect things to eachother, it is how to form these connections that is the creative work.
Obviously this kind of hard thinking work often requires the person to be able to reach a mental state, where the task at hand will be about the only thing on their mind.
But, a person should also learn to operate with with other tasks at hand.
I'm sorry but the human brain is not single-tasking, many people are able to code while thinking of how to compose their next tune, and obviously this creates the need to analyse the specific needs of each programmer.
Which project ever gets started without a feasibility study?
in the same way, one needs to analyse their programmers, ie. is it really worth keeping this guy if he's gonna take a shower every half-hour or so, or can we find someone who can do the same task while answering tech support calls?
the TV lied?!
-pyrrho
Coders should have their day interrupted by support tasks. Why shouldn't they? The users are constantly interrupted by broken software.
Next time you release something, test it first. You won't have to complain about being bothered by support calls later.
Eat you own dogfood. It's not a novel idea.
there's no place like ~
If that's not a creative process I don't know what is.
Any sufficiently advanced technology is indistinguishable from a rigged demo
--Andy Finkel (J. Klass?)
I think the biggest barrier isn't qualification and intelligence, although there may be some truth to what you say. I don't know for sure one way or the other, but I do know that it is a pain to coordinate software with someone who is 10 hours ahead of you. I suppose they could work third shift, but even so, most people have a difficult time collaborating over long distances.
In my opinion the larger risk is that foreign companies have access to a local, affordable and competent workforce that could kick our butts. While the parent thread worries about the health of IT jobs, I think the larger risk is faced by American IT companies. It could get interesting.
-- Solaris Central - http://w
There is a severe infinite loop that occurs when my manager reads this paragraph:
I know what you'll argue: Think of the expense! If that was the first thought in your head, then you've missed the whole point of this column. Start again at the top, and pay attention this time.
He has been reading this article for a couple hours now!
we moved offices and I was put in a huge room with 4 cubicles. mine was somewhat isolated and it made sense that it was mine. directly behind me was a door. That door was fully glass and led to the sales department. i almost quit over that.
The truth doesn't care what I think.
Add to this the creativity needed in designing and building something complicated and you can understand why programmers like to work off hours (no suits)and why they want weird chairs or desks (no irritating, concentration breaking ergo problems for the individual programmer - and yes, each one is different).
Ever work with a good architect? They have the same eccentricities. So do good design engineers.
- Never attribute to malice that which can adequately be explained by stupidity.
I'm sorry, I'm no racist, but this is simply the way things are.
./ treads on this) most innovative techical development outside biotech is Pacific Rim. In some circles, there is a new Chinese motto these days: roughtly, "what more does the West have to offer the world?" Asia views itself as the future, the West as old and dying, and they may very well be right, with you wanting $100K/yr for something they're glad (and quite capable) to sell for $20K.
/.ed to death). DBAs can make $150K/yr. not because what they do is difficult -- quite the opposite -- but because it is scarce. But China, India, etc. can produce them at a dime a dozen; we're no longer in the stage of history where foreigners come to the US and learn tech and stay, but just over the hump where they come, they learn, they leave... and teach others back home. It's those others back home who are innovating, while (let's be frank) most of big fat America sits on its arse in their SUVs. Give this pattern another 30 years and you won't have the luxury of complaining about foreign workers, because they'll be complaining about you :)
Well, you may want not to call a spade a spade, and maybe it's not racism, but it's certainly something, and it's also entirely wrong. Just because you can't communicate with someone doesn't mean they're stupid -- usually and probably the opposite, looking at your comments.
I've worked with programming groups in Lahore, outside Shanghai and in several other 'foreign' locations. Properly managed, there is nothing inferior or unprofessional about these workers -- in fact, usually just the opposite. China and India have huge populations (obviously), and (equally obviously) the best of their people congegate in the population centers looking for opportunity. In comparison with many (not all) US programmers (ever employ someone from Berkeley CS? Stanford? they think they own the world!), they are highly motivated, focused, capable, dependable, respectful and respectable. Many have significant project experience. And yes, they cost about a fifth of what you do, and are happy to make that amount. You need to face this, though I doubt you will.
On the other hand, if you're looking for very specific technical skills -- programming graphics chips, embedded systems, robotics equipment, CCD, and so forth -- that's much more rare, overall, and there's no Asian San Jose. But there are plenty of shops in Taiwan that specialize in various types of production and offer start-to-end costs that are still 1/5 of the US. And (like it or not, plenty of
The bottom line: there is not enough tech education in the US (another topic that's been
Dark rooms are evil, unless you're developing film.
I'm a programmer, and I say, give me a room with LOTS of light and a window with a view, because (1) dark makes me depressed and sunshine makes me happy, and (2) after staring at the monitor for 30 minutes, I need a way to easily focus my eyes on something at least 50 feet away, preferably without getting up from the desk. (Focusing your eyes on something far away helps prevent eye muscle fatigue.)
And then there are the ancilliary things like a chair that doesn't make me hurt, a good monitor, etc.
Yay! I say "Keep it up!" I work in a small company, and we get lots of business from big companies to fix systems made by this kind of "programming". If only there are more "programmers" working this way, thus creating more business for us, I might get a raise next year.
Oliver.
If you're interested in this topic I highly recommend the book Peopleware by Tom DeMarco and Timothy Lister. It's the same basic concept as this article, but (at about 250 pages) far more in-depth. You can buy it on amazon.com for $34. An interesting sidenote here is that Microsoft believes very strongly in these principles, which is why they maximize the number of employees who get offices, have shower facilities throughout campus, allow people to work when and where they want to, etc.
iRooster, the Mac OS X a
If only my managers understood...
I'm normally plugged into an mp3 player when coding and happy working in some remote corner of the office and I've got to admit, some of the best code I've written is when people leave me alone and I'm isolated from everyone else. That doesn't mean to say that I work well on my own but mucking me around and constant interupptions mean that I'm not at my best.
The programmers are the most valuable people in every organization, even if they do a job that is of negligible importance for the rest of the company. Thus, each programmer should earn more in a month than all the shareholders and management of the organization combined earn in a year. Each programmer should be given a $60,000.00 car for each member of their immediate and extended families with all expenses covered by the company. All of this in addition to benefits which include every type of insurance imaginable and every type of investment, paid in full by the company, for the programmer's benefit. All of the programmer's bills should be paid by the company and all discretionary spending should be submitted on expense reports in order that the company can reimburse the programmer for those expenses as well.
A point system should be established so that the programmer earns a point for each dollar spent by the programmer or any member of his/her immediate or extended family, and at the end of the year, the company shall pay that programmer ten dollars for each point earned. Furthermore, the programmer with the most points at the end of the year receives a bonus equal to ten times the combined points of all other programmers in the organization, or one million dollars, whichever is greater.
Obviously, each programmer receives a corner office with a square footage of 1,500 square feet or greater, with plush furniture, a private secretary, a private DS3 connection to the Internet and any computer equipment desired by the programmer.
Every member of the organization will have to make an appointment, through the programmer's secretary, for the priveledge of speaking with the programmer. The secretary may indefinitely tell everyone in the organization that the programmer is busy and cannot talk. If it takes the programmer a long time to accomplish some task, the boss is to make an appointment with the secretary in order to thank the programmer for taking his time to make quality software. If a bug is found in the programmer's software, the boss must make an appointment with the programmer's secretary in order to thank the programmer for all the bugs that were not introduced into the software. If the programmer writes long code, the programmer receives a penny for each character typed. If the programmer writes short code, the programmer is paid 100 dollars for each character typed.
Nobody may criticize anything done by the programmer, and each programmer must be given tenure after 1 day at the organization, after which the programmer may not be fired or laid off for any reason.
All intellectual property developed by the programmer is explicitely the property of the programmer and not the company. After each piece of intellectual property is developed, the programmer may bill the company for royalties for use of the intellectual property. And in fact, all of the aforementioned shall be made federal law.
What does this code do?
Why can't I get laid?
What does this code do?
Why can't I get laid?
etc etc
It's Christmas everyday with BitTorrent.
I believe that many US-born techno-ignoramuses in business management assume that foreign software people must be better than US ones.
I can't count the number of times that I have been screened out of interviews by foreign "experts" with
incomprehensible "English" asking boneheaded technical questions, and allegedly assessing my abilities in a minute or so, all on behalf of some
American imbecile manager.
Who died and made them boss? Why didn't I become a
doctor or a lawyer?
A couple points: /purely aesthetic/. Painting is a communicative medium. Saying that isn't all that far off from saying speech or writing is purely aesthetic.
/purely/ aesthetic, it's more /design/ than it is /art/) Back to painting, though. Look at what most people immediately think of when they think of painting - the Rennaisance master painters. They exhibitted a high level of craft. (and, to be sure, a number of them hired "code monkeys" to do some of their painting)
/Plenty/ of non-functional elements of crafts don't "express their object's function visually" - look at Greek vase-paintings. These clearly aren't art, because the vases serve a functional purpose - but no art historian denies that they /are/ art, nor would I think anyone else who looks at them. And architecture - look at gothic cathedrals, or any other cathedral for that matter. Plenty of the non-functional elements of these have nothing to do with expressing their functionality visually - these cathedrals are works of /art/ using the /craft/ of architecture as their medium.
for sake of argument, yeah. Paintings are useless. Compared to a basket, say. But that's oversimplifying. Rarely are paintings
2nd: the art/craft argument is similar to an argument I have with art/design. (if "art" is
on the combinations of aesthetics and functionality: Emotion & Design: Attractive Things Work Better by Don Norman. This article got me pretty angry, 'cause I don't tend to agree, but he makes a good case.
Pottery: since I'm not terribly familiar of art references in basketry, I'll switch the example to this.
So, my point: just because art is useless (though I think art's communicative aspects leave that statement on shaky ground), and programming is functional, doesn't mean that there has to be a clear division between the two.
Well, he founded the company, so I guess he's entitled to be peculiar.
whatever - i use goto's all the time and make 90k a year... i must be a psycho
Steve McConnell's book "Rapid Development" (Microsoft Press if that worries you) has a chapter on this. Most of the recommendations have been established in peer reviewed research.
One interesting aspect is that noise and open office bother some people but not others. However the studies show they affect everyone's productivity, whether it consciously bothers them or not.
And yes, "creative" and "artistic" are not synonyms.
Tim Josling
Hmmm, interesting notions but approaching the topic this way kinda reminds me of people who believe in astrology. Those folks read about the personality characteristics associated with their birth date and they can usually find some attributes that matches their perception of themselves. So they then think astrology has some validity. Not exactly a very scientific way of thinking IMHO.
Using a similar analysis, you could make an equally valid case that most software people lack creativity and are very linear thinkers. For example, when I first started taking programming classes in college I noticed that most people had difficulty because of all the little details you must be aware of when writing code. I just happen to be really good at that sorta thing and ended up becoming a programmer. I certainly don't have much of an artistic bent but I do have that 'focus' thing mentioned in the article.
If good programmers have any common characteristics, tenacity and a high frustration tolerance gotta be at the top of the list.
best regards,
buck
here is one more essay about "flow", which is i've read a few years ago, and which is more interesting than the original story link (IMHO).
I work at a company that just hired a new CIO a week ago. She's got a lot of years in the business, having started 24 years ago as a tape-hanger. In the past week, flex-time, work-from-home, broadband connections from home, and several other perks have been either removed or are being looked at as potential targets at her behest. There's been a lot of talk about "software discipline", "team building", "face time" and "accountability", and a lot of those "I'm tough, but fair" speeches. The number of meetings per day have multiplied. Lots of those scenic motivational posters are going up. I am familiar with the "flow" mentioned in the article, and (being in) it is one of the things I like the most about programming, which I've been doing ravenously for 10 years. I'm thinking I'll be lucky if I'm ever able to "flow" again in this bleak environment I now work in. I HATE corporate IT.
Being my employer can be a lil weird but really I don't ask for much. I don't want to make huge sums of money or get all kinds of benefits that normal employees want. Most of that stuff is utterly useless to me.
First thing I want is leeway of when I come and go. I am not especially good at keeping track of time when I'm thinking so yes I might show up at work 15 minutes late and leave three hours late. I tend to wander around when I'm thinking so I might just wander out for a walk at anytime or maybe take lunch at some weird time or not take lunch at all. As long as my work is getting done don't bitch at me for these things.
Give me vacations when I want them. I don't even ask for paid vacations. I just need the ability to go take a 3 or 4 day weekend sometimes. Don't give all other employees vacations but deny me mine. The worst I had was a travel agency I programmed for.. they sent all new employees to Italy as soon as they were hired.. except for the couple of us that were programmers. That just really sucked. I really liked working there and would work extremely hard for them but things like that really left a sour taste.
Don't lay me off when the project is over. This is probably the worst. I'm so freaking paranoid now because I take jobs that aren't labeled as per project.. then when the project is over.. after working my ass off to get it done well and done quick.. I'm let go. It's hard to be loyal if you can't trust your employer and it's hard to work your ass off for someone you expect to stab you in the back. If the job is only for the length of a project then say so upfront.
Put up with the fact that I'm weird and not especially good at socializing. Yes, I may wear things ranging from neon orange sweat pants and ratty old tshirts to a purple pinstripe suit but it doesn't hurt anyone. Don't think I'm anti-social just because I don't talk a lot over the water cooler or go out drinking with the guys after work. I'm a busy guy - working for you - so appreciate my effort. If you want me to go out after work with the guys then invite me - in person - several times. A lot of times I'll simply forget anyone invited me unless they ask more than once. It gets lost in there some place between lines of source code. Really go look.. I've been known to make notes such as that as comments in the code I'm working on. Don't tell me that everyone hates me and thinks I'm a jerk because I never hang out. Really not very motivational.
This guys idea about letting the employee pick their own furniture is good. Especially the bit about the chairs. I'm a big guy (6'6, 300lbs) and normal chairs just don't cut it. Give me a small budget for office supplies too. I don't like filling out forms because I need a place to hang printouts. Trying to explain my needs to a none programer is to much effort.
Give me a well soundproofed room. Music helps me program - especially loud music. I don't know why but it does and I'm certainly not the only programmer to have noticed. Having my own office is very motivational to me and if it's well designed I can play my music and not bother others.
Keep a kitchen and bathroom nearby. If I have to go out of my way to get a drink or take a leak then I'll probably just wait til after work which isn't good for concentration.
Don't call my desk every five minutes for no real reason. The phone ringing tends to bother me.
If I'm on call then why not give me a cellphone allowance? That way I can pick the one I want and not have to pay for it out of my own pocket. That way I can pay the bills directly so if I use it as my personal phone too I don't have to explain those calls to my boss. Swap my on-call status with somebody else now and then so I can go on short vacations.
If I'm sick or can't get to work because of the weather then let me work from home. Telecommuting is a good way not to miss days I otherwise would. I tend to get sick easily so being able to work even when sick is a big thing for me. Give me an allowance for broadba
At what price learning? At what cost wisdom? The price is a man's peace of mind, and the cost is his life.
My co-workers think of me as eccentric and a little odd.
It's especially odd to them when they get email from me timestamped at 2:00am.
I thought all programmers did that until I started working with this group. Our technical lead works exactly 8 hours (regular hours imagine that) and then he is gone...
Our company has been going through several restructurings so I am now staying at home to work, I'm actually running something now.
It's comfy, cozy, quiet and best of all... You gotta find me to bother me.
BTW, I shower 1 to 2 times a day and my ideas come in the shower and right before I'm about to fall asleep.
Karma, We don't need no stinkin' karma!
but in the olden days we had RAM disks to put temporary files on. If virtual memory is effectively write-through rather than write-back, that might explain the poorer performance these days.
I have formed an opinion from several years of fairly consistent experience with this issue. I offered it here as a point for discussion. It is not a universal truth, nor advertised as such. I do not claim that there are two opinions, mine and the wrong one. I do not claim that anyone else's opinion is less valid, or that anyone else's experience is more or less representative.
Some people have come to this thread and offered their own experiences, some agreeing with me, others with a different view. It is interesting to read such things, which is why I posted in the first place.
Other people seem to think it's clever to brand me a racist, tell me I'm in denial, throw names about or otherwise have a go. Anyone who knows me could tell you immediately how absurd those claims are. I could recount numerous anecdotes that would demonstrate how realistic I am about the world of programming jobs, how strongly I have defended friends against genuine racism in the past and so on. But there would be no point; those who know me already know, and people here could either choose to believe them or dismiss them as unsubstantiated anecdotes, so it changes nothing either way. I just don't understand the point of replying to a post like mine and flaming rather than offering an alternative point of view or some personal experience of your own.
If you disagree, post your argument. (-1, Overrated) isn't your personal censorship tool for views you don't like.
Looking at my original post again, I concede that I phrased it as if my opinion were rather more universal than it seems to be around here. Obviously it can only be my opinion from my experiences, but perhaps I should have stated that explicitly at the time. However...
We're not just talking about me and communication, though. We're talking about (for example) a project that ran for nearly six months with a dozen or so outsourced developers, with all the cost that entails, which never produced a product. The product was then produced in around a month by a UK-based team half the size. I was not involved in either group, so I have no personal axe to grind, and there is nothing subjective about the fact that one group produced the goods and the other simply didn't (though costing several times as much nonetheless).
As I have noted elsewhere in this thread, I have met and worked with some very good programmers from India and other countries. A couple of the best guys I've ever worked with have been Indian. I simply find them to be in a pretty small minority, and I've had to clear up the mess personally, or seen my colleagues do so, in too many other cases to believe people around here who tell me I'm making it all up. Looking at the replies to my post, although pretty much all are inevitably anecdotal in a forum like this, I am clearly not alone in having formed this view.
At the end of the day, though, I'm far more interested in experiences like your own, whether they agree or disagree with mine, than in people who can't possibly know deciding that I'm a poor communicator, racist, in denial or otherwise necessarily the cause of all the problems I've seen.
If you disagree, post your argument. (-1, Overrated) isn't your personal censorship tool for views you don't like.
http://www.gourmandizer.com/ezine/albini/
It really bothers me when people misuse the pronouns "they" and "their". The non-specific third-person pronouns are "he" and "his". If you wish to avoid offending the dogmatic imbeciles who claim such pronouns imply cultural sexism, then change all your sentences to the plural and you may use "they" and "their" to your coddling, timid, bleeding heart's content.
That can defently explain a thing or two !
I think I gonna spam some frieds with a link to this article now...
No more "ffs you've been at it for 12 hours straight ! Take a break !"
IT'S ART DAMMIT !
"My mom always said that there are no monsters - no real ones - but there are !"
>"You are absolutely right. But for non-programmers it is hard to believe"
It's very easy to explain, and I've used this example numerous times over the years. Explain to whomever-is-bugging-you that programming requires the same level of concentration as filling out a federal tax return, with attachments.
That others really can't understand what a programmer/sysadmin is doing. They don't understand (for the mostpart) when a really good program is made, how much sweat, blood, and tears can go into it.
They do understand when your software doesn't do what they want, or needs a bit of debugging, etc. Which ends up with the coders often getting ragged upon, but not complimented on a job well done.
Still... sometimes I think the sheer volume of amatures that consider themselves programmers helps to forward this downfall. I mean, there are a lot of people out there that chose IT for money, got a half-education (or worse, half self-education... though a proper self-education from the right sources can be better than college) and decided to call themselves programmers. These people take work from the real dream-team coders, and end up causing havoc in project teams, making bad code, and generally sullying our reputation.
Contents of next weeks Purchase Order:
-2 boxes printer paper
-2 Palm Pilots
-4 Programmers (boxed in shrink wrap)
Thanks for your reply, which clarified your position for me.
/.
Unfortunately, I've often seen negative remarks from US developers here, and (without some more information), I'm afraid I do have an assumption of disguised racism etc. given the level of pure complaining on
On the other hand, your experience above brings back memories of many projects from San Francisco or San Jose companies that were just plain dumped on a foreign team through a recruiter... three years ago, I could have named 10 companies that would promise foreign "outsourcing" of almost any project... and usually the company purchasing the service had no history working with the foreign entity, little idea of the details on the other end, no intent to send a project manager to the foreign site... in short, no ability to manage the project. More than a few "incomplete" messes resulted, though it was not always simply a fault of the foreign teams, but as well of the lack-of-diligence culture that had developed in "the Valley."
It's a very large topic, but any sucessful use of a foreign team requires sucessful management understanding and planning, of course. You have to know the entity you're dealing with and how to interface with them, and, to some extent, their track record and competencies and personel. Someone -- or many someones -- have to get to know them, and there have to be formal or informal metrics of performance in place. If your organization has already worked with a foreign entity, you may have developed the trust to "drop" them a project without much supervision -- but if your organization doesn't have that experience, I at least would be wary.
And there's of course a reverse to my comment that Asia has large populations: they therefore product proportionately more bad programmers and shops, as well. Did the organization know the British shop or the "outsourced" shop-- at least, by reputation? How were they judged to be competent for the job (or now judged, if that was the case)? Most American organizations have some developed relationships with British and other "trustable" sources, if only as a result of their internal personel's previous experiences and contacts. Even in California, they usually lack the same level of internal experience with with Asian companies. The result is something of a double-edged sword: either their personel ignore a resource (Asian and other foreign programmers that they are unfamiliar with) precisely because they are unfamiliar with it, OR they (or management) somewhat blindly assume that foreign resources that they are unfamiliar with will produce what they expect from more familiar sources. And often, managment that simply contracts with a foreign outsourcer without established relationships is blissfully unaware that a programming project is often incapable of being wrapped up like an order for bolts and fulfilled anywhere: success or failure often depends not only on 'good communication' or raw 'skills', but on understandings and capabilities to communicate that are built up in personal relationships and time, as well as languages and cultures.
That is, a British firm may be a better choice simply because you're capable of interfacing with them more smoothly because of culture and language (even if your personel don't have established relations with them). While I phased it a bit too harshly to get the point across, one idea I meant above may be that you simply can't communicate with many foreign programmers -- either their skill in your language or yours in theirs is too poor to have a good interface. So it is often easier and simpler to deal with a British team vs. a Chinese team. You could also often say this about a British team versus a French or German or Finnish team, as well. Much of the last 20 years of technical development is filled with this... the Finns are great with each other and some other countries, etc... and the big consulting companies have equally been dealing with such issues for years as their teams have internationalized.
I think I agree with pretty much everything you say. It's not that I have a problem with the idea of Indians as developers. As others have noted, they are often enthusiastic, hard-working and educated, all admirable qualities. My problem is that as things stand today, exporting the job just doesn't get it done most of the time, in my experience.
There seems to be, at least from what I've seen, a lack of technical expertise amongst the average programming population compared to the calibre of people you'd find routinely in high-tech centres in the US or Europe. I totally understand the communication problems as well; I used to work with a very nice Chinese lad, no personal issues, but his language skills created a barrier that seriously hampered his technical ability to work with others.
Of course, it's also quite possible, as you suggest, that better management could fix these issues. Treating the foreign developers like people worthy of your time, investing in their training to bring technical skills up to scratch where they're lacking, providing better channels of communication and the opportunity to improve (human) language skills as necessary would all help. We can but hope that good businesses who invest in their people like this will be the ones to reap the rewards.
If you disagree, post your argument. (-1, Overrated) isn't your personal censorship tool for views you don't like.