Hacker News new | ask | show | jobs
by onoesworkacct 176 days ago
You're not always doing something groundbreaking. Sometimes you're just building a thing that needs to exist. People who build houses don't obsess over this shit, they just build a house and then someone moves into it.

I wage a constant battle of motivating myself because my neurology craves novel sources of dopamine but my job is doing the needful 90% of the time.

5 comments

Yeah, this is very real, and I think it can inflict paralysis on programmers with a certain level of experience and 'i know better' syndrome. Or even a 'it _might_ be better' type syndrome.

Sometimes, you might really know better, and it doesn't matter. You build the thing with the wrong tools, with a crummy framework, with a product at the end that will probably not succeed. But that is okay, hopefully you learn something and your team and your org learn something.

And if not, that is okay, sometimes its just a job and you need a paycheck and a place to be from 9 to 5.

This is why I love the bootstrapping stories here on HN.

Like one anecdote where they were building an "app" for automatic hotel reservations IIRC.

The "app" was a form that fed into a Google Sheet, where the founders themselves took the data and called the hotels.

When they got some income, they automated small bits of the process one by one.

Sometimes it's good to just have _something_ out there and see if there's a market for it before carefully crafting a beautiful piece of software nobody will ever use. It all depends on whether you're doing it to solve a problem for someone or for the process of writing code. Both are perfectly valid reasons.

It's totally fine to prototype, but you need to take care when you try to morph a prototype into a real product.

Very often people just take the shortest path from a to b, every single time. So you start with a reasonably shoddy prototype, but then you add some small feature, repeat 1000 times and now you still have a shoddy prototype but it's actually a pretty big project and it's all completely cursed because at no point did anyone do any actual software engineering. And of course now it's too big to rewrite or fix so the only way forward is to keep building on this completely broken mess.

At some point you need to scrap the prototype and replace it with something proper, or at least have a solid plan for how you're going to morph the prototype into something proper. This is often challenging and time consuming work, so a lot of developers tend to never really do it. They just execute the shortest path to get each new feature implemented over and over for years while number of bugs keeps increasing and velocity keeps decreasing because nothing makes sense, everything is more difficult than it should be etc.

TBH I just use AI to do the needful as much as possible and spend my time in other ways.

It's so much more rewarding to get that one stupid extra parameter added to an API + unit tested in 30 minutes rather than 3 hours.

Not every simple thing needs to be handcrafted to perfection.

> People who build houses don't obsess over this shit

Because they have built the same house 20 times already. And this exact house has been built 2 million times before. They know the requirements and how to do it, they know what can go wrong and how, and know how long it will take.

It makes a lot of sense to build the same physical house again and again, but if you are doing the same for software, you are definitely doing it wrong. Thus, typically each software development project is bespoke and has a lot of unknowns.

I've definitely built the same piece of software hundreds of times over, probably thousands. I've even set up CI to automate the build process.

The problem is that the construction equivalent of a software developer is not a tradesman but an architect. Programs are just blueprints that tell the compiler what to build.

There's a thing on YouTube these days where house inspectors basically shame builders. There's one guy who says "I can't tell you who the builder is" while walking past the builder's sign then proceeds to show how the house is completely fucked. Real sloppy work. Brick wall with no concrete so you can literally push it over with one hand. Tiles with voids underneath. Door and window frames cracked. Shower leaking water. Roof tiles broken. Roof vents loose, some times already blown away by the wind. Missing/sloppy insulation. Broken roof trusses.

Maybe the people who build houses should obsess a bit more over this shit.

> People who build houses don't obsess over this shit, they just build a house

Quality of new builds is not that great (at least in the UK) because the speed is the main focus.

Not just speed, but cutting costs. Same issue is popping up globally.

In Finland (smart) people are buying older houses where they still used good old methods to build them. They are easier to maintain and the failure points are known.

New builds have the weirdest basic issues because of cost cutting, sound carries way too much, the air quality is shit because nobody knows or bothers to do the design for moving the air properly etc.