frontpage.
newsnewestaskshowjobs

Made with ♥ by @iamnishanth

Open Source @Github

Open in hackernews

Developer's block

https://underlap.org/developers-block/
75•todsacerdoti•3h ago

Comments

dgan•3h ago
Rolled my eyes on "For experts only: don't do it yet". Shut-up already. I will do it right now because it will nag me forever and then surface will grow, and every time the new code interacts whith what-could-ve-been-optimized I will spend 5min thinking if I should already optimize it
siva7•3h ago
I love how we developers see ourselves like creative writers instead of plumbers
RealityVoid•3h ago
Some jobs are more like plumbing, some more like creative writing, some more like planning and architecture. It really depends on the project.
frou_dh•3h ago
Well it is quite literally writing, and fairly often starting with a blank page (file) and then doing a lot of editing.

---

Talking of pages, I quite often write down on a physical notebook what I'm trying to accomplish. Because if I just dive straight into hacking code I sometimes get a frenzied feeling, as if I'm just bouncing around like a pinball in an undisciplined way.

raincole•3h ago
Haven't heard plumbers launching side plumbing projects. But who knows, perhaps they do and just don't post on HN.
adithyassekhar•3h ago
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.

woadwarrior01•3h ago
It's a spectrum. Most projects span the entire spectrum. Lots of boring plumbing work, and a little bit of brilliant algorithmic work.
Kovah•3h ago
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.
mavamaarten•3h ago
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?

mikodin•2h ago
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.

vjerancrnjak•28m ago
There’s no golden rule. For me, both work and learning out of curiosity is stress inducing activity. Nail biting, valsalva breathing, skin rashes etc.

I just grind through it and repeat the days.

I would do only aimless activities if I relied on the feels.

This kind of negative emotional investment seems to be the only thing that improves my abilities. If I’m learning through Anki or playing tunes on the piano, habit can stop after 6 months of regular daily practice.

But if I’m on the brink of stress rage frustration, somehow it persists .

JimDabell•3h ago
I’ve also found that LLMs are great for getting past developer’s block. “What next?” can overcome inertia quite easily.
petesergeant•2h ago
That and I find it’s usually easier to start with a shitty first attempt that kind of works that you’re then refactoring
ekidd•1h ago
Yup, I don't use models to write serious code. But if my brain is totally blocked, perhaps after half day of meetings, I do sometimes take a smaller local model, explain a simple task to it, and let it try to implement to my specs. At this point I'm usually annoyed and engaged enough to get back in the zone.

If a human is available, 30 minutes of pairing works even better. There's just something about breaking tasks down and getting even simple feedback that makes it a good jumpstart.

meander_water•3h ago
Great advice all round.

> Take time with learning

But this one in particular stands out. We are being constantly pushed to ship code at faster and faster rates. AI has only hastened the process.

If you want to learn anything new you have to slow it down, push back against all the forces urging you to do more, ship more, make more money.

If you're using AI tools, do the opposite of what everyone else is doing. For every piece of generated code you accept, scrutinize every line, ask clarifying questions, ask for alternate implementations, ask what the tradeoffs are.

Just be curious.

This will be slow, but that's the point.

duncanfwalker•2h ago
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.
RossBencina•4m ago
I agree. I've been experimenting with writing DoDs for anything longer than an hour's work (things that often end up taking a month.) It helps. I think there's also something to setting structured goals, and sequencing mid-term sub-projects. If you can define scope and definition of done for the current sub-project then you can be clear on what is important now, and what you can defer for a later phase.

Relatedly, I've been hearing a bit about goal hierarchies lately. This seems like a more flexible approach than reducing everything to a TODO list and/or backlog. (Here's a random description of goal hierarchies that seems like a good introduction: https://www.spcperformancelab.com.au/personal-training-advic...)

ChrisMarshallNY•2h ago
> 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/

Martin_Silenus•2h ago
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.

esperent•2h ago
Also exercise.

Sleep restores you. Exercise is the spark.

aswanson•2h ago
Facts. I don't do the late hours on code anymore either. Rest is essential.
oldmandev•1h ago
I agree that sleep and exercise are key.

Some have pain and/or insomnia waking them up at night with the inability to get back to sleep quickly or at all, and some have pain/injuries that make exercise less fun.

Telling us to sleep and exercise is like telling homeless and starving people to get off the streets, find a job, eat a good dinner, and buy a house. It sounds nice, and we’ll do our best, but the world you live in is different, and you don’t understand.

shakna•36m ago
True, but as someone with a pain condition... Most throwaway suggestions won't help out. People always try to help, but rarely can. That's fine. Take the kindness, discard the advice.

But because I've struggled with this thing for decades, I probably do have enough tools to find my own way. And if I've run out, it means I'm about to burnout and need to find a way to restore ASAP.

CalRobert•44m ago
If only my kids would let me..
binaryturtle•10m ago
I just take a hot bath… best ideas happen in the bathtub for me.
lordnacho•2h ago
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.

ktallett•2h ago
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?

lordnacho•2h ago
Yeah I let the LLM look at the code and ask it to implement some change.

It works pretty well with Claude Code. Much better than cursor, which is a step up from copilot. Even with the same models, and I'm not sure why. I haven't really tweaked much around the AI tools, since I don't really know much about how they work.

I've just found that Claude Code somehow... just works. Out of the box, no MCPs, no fancy configs. I just straight up tell it what I want, and most of the time it gets it right or close enough to right that a second instruction is all I need.

Would I recode what I wrote? Maybe not from the ground up, since I already had a pretty good framework. But LLM has managed to make some pretty fiddly changes to my codebase recently. It would have taken me a long time, mostly in tedious edits.

skydhash•2h ago
For me I prefer to keep things granular. Like: add the endpoint; validate the input; return sample data; connect to the db and return something from it;…. It’s easier to go with small wins. I have the plan/design/architecture to keep me pointed in the right direction.
atemerev•2h ago
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.

kryptiskt•1h ago
When faced with a big task and not knowing where and how to start, a trick I like is writing something crappy that is roughly a step in the right direction. For example, if you're building a web browser (huge monumental task), just load a page with your favorite http lib and display it, html tags and all. You know that none of that code will survive, but it's something that you can build on, and in due time you'll come around and replace it with the right design.
EdwardCoffin•1h ago
The Oxide and Friends podcast [1] did a whole episode on this: Coder's Block (25 Oct 2021) [2].

It had some good stuff in it, the best of which (for me) was: when stuck, write debugging infrastructure.

[1] https://oxide-and-friends.transistor.fm

[2] https://oxide-and-friends.transistor.fm/episodes/coders-bloc...

Edit: punctuation

hoistbypetard•1h ago
I can feel this block, especially when I'm starting a new project.

Two things that help me:

* have a good boilerplate

* ship things that do nothing

i.e. I find it helps to start a project using my good boilerplate then set up builds and releases (so for web projects, put them online) so that the page doesn't look so blank anymore, and I can see my progress in "releases" even if they're just for me/others contributing.

skydhash•50m ago
I kinda started programming on IDEs (Visual Studio, Eclipse, then Android Studio) and the templates they is kinda a nice way to get quickly started on some projects and not have to worry about configurations. These days, I prefer CLI tooling, so I copy things over from projects on GitHub.
ruslan_sure•35m ago
Great words! I would add that the developer block specifically appears when you delve too deeply. You may get stuck in limbo.

Simplify the mental model of the code, product, etc. Discuss it with someone.

tomrod•25m ago
Of all the uses of LLMs, this is the most useful to me. Being able to force a minor draft that I can begin tweaking to overcome dev or writers block.
KronisLV•19m ago
> 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 the annoying setup and configuration stuff already done.

Plus, this way, you have a more or less working baseline and further iteration is entirely up to you - and if you do want to improve things a bunch, then the next time your template will be even better and you'll be able to backport whatever you think everything should have to your other projects as well.

Going with the simplest solutions along the way helps: Bash scripts for triggering builds, CI configuration just calling those, using Docker or similar containers for the environments and builds, your ingress just being Nginx/Caddy/Apache2/..., using PostgreSQL or SQLite and specialized stuff like Redis/Valkey, RabbitMQ, MinIO and so on instead of reinventing the wheel.

Sometimes it's also useful to write utility scripts and even small tools to help with the projects, I bet developers that have been around for decades and are way better than I am have a lot of that stuff, alongside a healthy helping of dotfiles for existing tools to get in the zone while doing the dev work. Although it can also be helpful to go the YAGNI route and customize things as little as possible, like a stock IDE install, not even bothering with the color themes or keybinds or a plethora of plugins - just install and go.

Rethinking the Linux cloud stack for confidential VMs

https://lwn.net/Articles/1030818/
26•Bogdanp•1h ago•0 comments

Manim: Animation engine for explanatory math videos

https://github.com/3b1b/manim
136•pykello•5h ago•39 comments

Developer's block

https://underlap.org/developers-block/
75•todsacerdoti•3h ago•39 comments

I Made a Floppy Disk from Scratch

https://kottke.org/25/08/i-made-a-floppy-disk-from-scratch
35•bookofjoe•2h ago•12 comments

WebR – R in the Browser

https://docs.r-wasm.org/webr/latest/
52•sieste•3d ago•6 comments

World Wide Lightning Location Network

https://wwlln.net/
46•perihelions•5h ago•16 comments

Building a computer in the 90s (2019)

https://dfarq.homeip.net/building-a-computer-in-the-90s/
22•networked•3h ago•18 comments

The ROI of Exercise

https://herman.bearblog.dev/exercise/
79•ingve•6h ago•68 comments

Shader Academy: Learn computer graphics by solving challenges

https://shaderacademy.com/
176•pykello•3d ago•34 comments

You can't grow cool-climate plants in hot climates

https://www.crimepaysbutbotanydoesnt.com/blog/why-you-cant-grow-cool-climate-plants-in-hot-climates
19•surprisetalk•2d ago•1 comments

Librebox: An open source, Roblox-compatible game engine

https://github.com/librebox-devs/librebox-demo
4•libreboxdevs•1h ago•0 comments

Lightning declines over shipping lanes following regulation of sulfur emissions

https://theconversation.com/the-world-regulated-sulfur-in-ship-fuels-and-the-lightning-stopped-249445
91•lentoutcry•4d ago•23 comments

Show HN: JavaScript-free (X)HTML Includes

https://github.com/Evidlo/xsl-website
169•Evidlo•18h ago•88 comments

I'm too dumb for Zig's new IO interface

https://www.openmymind.net/Im-Too-Dumb-For-Zigs-New-IO-Interface/
156•begoon•6h ago•133 comments

The Fancy Rug Dilemma

https://epan.land/essays/2025-8_FancyRugDilemma
26•ericpan64•3d ago•6 comments

David Klein's TWA Posters (2018)

https://flashbak.com/david-kleins-magnificent-twa-posters-404428/
31•NaOH•3d ago•3 comments

Nitro: A tiny but flexible init system and process supervisor

https://git.vuxu.org/nitro/about/
202•todsacerdoti•17h ago•74 comments

From M1 MacBook to Arch Linux: A month-long experiment that became permanenent

https://www.ssp.sh/blog/macbook-to-arch-linux-omarchy/
141•articsputnik•3d ago•240 comments

The theory and practice of selling the Aga cooker (1935) [pdf]

https://comeadwithus.wordpress.com/wp-content/uploads/2012/08/the-theory-and-practice-of-selling-the-aga-cooker.pdf
52•phpnode•2d ago•25 comments

The first Media over QUIC CDN: Cloudflare

https://moq.dev/blog/first-cdn/
249•kixelated•18h ago•101 comments

Echidna Enters a New Era of Symbolic Execution

https://gustavo-grieco.github.io/blog/echidna-symexec/
8•galapago•3d ago•0 comments

Self-driving cars begin testing on NYC streets

https://www.amny.com/nyc-transit/self-driving-cars-nyc-first-permit-waymo/
16•pkaeding•1h ago•8 comments

I run a full Linux desktop in Docker just because I can

https://www.howtogeek.com/i-run-a-full-linux-desktop-in-docker-just-because-i-can/
136•redbell•4d ago•85 comments

Top Secret: Automatically filter sensitive information

https://thoughtbot.com/blog/top-secret
105•thunderbong•1d ago•11 comments

FFmpeg 8.0

https://ffmpeg.org/index.html#pr8.0
876•gyan•21h ago•182 comments

The use of LLM assistants for kernel development

https://lwn.net/Articles/1032612/
63•Bogdanp•14h ago•23 comments

Websites and web developers mostly don't care about client-side problems

https://utcc.utoronto.ca/~cks/space/blog/web/WebsitesDontCareAboutClients
19•zdw•7h ago•12 comments

My tips for using LLM agents to create software

https://efitz-thoughts.blogspot.com/2025/08/my-experience-creating-software-with_22.html
111•efitz•12h ago•47 comments

Glyn: Type-safe PubSub and Registry for Gleam actors with distributed clustering

https://github.com/mbuhot/glyn
57•TheWiggles•14h ago•10 comments

Measuring the environmental impact of AI inference

https://arstechnica.com/ai/2025/08/google-says-it-dropped-the-energy-cost-of-ai-queries-by-33x-in-one-year/
137•ksec•9h ago•71 comments