Live data from Hacker News

Developer's block

underlap.org

51–60 of 106 posts

Re: Developer's block

#51

Sleep. Best side task for your brain. How many times has this happened to me? You struggle with a feature or a bug, you think about it, you weigh the pros and cons for hours... because you don't want to start something that will set you back. You're tired, but you don't want to go to sleep until you've at least made a decision for tomorrow. Go to sleep. Now. Then you wake up knowing immediately what to do. You hardly…

I just take a hot bath… best ideas happen in the bathtub for me.

I once solved a customers problem, and understood the problem of my broken washing machine during one short shower before going to bed. Best shower ever.

Re: Developer's block

#52

> A new project and it’s going to be your best ever A good defense against this is borrowing stuff from your prior projects, alongside eventually creating templates for the most common stuff. For example, in new side projects I start, I can borrow the web server (ingress) configuration from the prior ones, same for CI pipelines and a large part of the previous Dockerfiles, sometimes even entire services with all of t…

I tried this for a bit 5/10 years ago, but I've never found this to work very well. I guess I relarely start significant greenfield, non-trivial, projects. Maybe every 3 years or so.

By which time beat practice has completely changed and everything you setup is out of date.

And that's backend, it's much worse for frontend where even 6 months later your 'perfect' template is out of date.

Re: Developer's block

#53
Besides mentioned by others walks and sleep I found meditation to be really helpful; you often can get the benefits, ideas-generation-wise, of a full-night sleep doing solid 30-minute session. There are other benefits of meditating too :)

Re: Developer's block

#54
I second doing intermittent chores, but rather the literal actual household chores, helps you to relax while being productive and putting your mind at ease from the main task you are focusing on otherwise.

For solo work, I've found a framework of four learning modes effective: reading, when you are exploring something new, sketching/speccing depending on the detail level you're aiming for, coding only when you might forget things you didn't bother writing down, and relaxing as the fallback state. The key is to be in only one mode at a time and to avoid getting stuck in any single one. Based on nature of the work, you might switch two or three times a day. And always know the next two immediate steps; if you don't, that's your signal to switch. Rinse and repeat.

Re: Developer's block

#55

> Release early, release often I’m big on this. I find it efficacious to have an integrated product going as soon as possible, even if it’s a field of stubs. It’s my experience that I almost never know what the end product will look like, no matter how much upfront planning time I devote, so being able to test and iterate the whole system, as soon as possible, is pretty vital. It’s also one reason that I like to use…

Your linked post about test harnesses is outstanding; thanks for sharing!

Re: Developer's block

#56

Besides mentioned by others walks and sleep I found meditation to be really helpful; you often can get the benefits, ideas-generation-wise, of a full-night sleep doing solid 30-minute session. There are other benefits of meditating too :)

Agreed -- and IME even a 10m zazen session is helpful. Also, a 20m nap can be surprisingly restorative. Physical movement (even a couple min of stretching) goes a long way, as does changing the environment (switching rooms, and/or writing design notes by hand instead of typing).

Re: Developer's block

#57
I suffer from this. I even get as far as nearly finishing a project, and then just decide to abandon it as the last 20% is just mentally exhausting, and I should have written the whole thing in language X using framework Y…

Re: Developer's block

#58
> You may be held up by a problem in a dependency such as poor documentation. It is tempting to start filling in the missing docs, but try to resist that temptation. Better to make minimal personal notes for now and, after you’ve made good progress, considering scheduling time to contribute some docs to the dependency.

I agree with most of the article, but this part keeps me thinking. Scheduling to contribute later will almost never work. Either I do it now or never. The task is lost in a list of infinitely many tasks. Also, contributing to a dependency (if I understand this correctly) is always something that helps at least two: yourself - doing something good, helping to improve someone’s work, getting something done - and the person who works on the dependency project. The other gets (positive) feedback and knows someone uses their product/software/library

Re: Developer's block

#59

Sleep. Best side task for your brain. How many times has this happened to me? You struggle with a feature or a bug, you think about it, you weigh the pros and cons for hours... because you don't want to start something that will set you back. You're tired, but you don't want to go to sleep until you've at least made a decision for tomorrow. Go to sleep. Now. Then you wake up knowing immediately what to do. You hardly…

What I have noticed is that often, what sleep or rest gives me isn't so much a new insight but just the gumption to make a decision or grind through what I know needs to be done.

Re: Developer's block

#60
post #58

> You may be held up by a problem in a dependency such as poor documentation. It is tempting to start filling in the missing docs, but try to resist that temptation. Better to make minimal personal notes for now and, after you’ve made good progress, considering scheduling time to contribute some docs to the dependency. I agree with most of the article, but this part keeps me thinking. Scheduling to contribute later w…

I try to think in terms of owing the dependency a contribution as a small payment for using it, and this bugs me until I do it. But, sure, better to contribute docs sooner rather than not at all.

(One advantage of deferring is that the contribution may be better quality when I've had more experience of using the dependency.)

Post reply on HN