Slashdot Log In
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.
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."
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
Loading... please wait.
my trifecta (Score:5, Funny)
Re:my trifecta (Score:5, Insightful)
Parent
Re: (Score:2)
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:my trifecta (Score:4, Funny)
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.
Parent
Re: (Score:2, Insightful)
I agree.
my coding trifecta is more like: 3 Pints of Guinness, 2 joints. and actually there isn't a third part to it.
My Trifecta: No Boss, No Boss, No Boss (Score:5, Interesting)
Parent
Re: (Score:3, Funny)
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.
Re: (Score:2)
Re:pyschopath (Score:5, Funny)
Parent
Re: (Score:2)
There's only one person here who's an asshole, and it certainly isn't the OP.
Re: (Score:3, Funny)
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)
yum, stereotypes! (Score:4, Insightful)
Wow, way to avoid reinforcing stereotypes there, Eric!
Re: (Score:2)
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.)
Re: (Score:2)
Music for 18 Coders.
BTW, most guys wouldn't misinterpret the bit about food 'coming' through the speakers...
Just sayin' is all.
trifecta (Score:2)
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.
Re: (Score:2)
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)
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.
Parent
Call me Old Fashioned (Score:2)
hmm (Score:5, Insightful)
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)
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.
Parent
Re: (Score:2, Interesting)
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
Re: (Score:2)
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.
Some folks don't need a zone (Score:3, Informative)
Professional:
Someone who can do his very best work, even when he doesn't feel like it.
Re:Some folks don't need a zone (Score:5, Funny)
Professional: Someone who can do his very best work, even when he doesn't feel like it
n.
1) A fabled mythical creature.
2) A robot.
Parent
Re:Some folks don't need a zone (Score:5, Interesting)
Only the mediocre are always at their best. (Jean Giraudoux)
Parent
Re:Some folks don't need a zone (Score:5, Insightful)
If somebody can do their best work at the drop of a hat, no matter how they feel, I'd venture a guess that their best isn't very good.
Parent
simple (Score:5, Insightful)
A few days of a free schedule, no interruptions, and a private, quiet workspace will do the trick for me.
What's the one thing I need to code? (Score:5, Insightful)
Go away...
No, seriously, just go away...
three for me (Score:5, Interesting)
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.
Re: (Score:2)
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)
1. 11 pm.
2. Good headphones.
3. Good music.
TRIfecta? (Score:4, Insightful)
How about...QUIET?? (Score:4, Insightful)
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)
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.)
Mine: (Score:2)
My Three (Score:5, Interesting)
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.
Re: (Score:2)
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 second kind is a bit maddening, because
Re: (Score:2)
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)
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.
I would also add... (Score:3, Insightful)
Why are you encouraging Spiegel ? (Score:2, Interesting)
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
How I would like to acheive Nerdvana (Score:2)
#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.
The Anti-Trifecta (Score:2)
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)
Trifecta? I didn't know Jessica Alba (Score:5, Funny)
had two identical sisters.
Hijacking your thread... (Score:2)
... 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)