Want to read Slashdot from your mobile device? Point it at m.slashdot.org and keep reading!

 



Forgot your password?
typodupeerror
×
Programming Software IT Technology

How To Get Out of Developer's Block? 601

Midnight Thunder writes "I have spent the past six months working on a software project, and while I can come up with ideas, I just can't seem to sit down in front of the computer to code. I sit there and I just can't concentrate. I don't know whether this is akin to writer's block, but it feels like it. Have any other Slashdotters run into this and if so how did you get out of it? It is bothering me since the project has ground to a halt and I really want to get started again. I am the sole developer on the project, if that makes a difference."
This discussion has been archived. No new comments can be posted.

How To Get Out of Developer's Block?

Comments Filter:
  • Re:Coder's block (Score:2, Interesting)

    by Anonymous Coward on Thursday June 25, 2009 @07:24PM (#28474429)

    GP is probably referring to something like:

    if (x); onlyDoThisIfXIsTrue();

    Compiles...

  • Re:Coder's block (Score:5, Interesting)

    by nschubach ( 922175 ) on Thursday June 25, 2009 @07:25PM (#28474445) Journal

    You are a far better person than I. Ever since I took my hobby of programmer to work, I haven't been able to do it as a hobby. I get home and the last thing I was to do is look at code. I blame Scrum Logs, and crappy deadlines. I blame Scrum because it's a daily reminder of how little you did the day before and how much more crap you have to do over the next 2 weeks. In one ear you have your manager asking you what you did and what you're doing every freaking day, and in the other you have yourself pointing out that you desperately need a vacation. If I had no time-lines and could go back to pre-Scrum days, I think I'd be in a far better mood. ;)

  • Re:LSD and Weed (Score:3, Interesting)

    by Foofoobar ( 318279 ) on Thursday June 25, 2009 @07:30PM (#28474513)
    Gotta second that dude. Zone out and focus in. Once you do that a couple of times, weed becomes recreational again. You are basically stressed and anxious and getting 'crazy chicken syndrome'. Youi know those chickens who are stuck in coops and tightly packed together to where they can barely move and breathe all day and start shitting on each other and plucking out their own feathers? Well sometimes humans get that way too and when then can't relax or unwind.

    Hit the bong, take a Xanax or whatever but unwind and destress. Some freaks up here in Seattle actually hike, climb mountains or ride bikes. A friend of mine in Hawaii surfs and a Java developer friend of mine rides motorcycles at the race track at speeds that would kill you. Helps him unwind. Right now I'm going to 'pack a bowl', pull out my lvl 80 Death Knight and kill noobs and watch them scatter... muahahahaha!
  • by Un pobre guey ( 593801 ) on Thursday June 25, 2009 @07:35PM (#28474603) Homepage
    This isn't really a troll. It may well be an excellent idea to just say fuck it and start coding without caring whether you are doing it wrong or whatever. Just throw some code together that roughly does the first or next few things it needs to do, compile it (if necessary), and debug it just barely enough for it to produce more or less desirable results. Then forget about it until the next day.

    Next day, either refactor what you did the day before, or just keep moving crazily forward. Eventually you will refactor it into something reasonable, and you will have achieved forward movement.

    Don't worry, nobody's watching. Like the man said:
    Plan to throw one away. You will anyway. [fogcreek.com]
  • by EEBaum ( 520514 ) on Thursday June 25, 2009 @08:08PM (#28475089) Homepage
    Get yourself an enormous piece of paper (butcher paper, or something from an art store), and make a big drawing, in pencil, of the entire project and how everything will fit together. Do it at an appropriate detail level to fill a good portion of the paper.

    This has multiple benefits... it gets all your ideas written down, it gets the project organized (and helps identify potential problems before they're in code), it makes for nicely visible pieces of a larger puzzle, and, perhaps most importantly, it gets you away from the computer where you have coder's block.

    The one best piece of code I've ever written, which had all sorts of interprocess communication and synchronization problems to overcome, etc., I started with a big drawing, which lent itself very nicely to a fully pseudocoded skeleton of the program (fully doxygened and line-by-line commented before any code went in), followed by the actual code, which practically wrote itself at that point. Not only did this keep the process going, but it also helped me eliminate and compensate for a whole bunch of technical and design issues, before I had even written the code that I would have had to fix. After addressing a few rogue syntax errors, the program ran correctly the first time.

    Unfortunately, while effective, this process left me completely spent. Having written what was, by my standards, a perfect piece of code, I saw little further for me to accomplish in my career, and I was especially devastated when I saw that it was fairly likely that my contribution would not make it into the final product. A mere shell of a programmer remained, and I have steadily lost interest in programming since. I'm enrolling in graduate school for music in the fall.
  • by javabandit ( 464204 ) on Thursday June 25, 2009 @08:15PM (#28475175)

    As a director of a software development organization, I won't be popular for saying this. But... it is your boss' fault. Not yours.

    You simply aren't motivated. I want to slap the person somewhere in another post who said... "motivation comes from within". It *rarely* comes from within.

    When one of my managers or peers comes to me and complains about "unfocused" or "unmotivated" employees, I tell them to get off their collective ass and motivate their team or their employee. Psychologically, as an employee, you should feel driven by your surroundings to achieve a goal. That feeling should be driven by your team, your boss, your organization.

    Being "self-motivated" is the single, biggest path to burnout in existence. Don't even begin to blame yourself.

    Here is what I would recommend. Go to your manager. Tell your manager that you simply aren't feeling very motivated about the work you are doing. Have an open and honest conversation about it. You might be surprised. Your boss might actually bring some out some of the motivational mojo that you need. If your boss doesn't come through for you, then think about going to another organization.

    But don't quit programming. You probably love it and you probably are pretty decent at it. You just need to be motivated, that's all.

  • by buchner.johannes ( 1139593 ) on Thursday June 25, 2009 @08:39PM (#28475413) Homepage Journal

    2) Do that other project that keeps interrupting your thoughts.

    Maybe we should set up a developer exchange program for open source programs, like Erasmus for devs. Then the exchangees could yell at each other how lazy they are. Seriously though, this could bring some lively exchange of knowledge.

  • by jlarocco ( 851450 ) on Thursday June 25, 2009 @09:14PM (#28475809) Homepage

    Silence may be ideal, but it's not very realistic where I work. If I don't listen to music I'm constantly bothered by people walking past my cube or phones ringing or people talking or ... If I listen to headphones then the music blocks out all of the external noise, and I just zone out listening to music and coding. I hardly even notice the music most of the time. I guess it's easier to tune out the more rhythmic music than it is to tune out random office noise.

  • by sznupi ( 719324 ) on Thursday June 25, 2009 @10:15PM (#28476365) Homepage

    Sure, but how many of those breaks cease being "mini"?

    There are other ways to do during mini break. For example those that don't require you to continue sitting in the chair and staring at the screen (you should get up, move a little and look at something else once in a while)

  • by jhfry ( 829244 ) on Thursday June 25, 2009 @11:07PM (#28476801)

    Sole developer is hard.

    So don't be a sole developer. Stop worrying about code, and focus on packaging your idea to 'sell' to others. Find a partner, a team, an investor, or just a friend who will be pleased to see you succeed in making your vision a reality.

    The first thing I do on most projects is find the one stakeholder who I would be most pleased to make happy. I then share all of my ideas, sketches, prototypes, etc. to this person. Usually they are just a non-techie user who gets anxious to see the final result... which in turn makes me excited to finish so I can finally show it to them.

    I guess what I am saying, is make the project bigger than you... don't be a sole developer, be a hero, be a teammate, be a friend, make someone proud... then the project isn't a chore!

  • by Anonymous Coward on Friday June 26, 2009 @12:19AM (#28477363)

    "sometimes caffeine helps"

    Caffeine always helps. I suggest gratuitous amounts of it. Always helps me invent things, last time I had caffeine in large amounts, I virtually prototyped a 600 part model in about 3 hours. It worked beautifully.

    The Hatchet.

  • Re:Coder's block (Score:5, Interesting)

    by wrook ( 134116 ) on Friday June 26, 2009 @03:53AM (#28478809) Homepage

    I never really did Scrum, but on several XP teams we had daily standups in the morning. However, I *never* invited the manager. In fact, I explicitly told the manager he wasn't welcome. A standup is about communicating small important issues to the rest of the team so that they don't have to discover it themselves. For instance, "I've changed the interface to this class, so if you're going to use it, please come and talk to me." It should never, ever be about tracking progress!!!!!! In XP there is an iteration plan, in Scrum there's a backlog. Either way that document tracks progress. A manager should never, ever ask "How far are you in your task", or "Do you think you'll finish in time" or "What have you done". He can look at the plan to see what is crossed off the list (and if you're really on the ball you've got people independently verifying that the acceptance tests are acceptable). It's up to *you* to warn people if you think your task won't fit in the time remaining. Everything else can be determined by looking at the plan/backlog.

    Agile should be *easy* on you from this perspective. It's one of the reasons it's called agile. If you're not finding it this way you're doing it wrong (IMHO -- of course flame wars have been started on less). Ideally you should never talk to your manager. All information up and down the chain should be transparent. This leaves your manager free to act solely as a shit shield. Unfortunately most managers are too micro-managing to do agile properly.

  • by Anonymous Coward on Friday June 26, 2009 @05:22AM (#28479373)

    Too much thinking can make you lost in time and can be hard to recover.

    Sit down, close your eyes and count to ten, increasing every breath. If you notice this to be nearly impossible... You do have a problem...

    Accept you are human and psychology is a part of life... have a backup-plan:
    -1- plan a holiday
    -2- it's normal to forget things now and then (...)
    -3- do only things you really like for a while
    -4- Make clear to people you are NOT ok... you can talk or you can make an obvious change to your behavior or appearance (make them ask you)

    Anyway... listen to your body an allow yourself to recover.
    The world will keep turning whatever happens

  • by stonewolf ( 234392 ) on Friday June 26, 2009 @11:40AM (#28483561) Homepage

    Most exciting project in the world and all I could do was play solitaire. Game, after game, after game of solitaire. Why was this happening to me?

    That started a long journey of discovery. After talking to several doctors, and a shrink, I learned several things. I learned that on the Myers-Briggs scale I am an INTP, heavy, very heavy on the Introvert, light, very light on the Proceeding part. That means that being around people is stressful for me. I also learned that most programmers are INT types. Funny how that works out. I learned that I had some form of an attentional disorder. Adult men who have undiagnosed attentional disorders tend to develop depression and some form of obsessive compulsive disorder, and anxiety disorders. (Programmers can really benefit from having a bit of OCD.) The doctors recommended a whole raft of different medications.

    OK, this is my story, not yours, I am just telling you what doctors told me were the cause of my developer's block (and writer's block too). They were right, but their suggested solution was wrong for me. There was one time when I was out of work for a long period of time recovering from having my ankle rebuilt that I did resort to anti-depressants. There are some very good ones that are now available cheaply as generics. They fit my unemployed budget quite nicely. But, I weened myself off of them.

    The whole process that I went through has taken more than 10 years and is on going, when you start to analyze your life you never stop.

    Eventually I started exercising. One day I gave my self a gift. I wrote it down. "I grant my self the gift of one hour per day to exercise." That was the best thing I ever did for myself. I started exercising regularly and took up a martial art. The martial art included meditation and Chi Kung training. That lead to my giving myself the added gift of 1/2 hour of meditation per day. After only a couple of months all the external symptoms went away, Internally, they are still there, but I can deal with them. I also lost 50 pounds and dropped my blood pressure. And, oh yeah, my back that had hurt for 20 years stopped hurting.

    Then, I had an accident and had to have my ankle rebuilt. I stopped exercising (hard to do when you are in deep pain and can only walk with crutches) and I stopped meditating. All the symptoms came back. I fell back into the pit. I'm back doing my martial art and meditating and the symptoms are gone again.

    So, what worked for me? A long journey of self discovery that included my starting a martial art at age 51 and learning to meditate and do Chi Kung.

    At the very least, if you do not already do it, exercise for at least one hour per day, at least 5 days per week. It can be as simple as walking. But, I do believe it must be done all at once, not spread through the day. I set a kitchen timer to tell me when I am done and I use the same timer to tell me when meditation is over so I don't disturb myself by constantly checking the clock.

    Just an aside, once I forgot to set the timer and I wound up meditating for 3 hours. The need to pee got me out of my chair. BTW, you can meditate sitting normally in a chair. No need to twist up your legs into pretzels.

    That is how I solved my developer's block.

    Stonewolf

  • by turgid ( 580780 ) on Friday June 26, 2009 @05:01PM (#28488247) Journal

    Me too.

    Here's how I go about working around it.

    Rather than trying to think about the whole thing at once, I think, "What is the simplest, smallest useful thing I could do today?" Even if I've already been working on something, and got quite far but got stuck, I try something new.

    I almost always achieve something if I think like this. Very often, when I have achieved the original goal (which may only have taken a few minutes) I become absorbed in it and get on a run. Several hours later, I will have completely exceeded my initial expectations.

    Quite often I see solution to other problems that I'm not thinking about, which I can go back and fix.

    Every little achievement adds to my confidence, which creates a positive feedback cycle with respect to attempting new tasks.

    Sometimes, I just leave it for days or weeks at a time. At odd moments I get unexpected flashes of inspiration which solve some major problems. The only problem is that I'm usually somewhere else doing something unrelated when this happens, so I always try to write things down: just one or two words on a post-it note, back of an envelope or scrap of paper, firing up vi, and even sending myself an email.

    It's taken a lot of practice to get the scope of the initial tasks right and to make notes, but I'm getting there.

    Maybe age has something to do with it too? I'm 34, not getting any younger, and I'm going to live this life to the best of my ability. That means doing the things that I want to do as well as the things I have to do, no matter how silly, eccentric or pointless they look to other people.

All seems condemned in the long run to approximate a state akin to Gaussian noise. -- James Martin

Working...