×

Welcome to the Slashdot Beta site -- learn more here. Use the link in the footer or click here to return to the Classic version of Slashdot.

Thank you!

Before you choose to head back to the Classic look of the site, we'd appreciate it if you share your thoughts on the Beta; your feedback is what drives our ongoing development.

Beta is different and we value you taking the time to try it out. Please take a look at the changes we've made in Beta and  learn more about it. Thanks for reading, and for making the site better!

Why Programming Rituals Work

ScuttleMonkey posted more than 4 years ago | from the still-waiting-for-the-stars-to-align-to-write-my-super-code dept.

Programming 233

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

cancel ×
This is a preview of your comment

No Comment Title Entered

Anonymous Coward 1 minute ago

No Comment Entered

233 comments

I can completely understand... (4, Insightful)

SerpentMage (13390) | more than 4 years ago | (#28002713)

Before I undertake any task I do absolutely nothing. For about a day I will just idle around thinking about the problem. Kicking around one solution and another.... And I keep doing this until I am happy...

Re:I can completely understand... (5, Insightful)

MyLongNickName (822545) | more than 4 years ago | (#28002825)

You *think* before you code? WEIRDO!

In all seriousness, when I worked for a bank, I would go outside with a legal pad and start drawing out the logic in terms of pictures. Away from the phone. Away from the co-workers.

At lunch one time, a coworker half jokingly said I only work 3 hours a day. My manager was there and remarked "Yeah, but he gets more done in those three hours than you do all day".

I tried to keep from smiling... however, in all seriousness, coding is 30% of programming. too many coders consider themselves programmers.

Re:I can completely understand... (5, Insightful)

Mr2cents (323101) | more than 4 years ago | (#28003237)

You should seriously consider giving your manager a raise.

Re:I can completely understand... (4, Funny)

MyLongNickName (822545) | more than 4 years ago | (#28003259)

Actually, considering his orientation, I might have.... but I really prefer not to think about it :)

Re:I can completely understand... (5, Funny)

Anonymous Coward | more than 4 years ago | (#28003611)

Actually, considering his orientation

He's Asian?

Strategy vs tactics (2, Insightful)

Colin Smith (2679) | more than 4 years ago | (#28003667)

You can run just as hard and fast as you like. Doesn't do you much good if it's in the wrong direction.

 

Re:I can completely understand... (5, Insightful)

moderatorrater (1095745) | more than 4 years ago | (#28003733)

I tried to keep from smiling... however, in all seriousness, coding is 30% of programming. too many coders consider themselves programmers.

A lot depends on deadlines. If you have 3 things that needs to be done and committed by tomorrow, then there's going to be a tendency towards hackery. If you've got one thing that the company wants you to work on until it's finished, then you need to be more of a thinker. Programming's all about tradeoffs, and deciding which tradeoff happens isn't always the responsibility of the coder.

Of course, most of the time management doesn't even realize that a tradeoff is being made. There's a breakdown in communication somewhere and most managers don't even realize that by pushing the deadline to be shorter they're asking for more work in the future and more bugs.

I'm with you (1)

CFD339 (795926) | more than 4 years ago | (#28003735)

I have a set of colored find point pens I use to draw out E.R. diagrams and then pseudocode on pads long before I sit at a keyboard.

Re:I can completely understand... (4, Insightful)

16K Ram Pack (690082) | more than 4 years ago | (#28004047)

It's one reason I prefer to charge clients for the job than the hour. Because like the author, by the time I sit down to code, I've worked out precisely what I want to do. When I'm writing code in the evening, I might be reading slashdot, twitter and all that, but I'm quite frequently also buzzing code around in my head. I can almost feel the things forming, juggling around 2 different approaches and letting the brain work out which way it likes better.

It means that when I sit down, the code is more like typing.

Re:I can completely understand... (0)

panthroman (1415081) | more than 4 years ago | (#28002853)

quote> Huh, I usually rush like hell to get code out, and to this day/em> nobody lets me near their computer...
Maybe I'll try your tack.

Re:I can completely understand... (2, Insightful)

LucidBeast (601749) | more than 4 years ago | (#28002941)

I do the same with a twist... and then I drink my beer and code.

Re:I can completely understand... (3, Funny)

jgtg32a (1173373) | more than 4 years ago | (#28003389)

How are you going to write that comment and not add the XKCD?

http://xkcd.com/323/

"Doing nothing" is not nothing... (5, Interesting)

jeko (179919) | more than 4 years ago | (#28003247)

Here's a couple of long out-of-fashion words; contemplation and reflection.

There is no "process" -- not change requests, not planning documents, not maintenance windows, not design documents, and for damn sure no flavor-of-the-month buzzword -- that can replace someone with a brain thinking the problem through.

The problem with this is that it exposes the MBAs for the empty suits they are. Our "business team" -- salesmen with glorified titles -- sit through every meeting bloviating while the engineers get it done. The PMP certs are the worst about it. Me and a customer engineer will put our heads together about something, and decide on a course of action. The PMPs will jump all over it and send out emails about "deliverable actions items."

One of the other engineers will mention something, and we'll realize we should take a different approach. While we're getting real work done, the PMPs will barge in demanding to know if that action items has been deliverabled yet, and if not we need to reprioritize our skill sets.

I used to try to explain it to them. We were going to do that, but then we found out this, so were doing something different. I kept getting haughty responses about how they didn't need to know the little tech stuff, they were just managing the project.

One of them went on at huge length about how you didn't have to be a doctor to be a chief of staff at a hospital.

At that point I just began to feel sorry for him. Can you imagine living your life hoping and praying that no one will ever realize that you don't have the first clue about what you're talking about?

Re:I can completely understand... (1, Interesting)

Anonymous Coward | more than 4 years ago | (#28003311)

Me too. Sometimes it takes weeks, and I might have to go Cabo or Belize or party with some hookers and blow, but that's how dedicated I am to making sure I get the job done right.

More seriously: It sounds like he and I have very different working methods, and I wonder how much of it is due to the subject matter. I use something more akin to a sketch, examine, and revise methodology. The sketches can be drawings, UML, Venn diagrams, mock-ups, or illustrations*, but eventually some of the sketches are functioning rough implementations. This is perhaps because much of my work is user-oriented rather than simply data-oriented, but I sometimes find it useful for the more complex data-oriented code. The code sketches are usually revised into the next version of a sketch, and eventually become the actual code you want to ship. Obviously that methodology could be very problematic in a group environment with a lot of overlap, but there are different ways to adapt it.

One thing I absolutely dread are those design meetings where people spend hours trying to decide amongst two technologies or models that are both clearly imperfect in the same magnitude. You go over it and over it and over it until everyone is worn through, and the eventual choice isn't based on merits but simply the chance events of the meeting.

* I've found two minutes at a sketch book can sometimes clarify the necessary algorithm for me in a way that could take an hour of pain at the computer. I definitely recommend trying approaching problems from multiple disparate modes of thought.

Re:I can completely understand... (1)

BlueKitties (1541613) | more than 4 years ago | (#28003739)

I have a bad habit of thinking over bugs while lying in bed before going to sleep. I've lost more than a few hours sleep over this. Usually though, I sleep like a baby if I manage to find a good solution to a problem.

Re:I can completely understand... (0)

Anonymous Coward | more than 4 years ago | (#28004407)

I have a bad habit of thinking over bugs while lying in bed before going to sleep.
I've lost more than a few hours sleep over this. Usually though, I sleep like a
baby if I manage to find a good solution to a problem.

I'm the same but if I do find a good solution, I can't sleep until because I'm itching to implement it.

My rituals (in order, of course): (5, Funny)

Anonymous Coward | more than 4 years ago | (#28002771)

      1. Make a cup of coffee: Community New Orleans blend, one sugar, hazelnut creamer.
      2. Read reddit.
      3. Check social status sites: facebook, twitter, etc.
      4. Read CNN.
      5. Read email.
      6. Catch up with coworkers.
      7. Juggle a bit.
      8. Put on headphones. Go to last.fm and hunt for a station that fits my current mood.
      9. Check reddit again.
    10. Go to lunch.
    11. Read email.
    12. Check reddit again.
    13. Update to-do list.
    14. Check icanhazcheezburger, etc.
    15. Pick different last.fm station.

Re:My rituals (in order, of course): (4, Funny)

Cornflake917 (515940) | more than 4 years ago | (#28003635)

I'm willing to bet that you make at least 6 figures with a job description like that.

Re:My rituals (in order, of course): (0)

Anonymous Coward | more than 4 years ago | (#28003941)

Oh man, that's my list too. even the juggling! I, however, don't have a job. Wanna swap?

Re:My rituals (in order, of course): (1)

penguin_dance (536599) | more than 4 years ago | (#28004107)

Substitute Twitter for reddit. :D

Seriously though the idea of programming ritual is not that different from writing anything else from articles to novels. Sometimes I listen to instrumental (less distracting), but sometimes for a fictional piece, I listen to the type of music my character would "listen" to. (Don't laugh, I happen to know a published author who's main character has a Facebook page.) It makes the character more real and puts you in their mindset. And I usually read the piece out loud at least once, usually to my spouse. I catch a lot of mistakes that way. (Probably not recommended for coders ;-)

Was there a question here? (1)

internerdj (1319281) | more than 4 years ago | (#28002843)

If you distill any of the accepted processes down then you plan first, even in agile processes. To summarize the summary: If you plan first and clear your workspace of distractions you do better work...

My code works better (4, Funny)

russotto (537200) | more than 4 years ago | (#28002845)

...when I make sure to release it when most of the testing group is on vacation. Vastly cuts down on the initial bug list, let me tell you.

Re:My code works better (2, Insightful)

digitallystoned (770225) | more than 4 years ago | (#28003377)

I think the biggest problem with programming is the number of programmers involved and the size of the project. It's really the testing group/QA departments job to catch the bugs. I listen to music while i work, granted I install network hardware, but it makes the day go by faster and seems to be more productive than listening to the phone ring or staring at the wall for hours on end. I think that programmers are given too much crap. They may make coding errors, but they are human. Another set of eyes on any project makes things a bit easier. As much as I hate OpenBSD, they have a descent system. They take code, review it, and then post it to their distro. It may take them forever to get to that point, but at least its reviewed. Programs would be so much better if there was a better source. I'm sure this is offtopic so yeah....I forgot where i was going with this, its quiet in the office.

Re:My code works better (0)

Anonymous Coward | more than 4 years ago | (#28003535)

As much as I hate OpenBSD, they have a descent system.

Well of course they do, it's descended from Unix.

Programming happens in the mind (4, Insightful)

Mr2cents (323101) | more than 4 years ago | (#28002847)

The key to good software is contemplation. You can feel the social pressure at the workplace to be typing all the time, but it's wrong to give in. If they want someone who's banging on his keyboard all the time, let them hire a typist.

Re:Programming happens in the mind (2, Funny)

m50d (797211) | more than 4 years ago | (#28003981)

If they want someone who's banging on his keyboard all the time, let them hire a typist.

Or a group of exhibitionists.

Re:Programming happens in the mind (0)

Anonymous Coward | more than 4 years ago | (#28004747)

Very light exhibitionists, unless they stole the model M keyboards from the typists...

Re:Programming happens in the mind (1)

Bamafan77 (565893) | more than 4 years ago | (#28004043)

"The key to good software is contemplation. You can feel the social pressure at the workplace to be typing all the time, but it's wrong to give in." Quote from a PM: You're not paid to think! (seriously)

Re:Programming happens in the mind (1)

Mr2cents (323101) | more than 4 years ago | (#28004341)

Quote from a PM: You're not paid to think! (seriously)

I would not let that opportunity pass to let him know *exactly* what I *think*. And I would start updating my resume immediately. And use that quote in job interviews to let my future employer know where I stand.

You might be more accepting, but personally, that's one of the few things that can make me angry. I didn't spend all those years in college to just throw away my brain the moment I get out.

How is this a ritual? (5, Insightful)

Fantom42 (174630) | more than 4 years ago | (#28002863)

Sure, some of what the article talks about is a ritual, but the planning process isn't a ritual at all. Its a process. One that usually works pretty well, I must add. The less time you spend coding, the better your product is usually going to be. That said, knowing when to put down the whiteboard is sometimes important too.

Re:How is this a ritual? (1)

bFusion (1433853) | more than 4 years ago | (#28002951)

Not to do the asshat dictionary thing, but one definition of a ritual is "any practice or pattern of behavior regularly performed in a set manner."

I think in this context a ritual would be very similar to your definition of a process. :)

Re:How is this a ritual? (1)

Fantom42 (174630) | more than 4 years ago | (#28003357)

http://dictionary.reference.com/browse/ritual [reference.com]

The one you are citing is the EIGHTH one down. The others have religious or other connotations.

At any rate, a ritual has a connotation of ceremony, not one of a process, which is established for reasons other than tradition or religion.

To me, the point at which a process becomes a ritual, in that eighth definition context, is probably the moment a software engineering process probably stops working very effectively, because people have lost sight of why they are doing it. (Not always true of course and usage is pretty flexible.) Still, I think to call some of the OP's acts ritualistic sells them short, because there are good reasons for many of them, that wouldn't warrant weird stares from people.

Re:How is this a ritual? (1)

bFusion (1433853) | more than 4 years ago | (#28003975)

I must have missed the footnote on dictionary.com saying "All definitions after the fifth should be ignored because they are either redundant or too obscure to be used in normal sentences."

I would have used one of the more "correct" definitions, but they all had religious significance. But let's be honest, who hasn't considered coding a religion at one point or another.

Anyway, /troll, I do agree that process would have been a better word choice, since usually it's more about clearing your head and planning ahead than lighting candles and slaughtering goats.

Re:How is this a ritual? (2, Funny)

Chabo (880571) | more than 4 years ago | (#28002961)

Duke Nukem Forever had this problem. They spent so much time saying "THIS GAME IS GOING TO BE SO AWESOME" that they never wrote any code!

Re:How is this a ritual? (4, Funny)

Mr2cents (323101) | more than 4 years ago | (#28003151)

There's even a simple proof of that: all bugs come from coding. Therefore, the less time you spend coding, the less bugs you'll produce :-).

Re:How is this a ritual? (1)

bn-7bc (909819) | more than 4 years ago | (#28003601)

Well IÂm not a programer, but it seems to be a problem with youre statemsent: If you do no coding at all you will, as yoo stated, have no bugs, but jou will allso lack a pruduckt, witch will make youre boss onhappy and ....

On the other hand, cutting down the amount of code to the absulute mimimum needed to achive the desired functionalety might not be a bad idea.
I can imegine that a project with 10k lines of code is somewat easier to maintain and debug/exstebd then a project with 100k lines.
If anyone with first hand knolage thinks IÂm wrong, pleace correct me so I donÂt make the same inncorect asumtipns again :)

Re:How is this a ritual? (0)

Anonymous Coward | more than 4 years ago | (#28003675)

Which offshore development shack do you work for?

Re:How is this a ritual? (1)

Mr2cents (323101) | more than 4 years ago | (#28004145)

Well, IMHO, it's an optimization problem. Suppose you want to place a tile floor in your kitchen. Not being an expert, it goes quite slowly. As things progress, you discover some tricks that make the work progress better and more quickly, and by the end the pace will be faster. Now, do you spend more time at the beginning with experimentation to find these tricks (a.k.a. "tinkering", or "wasting time"), or do you just turn off your brain and work as hard as you can? What will get the work done faster?

There is no clear answer to this, as placing a tile floor is not something you do every day. On the other hand, if you want to make it your profession, you want to learn these tricks as soon as possible, as you will benefit from it every day for the rest of your career. So it all depends on the scale of the project.

Coming back to a software project, if you can isolate some key concepts and abstract & implement them well, these ADT's will give you a great advantage later on. But you will "waste" time dong so early on.

Re:How is this a ritual? (1, Insightful)

Anonymous Coward | more than 4 years ago | (#28003751)

Any program can be reduced by one line, and all programs contain at least one bug ... ergo ... any program can be reduced to just one line, which will be a bug.

Re:How is this a ritual? (1)

CrashandDie (1114135) | more than 4 years ago | (#28003775)

Reisner's Rule of Conceptual Inertia:
If you think big enough, you'll never have to do it.

Re:How is this a ritual? (1)

tonekids (465665) | more than 4 years ago | (#28004287)

Reisner's Rule of Conceptual Inertia:

If you think big enough, you'll never have to do it.

You've described the founder and CEO for whom I used to work.

Re:How is this a ritual? (1)

Yvanhoe (564877) | more than 4 years ago | (#28004467)

In the world of 2009, planning for anything instead of waving frantically in all directions while shouting that all the bugs are another's person fault passes for ritualistic voodoo thing.

I don't care that you have a fetish for planning kid, but do this at home, a workplace has some standards to hold.

Oh, another person asked me today how open source efforts could work by only using people's free time...

Rituals help focus the mind (3, Insightful)

Black Art (3335) | more than 4 years ago | (#28002917)

I can fully understand using such rituals. It helps you get in the right head space for writing code. It gets you focused on the task and flush out all the other crap trying to get your attention.

I have found that if I am not in the right frame of mind before starting, the code takes much longer or is just plain wrong. If I am in the right head space, the task is quick and done before you know it.

Re:Rituals help focus the mind (1)

Red Flayer (890720) | more than 4 years ago | (#28003415)

I agree 100%.

I have found that if I am not in the right frame of mind before starting, the code takes much longer or is just plain wrong. If I am in the right head space, the task is quick and done before you know it.

It's not just coding, either -- anything requiring concentration and analytical thought benefits from being in the right frame of mind.

One of the tricks I learned from a former boss was to identify what gets me "in the mood", and then practice at streamlining the process until I could turn it on and off at will. He seemed to be a master of it, it still takes me a couple minutes -- and because it takes me a couple minutes, jumping in and out of the zone is a pain in the ass... which means I need to take even longer to make sure I'm not going to need to interrupt myself. So if I plan on needing to be in the zone for an hour, I'll need to make sure I have coffee or tea plus a glass of cold water handy, that I'm not going to need to go to the bathroom, etc. So I need to add even more to my ritual to avoid having to go through the ritual again.

The key, of course, is making sure that external disruptions are minimized... turn the phone ringer off, close the email & IM apps, etc.

I work in 50-minute zone bursts, with 20 minute breaks for correspondence, slashdot, etc... plus one 50-minute session for emails in the AM and another in the PM, and time as needed at the end of the day for additional correspondence and instructions to offshore teams. So in a normal day, I get between four and five sessions of productive zone-work done. The rest of the time is correspondence and some goofing (slashdot, mainly).

Anyway, to make a long story short, if I can reduce the ritual that I need to get in the zone, I could be much more productive, since interruptions (self-inflicted or otherwise) would result in less downtime.

Kids and their Crystals and Wheatgrass Juice (1, Interesting)

Anonymous Coward | more than 4 years ago | (#28002949)

I get a cup of coffee, if that, and I sit my ass down and write some code. I don't go for walks, I don't spend quality time with the wife, I don't sit in the lotus position, I bang out thousands and thousands of lines of solid code. If there's a particularly nasty problem, I go to sleep and the solution shows up in the shower the next morning and then I code. Criminies. I blame "keyboarding" classes, "web design", and "object oriented methodologolologogies" on this sort of hippie chakra-based programming hooey.

Re:Kids and their Crystals and Wheatgrass Juice (1)

AmaDaden (794446) | more than 4 years ago | (#28003243)

I'm willing to bet that for all your talk of just getting to it you still do a lot of thinking about what you are coding, you just do it with the monitor in front of you. It's highly unlikely that you just sit done and start writing the final bug free version of the code. You must have some kind of thought process you use to solve your coding problems. If you don't you are either 1)doing it the hard way by writing first and fixing later 2) programing stuff that is so far beneath you that it's no real challenge for you

Re:Kids and their Crystals and Wheatgrass Juice (2, Interesting)

DrLang21 (900992) | more than 4 years ago | (#28003767)

I would like to know how complex of a system you are designing with this methodology. No flow planning? No predefined input/output? No figuring out how your design will efficiently fulfill software requirements? Planning isn't all about rituals, though it's well known that doing something to focus your thoughts helps get the juices flowing. Planning is about figuring out how to not waste your time or money, and being able to effectively divide out work if deadlines are pressing in.

AKA I write the best code when I am "in the zone" (0)

Anonymous Coward | more than 4 years ago | (#28002955)

It's a form of meditation, to put ones mind in a state that people call "the zone", where their creativity flows without obstacle.

Personally I find that code written in that state is hard to maintain. It sort of works, but it's rather badly structured. Coding "the hard way" may not be as fast and neither as pleasant, but it forces you to have a more rational approach to the problem at hand, and that results in better code.

The zone is perfect for rapid prototyping though.

Iteration vs planning... (4, Insightful)

blahplusplus (757119) | more than 4 years ago | (#28002973)

I think the problem with planning everything too much is that you can't hold all the details in your mind at once, and sometimes your planned approach is not as good as one you come up with later given some time to stew on it (doing nothing).

I think programming is a very iterative process because it is symbolic and non-visual (i.e. not like building something with structures that are easily and intuitively able to grasp their structural and interconnected relationsihps)

Re: programming is definitely visual (1, Interesting)

Anonymous Coward | more than 4 years ago | (#28003131)

I think programming is a very iterative process because it is symbolic and non-visual (i.e. not like building something with structures that are easily and intuitively able to grasp their structural and interconnected relationsihps)

I have to disagree with you there, and I'll submit that you're doing it wrong if you're not visualizing what you're coding.

I'm a highly visual person, and as a result I'm really good at simplifying complex spaghetti written by people like you who can't see the obvious simple(r) solution.

If you can't visualize it, draw it on a white board. Remove any cyclic dependencies and minimize the number of connections. Visualize. Visualize. Visualize. Then code.

Re: programming is definitely visual (1)

Razalhague (1497249) | more than 4 years ago | (#28003955)

I have to disagree with you there, and I'll submit that you're doing it wrong if you're not visualizing what you're coding.

He isn't doing anything wrong, he just isn't a visual person, and coding isn't inherently visual.

I'm a highly visual person, and as a result I'm really good at simplifying complex spaghetti written by people like you who can't see the obvious simple(r) solution.

No, you can turn the code into a form where you can understand it better. It isn't necessarily simpler or better, just put in a different form. What you call "complex spaghetti" can be plain as day to people who think differently, and your "simplified" code can be as difficult for them to read as the "complex spaghetti" is to you.

Re: programming is definitely visual (0)

Anonymous Coward | more than 4 years ago | (#28004185)

No, you can turn the code into a form where you can understand it better. It isn't necessarily simpler or better, just put in a different form. What you call "complex spaghetti" can be plain as day to people who think differently, and your "simplified" code can be as difficult for them to read as the "complex spaghetti" is to you.

Sorry, but you're dead wrong. I can take code that not even the original developer(s) could understand and turn it into something easy enough for a PHB or QA dev to grok by skimming.

It's a fact that complex code is harder to maintain, and it has a higher bug density. There are plenty of tools out there to analyze the level of complexity in your code, and they all fully agree with me here.

Get some experience, kid.

Re: programming is definitely visual (0)

Anonymous Coward | more than 4 years ago | (#28004483)

Visualize. Visualize. Visualize.

You could have done that with a loop.

Try mind mapping (0, Offtopic)

dim5 (844238) | more than 4 years ago | (#28003197)

Coding is not an efficient way to hash out an idea. Mind mapping software is free [xmind.net] , quick and simple to use, and frees your mind to get detail-oriented without losing track of anything.

Re:Iteration vs planning... (4, Funny)

DragonWriter (970822) | more than 4 years ago | (#28003305)

I think the problem with planning everything too much is that you can't hold all the details in your mind at once

Yeah, if only there was some way of tracking information without keeping at all in your head at once.

Re:Iteration vs planning... (1)

Blakey Rat (99501) | more than 4 years ago | (#28004117)

I think the problem with planning everything too much is that you can't hold all the details in your mind at once,

For a mere price of $1100 I can sell you this new invention I've come up with. It's called a "legal pad." Combined with a high-tech "ballpoint pen" it allows you to keep track of thousands of details-- without holding them all in your head!

They're going fast, call today.

From the Redundency Department of Redundency (-1, Redundant)

mrbene (1380531) | more than 4 years ago | (#28003003)

Isn't this pretty much a rehash of this one [slashdot.org] ? I mean, a bit of a different angle, but come on.

Maybe spring is in the air and everyone is looking to control their, y'know, urges.

Re:From the Redundency Department of Redundency (0, Redundant)

mrbene (1380531) | more than 4 years ago | (#28003411)

Oh, now *that* is funny. My comment about the articles redundancy is modded down for being redundant.

Re:From the Redundency Department of Redundency (1)

CrashandDie (1114135) | more than 4 years ago | (#28003853)

Don't link to the same story as the one you're posting on, don't have the same story open in multiple tabs, GET OUT OF YOUR INFINITE LOOP!

EITS (1)

WarwickRyan (780794) | more than 4 years ago | (#28003013)

Sweet, to see one of my fav bands mentioned on Slashdot of all places :-)

Re:EITS (1)

Hatta (162192) | more than 4 years ago | (#28003463)

You know, I enjoy the instrumental post rock thing. But I'm hard pressed to see what would make one band your favorite over another. EITS, Mogwai, Mono, Tortoise, I enjoy listening to them, but damned if I can tell the difference between them.

Not a ritual! (5, Funny)

eggfoolr (999317) | more than 4 years ago | (#28003069)

Crikey! That's just sensible work organisation. I guess if you find something that works and always do it that way you might call it a ritual. My ritual is to get in the car and go to work every morning... that way I can do, well you know... WORK!

Man, that sounds much better than mine... (1)

MostAwesomeDude (980382) | more than 4 years ago | (#28003087)

I usually just stare at the code until it starts staring back; that's usually about when I realize that it's 6AM and I need to sleep.

time of day (1)

Bobtree (105901) | more than 4 years ago | (#28003213)

I'm curious if other programmers like to code at night or any other particular times.

Re:time of day (1)

gangien (151940) | more than 4 years ago | (#28003317)

my best code seems to come at about 12-2am. much past 4 and my code sucks unless i'm really in the zone.

Re:time of day (1)

wmspider (1333299) | more than 4 years ago | (#28003573)

Same here. From 12 to 3am I have my best 'moments of inspiration'. At some point between 3 and 4 (sometimes later, or sooner, depending on how much I slept) that inspiration goes away really fast. Past that point, my code just sucks...
Btw, I like to listen to techno music while programming, since the lack of lyrics and the repetitiveness of it don't distract me while the fast beats keep my adrenaline level (and thus my concentration on the task) relatively high. What kind of music do you like to listen to, if any?

Re:time of day (0)

Anonymous Coward | more than 4 years ago | (#28003469)

midnight-6am are my best hours of productivity universally regardless of what I am doing. That includes my programming work.

It steadily builds up to a higher productivity level starting at about 3pm and peaking at midnight, though. I get pretty good work done in the evening hours as well.

Close door (4, Insightful)

ichthus (72442) | more than 4 years ago | (#28003307)

I write firmware for a living, and I WISH I had a door to close. Nothing is more annoying or infuriating on my job than when coworkers are loudly shooting the bull while I'm trying to read a datasheet and figure out register settings.

"S.. TF.. U!"

I can code with some noise in the room, but I need QUIET when I'm reading a tech spec. I wish I had the ability to mask external stimuli.

Re:Close door (1)

ajlitt (19055) | more than 4 years ago | (#28003647)

Get a matte screen monitor and some earplugs or IEMs with good isolation. You know you're doing it right when coworkers have to tap you on the shoulder to get your attention.

Re:Close door (1)

ichthus (72442) | more than 4 years ago | (#28003789)

Good suggestions, and funny you should mention earphones. As a sort-of geeky solution, I've actually tried looping a WAV file of pink noise [wikipedia.org] (easier on the ears than white noise). It's not great for my hearing, but does wonders for my sanity/concentration.

Re:Close door (2, Informative)

ajlitt (19055) | more than 4 years ago | (#28004033)

I bought a pair of Etymotic ER6i IEM earphones four years ago and I still consider it one of the best purchases I've ever made. I got them originally so I could listen to my own music at the gym without having the stuff they play there bleed in. They worked so well that I now use them in my cube or occasionally in noisy environments like our lab.

Re:Close door (1)

DavidR1991 (1047748) | more than 4 years ago | (#28004059)

Amen to that. Developing even the simplest things (and trying to keep each piece in your head as you get it down on paper / in code) can be mind bogglingly frustrating when there's lots of noise. Couple it with working informally in the vicinity of a load of computer illiterate morons, and you have my 100% guaranteed recipe for insanity :)

Re:Close door (0)

Anonymous Coward | more than 4 years ago | (#28004641)

get some 30 decibel or close to that ear protection from a shooting range. it used to work great when i had to be in the office near my boss and not out in the feild.

they'll run ya$20-$30 or so.

i have the same thing at my job at burger king (0)

Anonymous Coward | more than 4 years ago | (#28003399)

but the computer assholes from the company next door always scream at me to 'speed it up bitch im on my lunch break'

Wife? (1)

WebmasterNeal (1163683) | more than 4 years ago | (#28003517)

"When I do the planning and specifications, I go on lots of walks, take lots of time with my wife"

I enjoyed that comment, almost like we don't bother spending time with our wife's the other 90% of the time.

I am a C# programmer (2, Funny)

Anonymous Coward | more than 4 years ago | (#28003587)

My ritual consists of watching this [youtube.com] and then killing a goat

Because... (0)

Anonymous Coward | more than 4 years ago | (#28003621)

the world is full of people with OCD.

When I find a bug (2, Interesting)

lhoguin (1422973) | more than 4 years ago | (#28003761)

My only ritual is that if I find a bug or a problem that I can't resolve in less than 5 minutes I take a few hours off. After a while I get back to it and am usually able to resolve it without much trouble.

Re:When I find a bug (1)

TheRaven64 (641858) | more than 4 years ago | (#28004505)

When I find a bug, I publicly blame it on someone else. This guarantees that, within five minutes, I will find the bit of my code which caused it in the first place.

blocking out everything else (1)

JayDaddy (1555687) | more than 4 years ago | (#28003869)

After the planning, thinking, doing nothing, etc. I think my ritual would be comparable to everyone else's. Put music player on random and slip on the headphones. Close ALL communications applications. Expand IDE across two monitors Turn off the blackberry Close the door Code away Then if anyone comes in and bothers me I give them dirty looks and short answers until they leave.

Why Programming Rituals Work (1)

HTH NE1 (675604) | more than 4 years ago | (#28003921)

Now, let's have no more denigrating the practice of waving a dead chicken over the computer.

Essays/reports vs code (1)

Snorfalorpagus (1321189) | more than 4 years ago | (#28004521)

Over the last few years I've found that I can't write reports (i.e., those requiring full-English sentences) when listening to music with lyrics. I'm fine with some post-rock (Stars Of The Lid being a personal favourite), but if the song has words I get distracted very quickly. This doesn't seem to happen when writing codeâ"I can listen to whatever I want, and still perform well (at least by my standards). I'm not sure how to explain this, other than that my brain thinks in stepwise procedure, rather than sentences.

Clear desk, clear mind. (1)

Evil Pete (73279) | more than 4 years ago | (#28004759)

I am a messy individual at times. I can leave junk strewn around and know where everything is exactly. However, this seems to incur some computational or cognitive load ... I think it is probably a copout to avoid thinking about other things. Anyway, if I make my environment clear and uncluttered, screen too, then I am more relaxed and can think more clearly.

I should also say something here about Network Admins and the need to sacrifice chickens to the God of Problem Solving but it is probably obvious to all.

Load More Comments
Slashdot Account

Need an Account?

Forgot your password?

Don't worry, we never post anything without your permission.

Submission Text Formatting Tips

We support a small subset of HTML, namely these tags:

  • b
  • i
  • p
  • br
  • a
  • ol
  • ul
  • li
  • dl
  • dt
  • dd
  • em
  • strong
  • tt
  • blockquote
  • div
  • quote
  • ecode

"ecode" can be used for code snippets, for example:

<ecode>    while(1) { do_something(); } </ecode>
Sign up for Slashdot Newsletters
Create a Slashdot Account

Loading...