Forgot your password?
typodupeerror
It's funny.  Laugh. Programming

Finding a Personal Coding Trifecta 188

Posted by timothy
from the benadryl-cocoa-and-a-down-comforter dept.
jammag writes "For Seinfeld's George Constanza, his dream of the ideal moment was having sex while watching TV and eating a pastrami sandwich. He called this Nirvana state 'The Trifecta.' Developer Eric Spiegel adapts this concept of Nirvana to the act of writing your best possible code. He examines all (or most) of the possible things that might contribute to the 'The Trifecta' for developers — food, beverages, time of day. Spiegel also describes his personal Trifecta."
This discussion has been archived. No new comments can be posted.

Finding a Personal Coding Trifecta

Comments Filter:
  • my trifecta (Score:5, Funny)

    by larry bagina (561269) on Sunday May 17, 2009 @04:33PM (#27988659) Journal
    taking a shit, eating pizza, and a porn-star quality blow job.
    • Re:my trifecta (Score:5, Insightful)

      by choongiri (840652) on Sunday May 17, 2009 @04:37PM (#27988693) Homepage Journal
      I have mod points, but instead of modding this post funny I'd rather point out that it's actually about 10x more intelligent than the article. How did this garbage get on the front page?
      • by Frnknstn (663642)

        I second that. Take a look at this snip:

        (Unless of course you are the rare female coder, but then we'd have to replace eating the pastrami sandwich with getting a manicure.)

        Women can't like sandwiches? Men can't like manicures?

      • Re: (Score:2, Insightful)

        by Anonymous Coward

        I agree.

        my coding trifecta is more like: 3 Pints of Guinness, 2 joints. and actually there isn't a third part to it.

        • by nizo (81281) *

          Coding?

          Why is no one mentioning coding itself as one of the trifecta???

          Though in my case the best way for me to generate code is with a whip, a pastrami sandwich, and Slashdot. And no the whip isn't for me (what, you think I am a penetente or a masochist?) but for use on various minions.

          • by Dr. Hok (702268)

            Coding?

            Why is no one mentioning coding itself as one of the trifecta???

            Exactly. The journey is the reward. I get deeper and deeper into the zone as the code settles into place.

            Though, to comment on the GP, I find a joint rather counterproductive to concentration. Stumpleupon and the fridge get in the way. It is more suited to physical work like bricklaying or motorcycle maintenance. Plus, I wouldn't want to shop up with a reefer in the not-so-private smoking area of my workplace.

    • by nubsac (1329063)
      getting a blowjob...

      ...with a gun to my head.

      Partly pleasurable with a 50% chance of death.

    • by reporter (666905) on Sunday May 17, 2009 @05:02PM (#27988851) Homepage
      My trifecta is the following.
      1. Absence of a boss whose primary concern is his own promotion.
      2. Absence of a boss who threatens you with loss of employment if you refuse to work more than 40 hours per week.
      3. Absence of a boss who demands that you echo the party line. You are expected to say, "Yes. The API implementation that I received from department XYZ is wonderful." just because the department is managed by the girlfriend of the CEO.
      • Sounds like your manager has his trifecta
        1. He takes a shit, it just happens to be on you
        2. He just wants his pie and to eat it too
        3. Ok. Sounds like the CEO gets this one

        Yes ... this whole post was just to ride the tails of the headjob joke. *shame*

      • Re: (Score:2, Informative)

        by $0.02 (618911)

        Couldn't you simplify that to just

        Absence of boss?

        • Absence of boss?

          Easily done!

          Do a 35 hour week, then see point 2. Or say the API is a crock, then see point 3.

          Slight negative side effect: absence of salary.

      • Re: (Score:3, Funny)

        by syousef (465911)

        1. A sinecure

        2. "Working" from home

        3. A fat paycheck

        You don't get these coding though. Think an ex-politician, a diplomat, or perhaps CEO of a failed bank.

      • by guruevi (827432)

        1: Never going to happen. EVERYBODY wants a promotion or better wages or whatever. That's why you do your job good and some extra here and there.
        2: That is legally not allowed. You could sue for some type of harassment (talk to your lawyer, I don't know what exactly). Get it in writing if at all possible.
        3: Again, there is no reason you have to do this. If you actually do this you might find yourself without a job faster than you think as that API might just kill the company. If there is no way around 2 or

    • Add to that a second woman cleaning the house and car and you've got it made.
  • Oblig (Score:5, Funny)

    by sys.stdout.write (1551563) on Sunday May 17, 2009 @04:36PM (#27988675)
    You only need one [xkcd.com] thing.
  • yum, stereotypes! (Score:4, Insightful)

    by Peganthyrus (713645) on Sunday May 17, 2009 @04:37PM (#27988689) Homepage

    (Unless of course you are the rare female coder, but then weâ(TM)d have to replace eating the pastrami sandwich with getting a manicure.)

    Wow, way to avoid reinforcing stereotypes there, Eric!

    • Heh! Absolutely.

      I may be risking all my claims to femininity here, but for me it's Dr. Pepper, Pizza, and Steve Reich coming out of the speakers. (N.B. "coming out of the speakers" refers only to Steve Reich, not to the soda or the pie.)

  • by hedley (8715)

    1) Large cup of milk tea (Marks and Spencers gold)
    2) WXPN saved 5hr weekly stream of Starsend (http://www.starsend.org/ [starsend.org])
    3) Emacs + happy hacking keyboard

    Mix & voila, you get 100+k of low level fw that is used in 100's of million chips on chip roms.

    H.

    • Re: (Score:3, Insightful)

      by Z00L00K (682162)

      Whatever makes you happy is the important part.

      And writing good code will make your life easier than writing sloppy code since the sloppy code will haunt you forever.

      Just being able to avoid those 02:00 in the morning calls the day before an important event accounts for a lot. A clear conscience makes you sleep well and have time over for your favorite actions. If that resolves to painting, making love or hunting that's a different issue.

    • My band played live on Stars End five years ago. Chuck's one of the nicest blokes you could ever wish to meet.

    • Re:trifecta (Score:5, Informative)

      by xaxa (988988) on Sunday May 17, 2009 @06:20PM (#27989311)

      1) Very large glass of water (I'll lose concentration shortly after it runs out)
      2) Relative quiet, not many people walking around or making phone calls.
      3) My favourite coding music (psytrance or futurepop, depending on my mood)

      Also important
      4) Knowing I'm unlikely to be disturbed, and that I'm not being watched.
      5) No imminent deadline (be that the project deadline, or the told-Ben-I'd-go-to-the-cinema-at-7 deadline).
      6) Some fresh air and exercise (cycling to work, and walking round a nearby public garden/park at lunchtime).

      I think most important is
      0) A good sleep the night before.

  • Rachel Alexandra, Mine That Bird, Musket Man
  • hmm (Score:5, Insightful)

    by greywire (78262) on Sunday May 17, 2009 @04:52PM (#27988787) Homepage

    while the article is lame, the subject is not.

    More important than what you need to get into your zone (because I think we all know how this works for our own needs), is how do you explain this to others who do not understand "the zone"?

    The hardest part for me is getting others to respect my zone. They just don't understand. For kids, you can't really blame them. You just have to stay out of sight and out of mind. But for the adults, they often just don't get it.

    The biggest "zone breakers" are interruptions of any kind or duration. Having to stop for even one minute to take a call or acknowledge a communication can break your flow completely and it can take time to get back into gear. I think there have even been studies showing it takes some 15 minutes average to get back.

    And of course this applies to anyone doing something highly creative or thoughtful.

    • Re:hmm (Score:5, Insightful)

      by NewbieProgrammerMan (558327) on Sunday May 17, 2009 @05:13PM (#27988919)

      The biggest "zone breakers" are interruptions of any kind or duration. Having to stop for even one minute to take a call or acknowledge a communication can break your flow completely and it can take time to get back into gear. I think there have even been studies showing it takes some 15 minutes average to get back.

      That's one reason I hate working in a busy office environment: most workplaces seem to encourage people to interrupt each other. There's always a meeting, or a phone call, somebody wanting your attention, or some "emergency" knocking you out of a state in which you can make any progress.

      It seems to me that it's a lot easier to get difficult things done at home where I can unplug the phone and internet connection and just work. It's better for others, too--if a good random idea pops into my head, it can sit in my outgoing mailbox queue instead of egging me on to walk over to someone's office/cubicle and interrupting their work.

      • Re: (Score:2, Interesting)

        by linzeal (197905)
        People that interrupt you repeatability in a creative industry are fishing for ideas. Do not withhold your ideas from the group at large, merely feed the psychic vampires disinfo. I treat any corp office job like a mini-series 1984 and I try to get my idiot co-workers led away by the thought police holding all their belongings in a cardboard box.
    • Re: (Score:3, Interesting)

      by i_ate_god (899684)

      >

      The biggest "zone breakers" are interruptions of any kind or duration. Having to stop for even one minute to take a call or acknowledge a communication can break your flow completely and it can take time to get back into gear. I think there have even been studies showing it takes some 15 minutes average to get back.

      While I agree 90% of what you just said, I always find that a zone break is something I want after a few hours, without realizing I want it. Zone breaks, mind is distracted by something else, I go back a little refreshed. Yeah, it takes me a bit of time to get into that trance like state of mind, but I get there by checking what I just did in the previous trance. Sometimes when you hit that trance like state, mistakes creep in, or you forget to comment something. That little break helps me get through those

      • by dmomo (256005)

        That's why God invented smoking. To make programmers take a Zone break.

        I believe that programmers are allowed to claim the price of cigarettes as a work expense while doing taxes.

        Smokedy smoke smoke smoke. ... I quit long ago but do remember solving some problems in the five minutes away from the screen.

  • by willoughby (1367773) on Sunday May 17, 2009 @04:57PM (#27988811)
    I can't remember where I first read this definition...

    Professional:
    Someone who can do his very best work, even when he doesn't feel like it.
  • simple (Score:5, Insightful)

    by speedtux (1307149) on Sunday May 17, 2009 @04:58PM (#27988817)

    A few days of a free schedule, no interruptions, and a private, quiet workspace will do the trick for me.

    • Best:

      First thing in the morning, before anybody else is in the office.

      Most useful (but likely lowest quality):
      During a minor emergency.

      I wrote a little script to remake an important file we lost. It was horribly written, but it saved us a lot of time re-typing the file by hand. (Yes, it should have been backed up.)

      I find writing something rarely happens all at once. A little distraction keeps me from focusing too much on one way of solving a problem, but silence can be really nice sometimes too.

  • by composer777 (175489) * on Sunday May 17, 2009 @05:00PM (#27988835)

    Go away...
    No, seriously, just go away...

  • three for me (Score:5, Interesting)

    by dmomo (256005) on Sunday May 17, 2009 @05:03PM (#27988861) Homepage

    1) A clear notion of the task at hand (very rare in most work places)
    2) An interesting problem to solve (even more rare)
    3) The ability to focus. No interruptions or noise.

    The third one, however is so damn rare, that if I were granted it.. I'd be most reticent to push my luck by asking for the first two. The laughter of upper management alone will certainly be loud enough to wake me from the day dream.

    • by metlin (258108)

      Excellent point, especially about interesting problems.

      Not coding per se, but I also find that I enjoy doing things and dedicating myself to them if the problems are interesting enough. I'm not talking about work, though, just things I do on my personal time.

      For instance, sometime back, I went through a phase of modding my motorcycle - I did everything imaginable, pulled it apart, added custom mods, added jets, changed the exhaust, tuned performance to be race quality, modded the suspension, included angel/

  • Here's mine: (Score:3, Interesting)

    by Anonymous Coward on Sunday May 17, 2009 @05:04PM (#27988865)

    1. 11 pm.
    2. Good headphones.
    3. Good music.

  • TRIfecta? (Score:4, Insightful)

    by FlyingSquidStudios (1031284) on Sunday May 17, 2009 @05:08PM (#27988885) Homepage
    Why does his trifecta have five points?
  • by Anonymous Coward

    SERENITY NOW!

  • by symbolic (11752) on Sunday May 17, 2009 @05:11PM (#27988899)

    He completely overlooked this - in fact, I found this comment rather amusing: "...so I can take little mental breaks and sing along." Around coworkers. Whom, he assumes, have their earbuds in. They may have their earbuds in, but it might be that they are pursuing the lesser of two completely undesirable options. I used to think like he did - that I needed music in order to code. After trying a little experiment where I went without for a while, I realized how much I had been kidding myself. I am now a strong believer that there's nothing like a quiet environment for allowing one to focus on their work.

  • My Trifecta (Score:3, Informative)

    by im_thatoneguy (819432) on Sunday May 17, 2009 @05:16PM (#27988941)

    1) Inspiration and motivation. (The project is appealing with interesting and stimulating challenges.)
    2) Optimism. (The project has clear and attainable goals. I look forward to completion because I think it'll be a great product.)
    3) Competition and Recognition. (My project is going head to head with someone else's and or might receive recognition. I'll work faster. I'll be less likely to lose Optimism or Motivation and it'll challenge me to push beyond the comfort zone.)

  • 1. View out a window in front of me. 2. Not bothered by anyone. 3. Good psytrance music in my headphones. That's how I code best.
  • My Three (Score:5, Interesting)

    by SirLurksAlot (1169039) on Sunday May 17, 2009 @05:19PM (#27988957)
    1. Caffeine
    2. Groove Salad [somafm.com]
    3. Headphones
    4. Bonus: A deadline

    The first is best in low to medium doses, anything more than that and I'm too wired to really focus. Best served green and carbonated or with equal amounts of milk and sugar. The second falls under the category of "repetitive music with few to no lyrics." The third can actually stand apart from the second because I've found that even if I'm not actually listening to anything at the time people see the headphones and (usually) give a second thought to bothering me, especially at work. Finally the deadline is a big factor because like many people I seem to produce my best code under pressure.

    Of course it also helps to have tools that I don't have to fight against to get things done, time away from my coworkers (who are usually great fun, which is actually the problem), and no constant email interruptions.

    • by iluvcapra (782887)

      Ditto on the deadline... I'm just one of those people that needs to be told that it'll get reviewed at 6PM Thursday.

      I tend to have two kinds of bosses:

      • The one who shows you the calendar and gives you a good idea about what day you should be done with X.
      • The one who tells you to be done with X at time T, and reliably cancells the review on T, but never reschedules, just gives you a call completely unwarned 2 days later and says "Bring it over and show it to me now."

      The second kind is a bit maddening, because

      • Heh, as long as they're consistent with the cancellation and I know how much time I'll have to idle on slashdot... err I mean get my documentation done ;-)

        My problem with that approach is that once the deadline has been reached that is typically the code-freeze, so tweaking isn't even possible (even though I usually want to). I'd much rather have the boss that points at the calendar and says "have this much done by then" and actually sticks with that. The deadline helps me focus, but throwing the schedule

  • 1. Air; fresh air; that's why I work outside when I can
    2. soothing background noise, i.e. (my favorite) music, birds singing, water flowing
    3. no disruptions. ever.
    4. Cherry keyboard.

    Got it all nowadays. The reflecting-laptop-monitor-problem can be solved with an external monitor.

  • My 3 (Score:4, Interesting)

    by Daimanta (1140543) on Sunday May 17, 2009 @05:20PM (#27988973) Journal

    1. night
    2. near total silence
    3. no other people awake in the vicinity

    I have found that these three help me to focus on my task and nothing else. No distractions, no obligations to anyone and the silent hum of my pc help me to focus on my goal, whatever it might be.

    This is fully personal however and other people may find this the most displeasent way to be productive. This might not be the ideal situation for me but I feel very comfortable and it can be reached quite easily once a day.

    If these conditions are fulfilled and I am devoted to my task I can get some good work done. My problem is that I need to reach a certain waypoint in my work or else I can have a sleepless night thinking about how to finish it.

  • by ThousandStars (556222) on Sunday May 17, 2009 @05:23PM (#27988993) Homepage
    Atmosphere or equipment. In my case, I like a quiet spot, an Aeron [seliger.com], and a Model M keyboard [wordpress.com]. Ridiculous? Maybe, even probably. But they help me get in the zone to work much more than, say, music, which I mostly find irritating.
  • For those of you just tuning in, while I do not personally know Eric Spiegel, I have been exposed to a number of his articles and it's pretty damned obvious that this kid's not a "Real Programmer (tm)". He comes off like every other brown-nosing no-talent assclown, always quick to criticize the people and things his boxed mind cannot encompass. Maybe he's jealous, as he consistently advocates the use of "corporate discipline" to combat "dangerous elements" in the workplace, with dangerous meaning "smarter

  • My "trifecta" (Score:1, Interesting)

    by Anonymous Coward

    For me, it has to be around night time, raining outside, moderately windy, moon shining.

    Listening to some classical music.

    Some nice cool water.

    And as strange as it seems, with a little pain... (sore head as an example)

    I'm 2/4 there just now. (yes, 1/2, blah)
    I have a nice cold drink, and sore head.
    My code at the moment is pretty decent, been writing a gridmaker for generating 2D maps.
    Was thinking of porting it to JavaScript since it would be so much easier to work with. (since it does involve it massively in

  • With amphetamines and a quiet room, nothing else is required.
    • #include /* This program was one that I thought up, no it was John D that thought it up
      but I had all the great ideas, like that one about unfolding the loop to save
      a few cycles under the most common circumstances, but then I suppose he DID come
      up with the overall plan but hell anyone can do that. Heh reminds me of that time
      Vera in Team Turtle came up with a plan for a program. But then she really isn't
      all that great but she came up with it all the same. But John just wrote it down
      and I supplied all the grea

  • For whatever reason, sitting in a chair normally causes my legs to ache. I must have RLS or something. Unfortunately my current desk arrangement doesn't allow for me to elevate my legs other than to put them on my desk... which I do almost all of the time.

    So, I guess:
    Footrest, chair with back support, laptop with mouse.

    Standing up is also comfortable for a while at times.

  • For coding (not sensory input nirvana), it would be: Hardware: a notebook with an IBM keyboard, a quad core i7 processor, at least RAID 0 SSD drives, a gizillion terabytes of RAM (etc ridiculous performance). Maybe 3 24" monitors Environment: Hmm, maybe setup in a jacuzzi Project: Something cool to work on, inspirational, and pays well and appreciated, with technical freedom.
  • #1 Management off my case, leave me alone, no restrictions on what I can and cannot code.
    #2 Coworkers stop bugging me about their problems and how I should fix them for them, to take away valuable time from my own problems to fix and programs to write.
    #3 Analysis and design that actually makes sense and is easy to follow. Not vague legalspeak and not "make it look like Outlook" and other BS.

    If I didn't have 1 through 3, I could have reached a coding Nerdvana and that would have been my Trifecta.

    • Re: (Score:3, Insightful)

      by pyite (140350)

      So let me sum it up... 1) No accountability 2) Not a team player and too good to help others and 3) Not willing to interact with non-technical people.

      Okay, then! Remind me never to hire you.

      • I don't mind it, but it gets in my way of getting work done.

        #1 No OOP used per management policy, like programming with a hand tied behind my back.

        #2 Coworkers offloading their work onto me, because they cannot do it. Fixing their problems takes away time for me to do my own work.

        #3 Non-Technical people who have no business doing analysis and design come up with ideas that don't work or cannot be done because they don't follow any logic or reasoning. I have to end up doing the analysis and design on my own.

  • 1. Boss interrupts every hour with "just a little thing. This customer is experiencing a problem. Can you fix it for them?"

    2. Boss puts team of developers together in big room, with the "belly-laugh sales guy", confident that this will encourage productivity and connectedness with the customer's issues.

    3. Boss evaluates your progress on the new user interface you can show him today, and how it is so much better and more complete than the one you showed him yesterday. "Architecture is for later when we can a

  • FTA:

    And it got me to thinking: What's the perfect combination of these outside factors that helps each developer succeed beyond expectations?

    Answer: Low expectations.

  • Why trifecta? (Score:2, Interesting)

    I'll play along, but I don't get it. "vitamin r" + a 40oz, posicore/youth crew hxc on the stereo, and programming = coding trifecta. Can't do that every night obviously but if I can do it, I absolutely will do it, it's the best way to program... or to do anything, really. Of course, I'm failing to mention the half-dozen other conditions equally critical to the "coding zone".

    I don't think any programmer can narrow down only two factors (plus coding) that comprise the nexus of programming. that number is u
  • Mine (Score:4, Interesting)

    by thatskinnyguy (1129515) on Sunday May 17, 2009 @06:35PM (#27989399)
    1. Whole pot of coffee. If said coffee pot is empty there will be a break while coffee is being brewed.
    2. Two packs of Marlboro Menthols. That is in case one pack runs out. If I can't smoke at my desk, the work is going to be shit because my concentration will be broken by a jonesin for a fix and a trip outside.
    3. My desk chair that was fashioned from the driver's seat of my last car. It's made to be sat in for hours unlike normal assless desk chairs.
  • George's trifecta more than anything that involves coding.
  • Failing that, a drill, electrical tape and a coping saw.
  • I just finished a course in psychology at school. Psychologists say the optimum state for something like this is a moderate state of arousal. Too laid-back and nothing will get done, too amped up and you won't get much done, the middle course of aroused, but not too much so, is the best for quality output. That's why breaks are important - your quality goes down after sitting too long at the keyboard (i.e. becomes too laid back).
  • If you want to write code, you gotta snort a load; cocaine.
    If you don't prototype, you better unit test twice; cocaine.
    Write that line, write that line, write that line; cocaine.

    If your routine is hung, and you have to debug; cocaine.
    When your coding is done, but it still will not run; cocaine.
    Write that line, write that line, write that line; cocaine.

    If your SCC's gone, and you want to write on; cocaine.
    Forget this fact - you can't get it back; cocaine.
    Write that line, write that line, write that
  • by ClosedSource (238333) on Sunday May 17, 2009 @08:53PM (#27990201)

    had two identical sisters.

  • Of the factors listed, time of day is the most important to me. I generally have a horrible time maintaining my concentration around 3-4 PM (actually, I have a hard time even staying awake in the office around that time), but I can code like a ninja at all other times of the day, particularly in the morning. I hit my peak concentration at about 11 AM. That goes not just for coding, but for taking exams, giving presentations, playing at concerts, etc.

    (There is irony that I'm posting this on Slashdot @ 11:20

Neckties strangle clear thinking. -- Lin Yutang

Working...