Stories
Slash Boxes
Comments

News for nerds, stuff that matters

Slashdot Log In

Log In

Create Account  |  Retrieve Password

Finding a Personal Coding Trifecta

Posted by timothy on Sun May 17, 2009 03:30 PM
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."
+ -
story

Related Stories

[+] Why Programming Rituals Work 233 comments
narramissic writes "Programmers may not think that their rituals are unusual, but if you swear that your code is less buggy if you recite it aloud or you prepare for coding by listening to certain music, don't be surprised if you get a couple sideways glances. In a recent ITworld article, Issac Kelly, Lead Developer at Servee.com, explains his routine and why it works: 'To me, programming is really the 'last mile' to getting something done. When I do the planning and specifications, I go on lots of walks, take lots of time with my wife, and really do as little work in front of the computer as possible. The more I plan (in my head, on paper, on a whiteboard) the less I program; and all of my rituals are to that end.' His ritual goes like this: 'Before sitting down to a coding session, he gets a big glass of water, takes everything off of his desk, and closes out all programs and e-mail, keeping open only his code editor. The office door is shut, and some sort of music is playing ('typically an instrumental only, like my 'Explosions in the Sky' pandora station,' says Kelly).'"
This discussion has been archived. No new comments can be posted.
The Fine Print: The following comments are owned by whoever posted them. We are not responsible for them in any way.
 Full
 Abbreviated
 Hidden
More
Loading... please wait.
  • my trifecta (Score:5, Funny)

    by larry bagina (561269) on Sunday May 17 2009, @03: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, @03: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?
      • 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?

        • As a member of the female species, I would like to nominate my trifecta: A healthy and nutritious alfalfa salad; some Evian water (in the branded bottle, of course); and an episode of "Sex and the City" playing in the background.

          I mean, get serious. Having a manicure? Whilst trying to type? I'm not gonna let anyone be in my vicinity while I'm coding, let alone some vapid manicurist. Sheesh.

      • 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 reporter (666905) on Sunday May 17 2009, @04: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.
      • 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.

    • Add to that a second woman cleaning the house and car and you've got it made.
      • by thetoadwarrior (1268702) on Sunday May 17 2009, @04:18PM (#27988953) Homepage
        Chill out. The bible doesn't say you can't have a shit and get a blow job at the same time. So if the bible isn't against it then where are you getting this high moral sense from?
      • Well then you really don't want to hear my trifecta. It involves choking people without a sense of humor to death by ramming my cock, covered in shit, down their throat, and that's just the first part!

  • Oblig (Score:5, Funny)

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

    by Peganthyrus (713645) on Sunday May 17 2009, @03: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.)

      • Music for 18 Coders.

        BTW, most guys wouldn't misinterpret the bit about food 'coming' through the speakers...

        Just sayin' is all.

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

      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) <slashdot@symbioNETBSDte.eu minus bsd> on Sunday May 17 2009, @05:20PM (#27989311) Homepage

      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, @03: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, @04:13PM (#27988919) Homepage

      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)

        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)

      >

      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

      • 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, @03: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, @03:58PM (#27988817)

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

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

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

  • three for me (Score:5, Interesting)

    by dmomo (256005) on Sunday May 17 2009, @04: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.

    • 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, @04:04PM (#27988865)

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

  • TRIfecta? (Score:4, Insightful)

    by FlyingSquidStudios (1031284) on Sunday May 17 2009, @04:08PM (#27988885) Homepage
    Why does his trifecta have five points?
  • by symbolic (11752) on Sunday May 17 2009, @04: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, @04: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, @04: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.

    • 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

  • My 3 (Score:4, Interesting)

    by Daimanta (1140543) on Sunday May 17 2009, @04: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, @04: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

  • #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)

      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.

  • 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

  • Mine (Score:4, Interesting)

    by thatskinnyguy (1129515) on Sunday May 17 2009, @05: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.
  • by ClosedSource (238333) on Sunday May 17 2009, @07:53PM (#27990201)

    had two identical sisters.

    • ... so that I can avoid all the noise below this post.

      1. Coding (TFA marks this as a constant for this discussion)
      2. Stimulants (Cigarettes, a 2L bottle of soda and another 2L that I know is waiting for me in the fridge)
      3. Music (Indie/Alternative Rock on Pandora so that I know to stand up and stretch once an hour when it asks if I'm still listening)