Slashdot Mirror


Psychology of a Programmer

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."

16 of 460 comments (clear)

  1. 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.

    1. 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

    2. 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.
    3. 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.
    4. 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?
    5. 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?
    6. 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?
  2. 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...

    1. 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.

  3. ...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.

  4. *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.
  5. 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.
  6. 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.

    --CTH

    --

    --Got Lists? | Top 95 Star Wars Line
  7. 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.

  8. Re:Pfft. by mrkh · · Score: 5, Insightful

    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?)

  9. 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.