Live data from Hacker News

Developer's block

underlap.org

11–20 of 106 posts

Re: Developer's block

#11
post #3

I love how we developers see ourselves like creative writers instead of plumbers

Depends on whether you are working for someone or building for yourself.

If you work for someone, you are essentially plumbing, you will still find faults with their ideas and inform them. But you don't make the call to change that idea, nor do you have the burden of living with the finished product. It doesn't have your name attached to it. No one will call it, siva7's crm, you will move on to the next project.

Now, if you are building something for yourself, you are the creative writer. It's your call, it's your want, it'll have your name attached to it. You can move on, but in everyone's mind and your own, it's your creation.

Re: Developer's block

#12
post #4

There's so much good advice in this article. My number one point that i learned the hard way during two decades of writing software: take breaks when your body tells you to. It's an absolute killer if you force yourself to work on your projects just because there's stuff on your to do list, new issues on Github, or whatever. Just stop working if you don't feel it.

I feel like that's great advice for people working on their own side projects.

But... I'm employed? I mean surely it translates to "go on vacation" but it's pretty useless advice for days where you simply have to work and can't just... not?

Re: Developer's block

#14
post #4

There's so much good advice in this article. My number one point that i learned the hard way during two decades of writing software: take breaks when your body tells you to. It's an absolute killer if you force yourself to work on your projects just because there's stuff on your to do list, new issues on Github, or whatever. Just stop working if you don't feel it.

I feel like that's great advice for people working on their own side projects. But... I'm employed? I mean surely it translates to "go on vacation" but it's pretty useless advice for days where you simply have to work and can't just... not?

I don't think it needs to translate to "go on vacation". During my time being employed, this translated into getting up and stretching, taking a few minutes to look out the window, going for a short walk, taking an intentional breath, sitting and meditating for 15 minutes, actually eating lunch away from my computer, or not eating lunch and going for a quick run or doing yoga or going to the gym.

This can come forth in so many ways.

Moment by moment we can have an eye on our body and what it is asking for, I've found it to not only make me more productive, but also led to my baseline of stress to being way, way lower then everyone around me which is contagious in a positive way.

Re: Developer's block

#15
I think a lot of this is addressed by having a definition of done and more generally being explicit about quality expectations. You don't need to worry whether to polish the readme or add cross-compilation if you conscious about your quality expectations and the drivers behind them - there is no single 'best' project.

Re: Developer's block

#16
> 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 test harnesses a lot[0].

[0] https://littlegreenviper.com/testing-harness-vs-unit/

Re: Developer's block

#17
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 believe it, because it was so hard to find before you sleep. And you do it. And it works. And you know that sleep was the key.

Re: Developer's block

#18
I hate to turn everything into a conversation about AI, but this essay maybe explains best what LLMs have done for me recently.

Particularly the first part. I want to add a new feature, but I want to keep things clean. It needs tests, CI, documentation.

It makes exploring new ideas a bit cumbersome, because code tends to create minor distractions that eat up time. You miss a semicolon, or you forget the order of the arguments to a function you just wrote, do you have to flip to another file. Or the test framework needs an update, but the update breaks something so you have to do some changes. It's not just the time either, it's the context switch from the big picture to the very small details, and then back again.

LLM lets me do "one whole step" at a time. Or that's the positive spin on it. Seen another way, I'm further out from the details, and in most things, you have to hit a bit of a wall to really learn it. For senior devs, I lean towards the first, you've already learned what you're going to learn from fixing imports, you are operating on a higher level.

Re: Developer's block

#19
Well, this is exactly what I use AI for.

I start to experiment with coding agents to try some things to make me unstuck. These are cheap to try.

Then, the outcome is either "wow, this can actually work" or "but this is bullshit, and will never work, let me do it myself the right way!"

Win/win.

Re: Developer's block

#20

I hate to turn everything into a conversation about AI, but this essay maybe explains best what LLMs have done for me recently. Particularly the first part. I want to add a new feature, but I want to keep things clean. It needs tests, CI, documentation. It makes exploring new ideas a bit cumbersome, because code tends to create minor distractions that eat up time. You miss a semicolon, or you forget the order of the…

Are you giving the LLM your code and letting it add a new feature to see how it works? Or what?

How successful do you find your method?

Would you recode what you introduced using the LLM?

Post reply on HN