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!

How To Get Out of Developer's Block?

timothy posted more than 4 years ago | from the how-do-you-feel-about-get-out-of-developer's-block dept.

Programming 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."

cancel ×
This is a preview of your comment

No Comment Title Entered

Anonymous Coward 1 minute ago

No Comment Entered


AP Reports Michael Jackson is dead! (-1, Offtopic)

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

He was killed when author Stephen King, who has also died, fell on him.

Re:AP Reports Michael Jackson is dead! (-1, Offtopic)

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

Damn. Poor Farrah Fawcett can't have her own day

Steve Jobs got a transplant (-1, Troll)

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

Steve Jobs went to the doctor with a totally fucked up anus. Years of abuse had resulted in a severely scarred sphincter, the gang bangs, fist fuckings, object insertions, etc, had done irreparable damage.

-The only solution now is a transplant -- the doctor said.

Luckily, they found a compatible donor in a young straight guy who had died in an accident, and the surgery was a success. After many years, Steve Jobs had a virgin asshole again.

A few months went by, and Steve Jobs was back at the doctor with an anal sphincter that was a total loss.

-I don't understand -- the doctor said -- you just got a new anus and willingly destroyed it again?

-Look, doctor, -- Steve Jobs replied -- if I let people fuck my backside when it was MY ass, do you think I'm going to stop now that it's someone elses?

Shut down your web browser (4, Informative)

loteck (533317) | more than 4 years ago | (#28474153)

Get to work. Guess why it's called work?

Re:Shut down your web browser (4, Informative)

Vectronic (1221470) | more than 4 years ago | (#28474461)

Wikipedia says:
"Weorc or Work (Anglo-Saxon leader). Gave name to Workington or 'Weorc-inga-tun' which means the 'tun' (settlement) of the 'Weorcingas' (the people of Weorc or Work)"

Merriam-Webster says:
Middle English werk, work, from Old English werc, weorc; akin to Old High German werc work, Greek ergon, Avestan varÉ(TM)zem activity
before 12th century

If you know anything further, please inform.

More to it than that. (5, Insightful)

Photo_Nut (676334) | more than 4 years ago | (#28474591)

Your motivation to work on something has to come from within. That being said, if you are in a depressed mood (understandable in these times), then you are less likely to be productive. I suggest going out for a run, getting your blood pumping, etc. Sometimes caffeine helps. Music helps. Minimizing distractions helps - web browser, cell phone, etc.

One thing you can do if you want motivation is to reward completing the boring or hard tasks with easier, more fun tasks. Mix up the hard problems you have to solve with minor annoyances. That way, if you can't concentrate on a hard problem, you can at least make some progress. Making progress is the way to get through the doldrums.

Go to bed early, next to a window facing East. Wake up in sunlight.

You might also take the approach that video games do - track the work you do. Reward yourself for making milestones.

FP? Really? (0, Redundant)

G (2545) | more than 4 years ago | (#28474167)

If you find an answer I want to know too!!


Step by step process (5, Insightful)

Nefarious Wheel (628136) | more than 4 years ago | (#28474495)

1) Examine your motives. Do you really want to do this? No? Think about the effect on you if you don't. Spend no more than 2 minutes on this stage. Decide.

2) Describe the problem to yourself, written, in a single short paragraph. Display this where you can see it as you work.

3) Determine the absolutely smallest possible component of this job that you need to do. Maybe a 5 minute job. If you can't break down a big job into smaller jobs, you're in the wrong business. Pick that smallest little job and do it. Write it down on a physical list and tick it off. Actually do this step.

4) Determine the next little job. Work a bit to find the next smallest task. Rinse and repeat.

5) By this time you might have momentum. But if all else fails, acquire a McDonald's or Wendy's job application. Have it framed and on your wall in front of you. Nothing will motivate you better than that.

Re:Step by step process (1)

mellon (7048) | more than 4 years ago | (#28474557)

This is the best advice so far. On stage one, if this works for you, try thinking about the people who will use the code once it's written. Picture them benefiting from it. Picture them not benefiting from it if you don't write it. Sounds goofy, but it sometimes works for me. If they don't really seem to care one way or the other, maybe you should write different code.

Re:Step by step process (5, Insightful)

Jurily (900488) | more than 4 years ago | (#28474627)

3) Determine the absolutely smallest possible component of this job that you need to do. Maybe a 5 minute job. If you can't break down a big job into smaller jobs, you're in the wrong business. Pick that smallest little job and do it. Write it down on a physical list and tick it off. Actually do this step.

4) Determine the next little job. Work a bit to find the next smallest task. Rinse and repeat.

I hear ya. Whatever you do with that code, keep fiddling with it. Keep your attention on it even if it's just some comment formatting. After a while, your brain starts to get into gear and next time you look up from your screen, the janitor will be telling you to go home already.

For most of us, there is a certain period of time we have to sit and look stupid, before we can be productive. Just stick with it.

The solution (3, Funny)

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

Mhmmm.... get a job as a project manager ?

promise yourself you'll get up in a half hour (5, Funny)

mtrachtenberg (67780) | more than 4 years ago | (#28474209)

Sit yourself down for a half hour, promising yourself that at the end of the half hour, you'll get up and take a break.


Expand to 45 minutes. Repeat.


Oh, and stop whining.


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

Try getting a hold of some. It does wonders for me. Thankfully, i get them on perscription. I don't have to pay anything :]

LSD and Weed (4, Funny)

basementman (1475159) | more than 4 years ago | (#28474219)

LSD and Weed, just stock up on Doritos and Grateful dead CDs beforehand.

Re:LSD and Weed (5, Funny)

serutan (259622) | more than 4 years ago | (#28474437)

I give myself a little pep talk. I tell myself that if Michael Jackson can keep going so can I.

R.I.P Michael Jackson (-1, Redundant)

Nefarious Wheel (628136) | more than 4 years ago | (#28474605)

I give myself a little pep talk. I tell myself that if Michael Jackson can keep going so can I.

Given that Michael Jackson died a few hours ago, I would pick another image.

R.I.P. Michael. You were abused, troubled, and the money killed you. You were creepy, good, and brilliant. You were a case of arrested development and the best damn choreographer since Fred Astaire.

You were the ultimate winner and loser, and our culture was changed by your presence here. Bye, guy.

Re:LSD and Weed (2, Interesting)

Foofoobar (318279) | more than 4 years ago | (#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!

Coder's block (4, Insightful)

fiannaFailMan (702447) | more than 4 years ago | (#28474227)

I take a walk if it's one of those small bugs that holds you up for days and then turns out to be a semi colon in the wrong place.

If I can't motivate myself to work on a particular project, I work on something similar for personal projects at home, because that's always more interesting than doing something because you have to. Once I get into it, I get little moments of inspiration like "Ah, that'd be a really useful feature to use at work." That makes the work more interesting and there are times at work when I get little moments of inspiration like "Ah, that'd be really useful to use on my home project."

Re:Coder's block (1)

Brian Gordon (987471) | more than 4 years ago | (#28474331)

What kind of compiler are you using that doesn't tell you that you missed a semicolon?

Re:Coder's block (2, Interesting)

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

GP is probably referring to something like:

if (x); onlyDoThisIfXIsTrue();


Re:Coder's block (4, Interesting)

nschubach (922175) | more than 4 years ago | (#28474445)

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:Coder's block (2, Funny)

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

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.

Is he asking in your right ear?

Re:Coder's block (1, Insightful)

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

Is it just me? I don't think I've ever met a good programmer who smoked pot at any time in their life.
No, I don't have short term memory (I think....)

Re:Coder's block (1)

taniwha (70410) | more than 4 years ago | (#28474579)

Take a walk, or a train ride, or a long shower - anything that lets you get into a slightly disassociative state seems to help me work though those "can't get my mind around it" sort of problems

On the other hand if you can't sit down and get anything done - turn off the internet, delete the games, put on some headphones ....

Find something you're emotionally involved in.. (2, Funny)

fictionpuss (1136565) | more than 4 years ago | (#28474235)

..whether because you think your project will make the world a better place or just cause you think your coding style is gonna get you laid.

Motivate yourself - doesn't matter how or what, as long as it's something you care enough about to put ahead of other stuff you obviously find more fun. Like asking questions on Slashdot.

Break your project into manageable steps (5, Insightful)

Antidamage (1506489) | more than 4 years ago | (#28474239)

Break your project into manageable steps. It's the only way to tackle large, complicated tasks when you lack motivation.

If you do enough small steps, you'll regain your enthusiasm for the project. Then you'll be back on the rails in no time.

Re:Break your project into manageable steps (1)

bernywork (57298) | more than 4 years ago | (#28474333)

Seconded, I am doing something myself at the moment, and I was like this. I have written myself a plan, and I am giving myself deadlines of when I have to get things done. After that I take a break for a couple of days.

Too many possible factors (5, Insightful)

hattig (47930) | more than 4 years ago | (#28474251)

Sole developer is hard. There's no easy answer as people react differently.

I'd say:

1) Get away from the computer for a bit.

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

3) Sit down and work out a hard plan with deadlines. Not long term deadlines, but in the near future. If you can't do this, then maybe the project is too fuzzily defined.

4) Do a lot more work with pencil and paper. Only use the computer for programming and post-pencil-paper documentation.

5) Is there anything outside life that's affecting you? Afraid of zombies in red jackets dancing if you fail to finish the project? Is it actually going well, or are you unhappy with it? Ask yourself the hard questions to see if it's that. I.e., you feel it's not worth finishing the project, so you can't.

6) It could just be your work conditions - chair, computer position, desk cleanliness. Or the people around you - interruptions, etc. Make notes of when you get interrupted, and then see what they're like at the end of the week. Like a food diary, you might be surprised.

Re:Too many possible factors (5, Insightful)

Heir Of The Mess (939658) | more than 4 years ago | (#28474475)

I've had this problem where I've sunk into a funk, there's a few things I did to cure it:

- Quit coffee for a while and get your sleep patterns back to normal

- Exercise more. Sitting at a desk I can get my breathing down to almost nothing and my pulse down to 40. Do this for a year and your body becomes inefficient at getting oxygen into your system. Exercise and stretch your lungs. I do 50 pushups a day, and jogging on the weekend and it's changed my life.

- Once an hour move around a bit, again increasing your breathing and heart rate.

- Try to get more sunlight in your life.

- Stop reading slashdot for a while - it sucks the life force out of you. In fact try to cut down on tv and internet browsing and do stuff requires more active involvement.

Re:Too many possible factors (3, Insightful)

hattig (47930) | more than 4 years ago | (#28474629)

Good advice. Good quality sleep where you're not thinking of work is great. Being a bit fit helps too. I walk a couple of miles a day, and am lucky to have a window desk so I see the sunlight. If you're in a dark office, or area of the world, then maybe invest in a lightbox. Do some gardening at the weekend as well - exercise, creative, different, sunlight and fresh air.

Actually, before you leave for the day, write a list of what you want to do the next day. And after that, DON'T think of work until you're in the next day. That list is a mental sign to yourself that you're done until the next work day.

And yes, the internet sucks time away. Stopping the cycle is important. Start by checking when you get into work, at lunch, and before home, rather than all the time. Then cut one of these sessions out.

Perfection is the enemy of progress (0)

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

Usually when I see this in either myself or others, it is because they become locked in a mental battle to find the perfect solution. The problem with this approach is that you rarely know enough about the problem at the beginning to formulate the perfect model. This ignores, of course, the fact that most problems don't have a perfect solution.

Drink beer (5, Funny)

sakdoctor (1087155) | more than 4 years ago | (#28474271)

Drink enough beer and you will wake up with the project completely finished.
You won't remember how, plus there might be some residual traffic cones and hookers in your office.

No it is not a writers block (-1, Troll)

140Mandak262Jamuna (970587) | more than 4 years ago | (#28474287)

It just means that you are not a coder. Real coders don't waste time thinking about the project, coming up with specs and test cases. They start coding right away. They could not wait to get started. In fact they will type # include stdio.h int main(int argc, char **argv){} even before coming to the first project meeting.

Re:No it is not a writers block [yes, it is] (0)

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

I don't think you're understanding the author.

I've been having this problem a lot lately, and I think the problem stems from the fact that your goal is so far away from you that you feel like small changes, necessary changes don't add up to a whole lot. This can be depressing when these small changes take several hours to complete (maybe due to unexpected bugs, or the creation of tools to do the job of doing the job).

As for getting around it, I haven't really figured it out. Recently what helped me was having someone else excited about the project--then it felt like I wasn't working on something for me, but for other people that might one day use the product. Likewise, I think smaller goals like write this method or draw this work out better than "get as far as I can today."

The only other advice I can give, which I don't follow (because it's hard), is to segment your time such that you work for part, then switch to something else, then switch back when you get tired of that but before you get tired of working. If that makes any sense.

Re:No it is not a writers block (1, Insightful)

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

There's a lot more to coding than just mashing away at the keys.

I submit:

- thinking about a project
- coming up with specifications and test cases

Does not rule out someone being a programmer. The real issue is probably motivation. Noone had to tell Michael Jordan to go play basketball. Nobody had to go tell da Vinci to go paint. Nobody hand to tell Kerouac to go write.

You can't force good code... Hell. If coding isn't in your heart, you probably can't even force bad code. He needs to take a look at what he's doing and figure out why he's doing it.

Re:No it is not a writers block (1)

SirLurksAlot (1169039) | more than 4 years ago | (#28474509)

It just means that you are not a coder. Real coders don't waste time thinking about the project, coming up with specs and test cases. They start coding right away. They could not wait to get started. In fact they will type # include stdio.h int main(int argc, char **argv){} even before coming to the first project meeting.

You're right, it does mean he's not a coder, he's a developer. Coder's don't take the time to do any of the things you just described, they're more interested in just rushing in and in all likelihood making a mess of things. Developers figure out what, when, where, how, and why before they do anything. Developer's can't wait to get start either, but they do because they want to do it right. I'll take a developer over a coder any day.

Re:No it is not a writers block (4, Interesting)

Un pobre guey (593801) | more than 4 years ago | (#28474603)

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]

Look for unmatched parentheses (5, Funny)

ctrl-alt-canc (977108) | more than 4 years ago | (#28474297)

This will terminate your code block.

Don't Code, Design (5, Insightful)

fidget42 (538823) | more than 4 years ago | (#28474309)

Work on the software's architecture or design. Draw diagrams on how the pieces are to fit together and how data (and control) are to flow throughout the system. This lets you look at your project from a more abstract perspective and may make it easier to get motivated to code portions.

Travel or go to the mall (1)

Statecraftsman (718862) | more than 4 years ago | (#28474313)

Both of these make me want to get back and code as soon as possible. Another idea is to stop trying to code and instead concentrate on what has inspired you in the past. Think of the possibilities! New ways to format or generate those TPS reports will have you coding again in no time!

PIck a different module or direction (3, Insightful)

syntap (242090) | more than 4 years ago | (#28474315)

That has happened to me on lone-gunman projects. It is particularly troublesome when you are determining your own deadline as the writer's block feeds procrastination.

Because this is a lone gunman project you may have an ordered list of development steps or modules to develop in your head. One thing to try would be to mix up the order of development a little in order to jump-start your brain and motivation with something different while at the same time being productive on the project.

Or set up a development schedule with firm delivery milestones and hand it to your boss, and working against a deadline may get the brain moving.

Start fun and build momentum (4, Insightful)

ChopsMIDI (613634) | more than 4 years ago | (#28474319)

Start fun and small. Do the fun stuff first, get your mind obsessing over it (sketching up your mockups, database schemas, etc), so that that's all you're thinking about, then starting the coding isn't so much of a hassle. Don't think too big off the bat, or the project will seem too daunting. Focus on getting a small prototype up and running, then once you've got that momentum, you can start adding features.

They say to start but not finish the easy stuff at night so that when you wake up the next morning, you have the easy part to finish, which gets you started. Then, once you've got momentum, continuing on the harder stuff is easier.

Re:Start fun and build momentum (1)

Dan667 (564390) | more than 4 years ago | (#28474379)

Yes, I agree. Find something that you would enjoy working on and sink your teeth into that. Once you start grinding away at that you will get rolling. Doing a throw away prototype is sometimes good to get started.

Michael Jackson joins BSD team (-1, Troll)

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

"It's dead, Jim."

Uninstall linux (0)

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

Accept after all these years linux will never be on the desktop so go back to your job pushing trolleys at Wal Mart.

Not cut out for software development (0)

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

Maybe you just aren't cut out for software development. It's not for everyone.

Mod Parent Up, Insightful (1)

EEBaum (520514) | more than 4 years ago | (#28474645)

I came to that realization about myself over the past few years, which is why I'm going through a career change right now. Couldn't be happier about leaving it behind.

Use a PDA to write your code, draft in pseudocode (0)

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

It's everything. Being forced to sit down and code is a very Boat-Anchor kind of mentality that company's like IBM and DEC and Microsoft (FORTRAN) have shoved down everyone's neck that shouldn't be)

It's the food, the water, the candy, the television and monitor refresh rate, the hum of your desktop tower, the environment you are working in.

Need to find a place that is more enthusiastic to work in, because your subconcious is uneasy about another event that may be about to happen: incomplete/unsatisfactory achievments, quarrelsome education, Riots, RIAA, MPAA, gun confiscation, unwarranted search and seizure, court/debt collectors, chores from wife, food, etc.

Eat some cruel negative calorie vegetables like cellery and carrots as this will cause your body to metabolize fat and release endorphins while creating natural o-zone which results in a slight euphoric/un-burdening countenance. It's easy to write code that way.

Start sharpening your axe (3, Insightful)

ddebrito (33316) | more than 4 years ago | (#28474367)

Abraham Lincoln said: "If I had six hours to chop down a tree, I'd spend the first four hours sharpening the axe".
The same applies for building an app.
One approach:
Draw a schematic of data flow.
Start thinking about data structures for your app.
Write test cases for imaginary modules that talk to these data structures.
Code the modules utilizing the above test cases.
Write app code that utilized the modules.

Re:Start sharpening your axe (2, Informative)

mangu (126918) | more than 4 years ago | (#28474593)

Abraham Lincoln said: "If I had six hours to chop down a tree, I'd spend the first four hours sharpening the axe".

If the edge were so important, they would cut trees with razors.

I fall more in the "agile" than in the "waterfall" methodology mindset. Usually when I start with flowcharts and schematics I get nowhere.

For me, the way to get over the block is to write one routine that works in some small detail of the project. When I get the perfect data formatting in the gizmo function I start understanding the overall project better. After a few interactions with working code I get a better grasp of the whole, then I do the needed cleanup.

I let the tree grow first, then I prune it. That's the way nature works, four billion years of evolution can't be all wrong.

Write what yoyu want to do in the editor (4, Funny)

geekoid (135745) | more than 4 years ago | (#28474381)

as bullet points.
The expand o each bullet point until you have psuedo code.
Then call some guy in India to finish it.

3 easy steps to unblock (0)

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

This always works for me: A five-mile run followed by 50 continuous push-ups followed by sex with a girl. Works every time. I hope Slashdotters find this useful.

Re:3 easy steps to unblock (0)

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

If I could do all those things, I wouldn't bother with software development!

Re:3 easy steps to unblock (2, Funny)

Dunbal (464142) | more than 4 years ago | (#28474537)

A five-mile run followed by 50 continuous push-ups followed by sex with a girl

      Funny, for me it's usually trying to have sex with 50 girls, ending up doing what amounts to one push up during the act, and watching her run a mile.

Anonymous Coward (0)

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

when i get coders block i try to to get a list of outstanding bugs and start attacking them. once you get back into a groove of coding (even fixing those bugs), i find that it helps.

also, you might consider reading some books on programming or software architecture or even on languages other than what you are using. sometimes this jogs your brain to think differently about a problem.

take baby steps and you will find your groove. good luck!

you are lonely - get company (0)

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

We are not all cut out to be alone for longer periods of time.
Some of us need human stimulation.

For the sake of the project,
and your own happiness,
get company.

Blocked? You're not interested in the code... (4, Insightful)

Dr_Harm (529148) | more than 4 years ago | (#28474401)

Writer's block occurs when the stuff you're trying to write is SO BORING or otherwise uninteresting and unengaging that you, yourself don't even care about it. I've heard at least one writer say that writers block is a good thing, as it tells him when he needs to go in another direction. I would take the same approach to this situation. You've got this piece of code to write, but it's so uninteresting that you don't even care about it. The question then becomes, "Why?" Is it a feature that isn't really needed? Is it an ugly brute-force approach to a problem? Maybe it's just a piece of backend code that you don't really consider "sexy". Once you figure out why you're not interested, you can then address that problem and the coders block will fix itself.

Re:Blocked? You're not interested in the code... (1)

spiffmastercow (1001386) | more than 4 years ago | (#28474435)

Once you figure out why you're not interested, you can then address that problem and the coders block will fix itself.

So what you're saying is I need to quit my job?

Re:Blocked? You're not interested in the code... (1)

Dr_Harm (529148) | more than 4 years ago | (#28474659)

You're probably just joking, but.... If you find that you are completely uninterested in every aspect of your job, then yes, you probably should think about a career change. Honestly, if you dislike your job that much, you'll probably be a much happier person if you find some other way to make a living.

3 Things (4, Insightful)

Aikiplayer (804569) | more than 4 years ago | (#28474419)

When I get stuck (kinda often sometimes):

1. Find something really easy, quick, simple to do. Builds momentum. (At the end of the day, I like to leave myself something easy for the next day to get started on).

2. Find somebody to discuss the project with. That alone will often get me going.

3. Get more sleep. This is more of a personal thing, but I find I'm able to concentrate less effectively when not getting enough sleep.


You have ADD (0)

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

Go get help.

Read "Getting Things Done" (1)

linuxwrangler (582055) | more than 4 years ago | (#28474451)

It's a quick read. The main thing to do in this situation is to mull over the project and decide on the single next thing that needs to be done. Then do it.

But if you aren't careful, you will work back too far and become overwhelmed with non-coding issues and optimize too-early. "Research version-control systems" may be important but it can just as easily be a non-productive stalling technique.

Exercise (1)

GodfatherofSoul (174979) | more than 4 years ago | (#28474453)

It invigorates the mind.

Re:Exercise (0)

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

And not just a sad fap sitting at the PC watching some lame webcam girl showing a bit of nipple.

He means a proper workout.

With a blow-up sheep.

Having a problem STARTING coding? (1)

BlueBoxSW.com (745855) | more than 4 years ago | (#28474463)

I've never had a problem STARTING.

It's that last 20% of a project when I'm trying to nail down the last and hardest bugs, while the client is trying to slip in "edits" that imply major functional changes.

That's when have to pick up my @ss with both hands and drop it in front of the keyboard.

Read Code Complete (1)

sunnybythesea (1585297) | more than 4 years ago | (#28474465)

Read Code Complete in your breaks. It will not only be refreshing, but will also give you hints on how to get past mental blocks and bad habits

Progress = momentum (1)

ThemsAllTook (1423911) | more than 4 years ago | (#28474479)

Sit down and force yourself to write something, anything, that moves your project forward in some way. I find that I feel least motivated when I'm being unproductive, which is an unfortunate downward spiral. However, if I can find a way to get things moving again, momentum builds and I'm able to keep working.

One way I handle things (1)

selven (1556643) | more than 4 years ago | (#28474489)

I've done some simple coding projects on my own, and what I usually do is try to get a minimum level of functionality first, then add features. It helps you see your work in progress, unlike code that is useless until 100% completed.

Do some truth (4, Insightful)

heretic108 (454817) | more than 4 years ago | (#28474519)

Sounds a lot like, deep down, you don't really want to be there, or at least you don't want to be working on that project. Are you happy working as a coder? Do you like your particular technical area? Do you truly like your colleagues? Your employer?

Conditions such as depression not withstanding, it sounds like something deeper within you is trying to tell you something.

Been there, for sure (0)

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

If you can't make headway on the code itself, put it away and do other things. Chances are, if you're spending an inordinate amount of time "planning" and "pondering", the project isn't particularly needed and nobody will miss it if it isn't available. Wasted effort is worse than giving up when the time is right.

Suggestions (1)

Spazmania (174582) | more than 4 years ago | (#28474541)

I occasionally have a really hard time with this myself.

Two suggestions which have helped me:

1. Get a really good night's sleep. Get to sleep early if you can. Get to work late if you have to. I can do lots of kinds of work without enough sleep but writing code isn't one of them.

2. Break out the headphones and the mp3 player. Music can help block out the rest of the world and put you back in the groove. Lose your IM and email while you're at it. Whatever they want, it can wait.

3. Pick the smallest task you can do on the project and focus on it, excluding any other potential improvements.

If all else fails, you may simply be burned out on the project. It happens. If so, the solution is to hand the project off to someone else and move on to another one.

adapting a solution for writer's block (1)

roc97007 (608802) | more than 4 years ago | (#28474571)

I occasionally get writer's block. The solution that works for me is to write down my thoughts as simple as possible, in Dick and Jane style, as very simple sentences or even sentence fragments, on separate lines, without trying to put them in any particular order. Repeat until I run out of ideas.

Then, go back over what I've written, delete the obvious redundancies, and sort the ideas in rough order.

Then, go back and connect the fragments together.

Then, leave it alone for an hour.

When I go back and look, it'll be (roughly) my story, but seemingly written by a nine-year-old. Fix it, done. It's almost trivial to fix a badly written story, compared to writing a good story from scratch.

In this case, your ideas are functions, loops, database calls, matrix operations, or whatever is appropriate for what you're doing. The solution is rattling around in your head, but you're having trouble getting it out in one piece. Take it out in small, simple pieces, and then paste them together later.

Swap out for a while (0)

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

Go off and do other stuff you needed/wanted to do. Take your wife on a weekend trip, fix your car, beat up your kids a bit (if that's your thang), whatever.

Sole development is hard (4, Insightful)

SimonInOz (579741) | more than 4 years ago | (#28474609)

Doing it by yourself is, indeed, hard.

I have done too much of this. Far too much. I need to get back to a group ... over a year away from a company, some years away from a team. My sanity is fading a bit.

You get the following problems:

      You get lonely

      You have nobody to talk over a problem or a design with - and that's bad. You can get stuck on a stupid problem, and if you talked to someone else they'd have said "You idiot, you just need to use this widget" .. and they'd be right. This is probably the worst one

      You get very jaded. There's no competition, nor does anyone say "Well done Fred. Nice work"

      If you are working at home - the fridge is far, far too close. Nasty

      Your designs get corrupt because there's nobody charged with keeping the design and structure in shape. It's far too easy to cheat - you wrote the code, after all, why do I need encapsulation?

What to do?

The fridge problem takes self control, the corrupt design problem is tough, and the loneliness problem is very difficult. Take some external sport, maybe - perhaps some sort of team sport (I skate - in a team. Embarrassing for a geek perhaps, but nice to talk to people completely outside your field).
But you do need some interaction with your peers - Slashdot is not a good way. Too introspective.

You need a friend network, for the occasional geek chat, kick in the head, and the odd war story. Oh, and beer.

Personally I am trying to leap back into the arm of an organisation, with teams. A difficult change, especially in the current climate, but essential for my sanity.

So I wish you luck.
You might try studying a completely new environment - Ruby or something, in an attempt to reinspire the child-like wonder that got you into this area. It's still there. Go for it!

Prioritized Procrastination (4, Insightful)

EEBaum (520514) | more than 4 years ago | (#28474611)

I find that nothing gets me cleaning the apartment like having a project to do. And nothing gets me working on a project like having a clean apartment AND another more urgent, less appealing project to do.

Right now, if your apartment is messy, work on your current project. Of course, instead of working the project, you'll procrastinate it by cleaning your apartment. When your apartment is clean, get yourself an urgent, unappealing project. Soon you'll be using your original project as a means of procrastinating the new one!

Wow, who do you work for? (1)

rehtonAesoohC (954490) | more than 4 years ago | (#28474625)

Cause I want to work for them too!

Any project where you can get away with working 6 months on a project with zero code to show for it has got to be a GREAT place to work!

I kid, I kid... But in all seriousness, something that always helps me is trying to inject something to the project that I am actually interested in doing. If you don't care too much about the project, it can be hard to get motivated to put effort into coding, so I try to put in tech or routines that I find interesting. You can later go in and remove them, but the key is to try to accomplish the project goals while staying interested.

Wait for the deadline (1)

randy of the redwood (1565519) | more than 4 years ago | (#28474639)

Enjoy reading slashdot until the weekend before the project is due. Then panic will set in, and you can load up on pizza and Jolt cola and code in a frenzy. Don't worry, you can fix all the bugs when they come back from QA. Works for me anyway...

Dont do anything. (0)

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

Im serious. This happens to me about once every 3-4 months. I am the sole developer on a few projects. There is no documentation at all. Project scope and goals are fuzzy at best. So hard to find issues frustrate me quite a bit sometimes, since its hard for me to justify what Im doing in the first place.

So, I get in late, and leave early. I will take a few walks during the workday. I find that going to a nice Hibachi lunch is sometimes refreshing. In short, I just zone out of my projects and do what work usually prevents me from doing... living.

After a few days of this I find that my motivation comes back very strong and I lock myself away for a few days and catch up on lost/wasted time.

Motivation? (0)

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

If you sense the problem is linked to motivation, here are a few suggestions.
  - Change it up. Stop even attempting to work on that project and do something else entirely for a few weeks, then come back to it fresh.
  - Revise your development cycle/methodology. When you are the sole developer, you should consider using a rapid cycle of prototype->revise->repeat. Make all changes in small chunks. where each chuck results in some completed/working accomplishment. If every goal you set-out to achieve comes with a reward(e.g. "Yeay, it works! Look what I can do now! Isn't that cool?!"), then programming it in general will seem more rewarding to you, and if each of those chunks are small you will receive constant mild rewards, instead of bubble->bust/roller-coaster rewards, which can cause lacks of motivation so sever that they threaten project continuation.
  - Just write something, anything. Pick a hand full of things that don't require a lot of thinking and just write them. --Or start writing some method somewhere from top to bottom (procedurally) without planning it. This is in essence something writers may do when faced with writers block.
  - Take more breaks. As soon as you find your mind wandering, patience thinning, or attention draining take a mini-break. Play a Flash Game, check slashdot, IM a friend, etc.
  - Examine your diet. A number of dietary factors can affect your ability to do heads-down coding. e.g. fluctuations in caffeine intake, dehydration, etc.
  - Body Part Check. Do you still have hands? Not having hands is a dead give-away, and will almost certainly prevent one from spitting out code, so check 'um. (Note: this is only a problem to watch for if you have ever been bored enough to gnaw your own hands off.)
  - Structure your programming environment. Eliminate un-wanted distractions, maximize comfort, use good posture, etc.
  - Work in a group. It is hella-difficult to find others to help with "your" personal project, but if you have the opportunity take it. Not only will this increase your interest through social rewards, but it will also apply a new sense a responsibility, since other persons would then be relying on you.

A few ideas... (0)

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

* Get outside! Shut off your computer to remove the temptation, and go for a long walk, hike, or bike ride. I'm always just amazed at how much this can restore me.
* Work on something else. Maybe not even something programming related.
* Download a new library you've never worked with, try a new language feature, or something totally removed from your experience. Just tinker with it a while. New
ideas are fun! ...if it's really bad...
* Change jobs. (Seriously!)

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