frontpage.
newsnewestaskshowjobs

Made with ♥ by @iamnishanth

Open Source @Github

fp.

Open in hackernews

What is "good taste" in software engineering?

https://www.seangoedecke.com/taste/
47•olayiwoladekoya•1h ago

Comments

kingkongjaffa•49m ago
I was nodding along to this. It mostly feels like truisms.

The point about varying levels of skill vs taste is accurate in my experience.

I think I fall into the more taste than skill camp, although neither are particularly large in an absolute sense.

I switched to product management quite early in my career and pivoted to learning design and product “taste” more than software engineering.

cjfd•49m ago
I think it is true. Also as a hiring criterion. Does this person know how to say 'it depends'?
ramon156•48m ago
I feel like the last point "development speed" is dependent on all previous points.

When I do a new project I always try to focus on a tech stack where - if i need to replace a part - i could easily do so. All these components are part of the decision

lofties•48m ago
Good taste, is what I like and advocate for. Bad taste, is the opposite.
actionfromafar•45m ago
You never advocated for something you agree is a huge kludge? :)
OtherShrezzing•47m ago
> One interesting consequence of this is that engineers with bad taste are like broken compasses. If you’re in the right spot, a broken compass will still point north. It’s only when you start moving around that the broken compass will steer you wrong. Likewise, many engineers with bad taste can be quite effective in the particular niche where their preferences line up with what the project needs.

This paragraph really gets to the idea of why I think discussing someone’s taste is basically useless in an engineering context. This “predictably broken compass” person stands out like a sore thumb, and you can just hold a 20min behavioural interview to filter them out.

A far more dangerous engineer is the “partially broken compass”, which appears at first sight to be working because it spins around like you’d expect, but is actually 127degrees off at all times.

foofoo12•42m ago
Tabs instead of spaces.
cake-rusk•29m ago
Spaces have won already. It is the default setting across code editors now.
foofoo12•8m ago
Would that mean it's good taste?
gyulai•40m ago
Lecturing on "good taste" is a huge red flag for narcissism. "Taste" implies subjectivity. Pairing it with "good" is presupposing something along the lines of "my subjective evaluation of things is superior to yours", or "my subjective choices are superior to yours".
antirez•30m ago
That's exactly how it works in most fields that are not purely engineering but where the space of design solutions to do X is huge. Architecture, software development, ...
gyulai•8m ago
If I correctly catch the drift of your argument, you're saying “engineering is objective”, so there is such a thing as a right and wrong choice in any given situation. ...well, to the extent that that's true, the word “taste” is a poor choice of words then. Actually, I think that's the case for this article. I think the article is fine, but the title and “taste” as a choice of word is not great. The article is more about intellectual humility and subordinating your individual priorities underneath the requirements of the project, which is all perfectly fine.

There are some domains where the word “taste” can still properly be applied, for example “vi vs emacs” comes down to individual taste. But then, “emacs people have poor taste” is something that only a narcissist would say. (The “narcissism of small differences” is a well-studied phenomenon).

Or perhaps one uses this choice of words because one feels some sympathy for people who say this in other domains, like “This room, filled with IKEA furniture and film memorabilia, was decorated in poor taste”

… either way, the red flag seems to stick.

The reason it's worth mentioning is that the notion seems to be catching on, and I've seen it applied, for example, in hiring decisions, where I think it's quite dangerous and counterproductive. It lends itself to rationalizing hiring only like-minded people, even where there is no objective ground for preferring one candidate to another.

KempyKolibri•28m ago
I think that depends on context. In some cases (sweet vs salted popcorn) perhaps we could say that, but in others (rotten vs fresh meat) it may well still be subjective (there are people with heterodox taste preferences out there!), but I wouldn’t take it to be a red flag for narcissism.

There are plenty of subjective preferences that we can make comparative claims about without any risk of narcissism.

whalee•22m ago
Not at all. Vanishingly few things during the development process of a novel thing have truly objective measures. The world is far too complex. We all act and exist primarily in a probabilistic environment. A subjective evaluation is not so different than simply making a prediction about how something will turn out. If your predictions based on subjective measures turn out to be more correct than others, your subjectivity is objectively better.

Hence the author's main point: a good taste is one that fits with the needs of the project. If you can't align your own presuppositions with the actualities of the work you're doing then obviously your subjective measures going forward will not be very good.

laurent_du•12m ago
Subjectivity is fine when it is backed by experience and knowledge. If anything, the narcissist perspective is the one where you claim expert opinion doesn't matter because it's all subjective and it hurts your feelings when people criticize your work (or your "taste").
WalterBright•40m ago
Good taste is writing code that looks so simple, everyone else says "pshaw, anyone could have written that!"
silisili•33m ago
That's always been my benchmark as well. I'm always super impressed by people who are able to distill complex things into simple steps. Much like K&R C example code, but please, please leave better comments.
asmor•32m ago
While balancing that to performance requirements appropriate for the project. And picking dependencies that do the same while having a healthy community likely to keep going.

The same applies to picking vendors, asking questions like "will they extort me next contract renewal" and "what options do I have if they extort me".

bob1029•27m ago
> In my view, your engineering taste is composed of the set of engineering values you find most important. For instance:

Strange how absent the customer or underlying business always is in this discussion.

I've seen a LOT of software that could have literally just been a spreadsheet on a file share or a simple SQL ETL job. When reviewing the actual business requirements, we will often find that we don't even need a goddamn web interface. It's just assumed we're gonna build some full stack slop so we never bother to stop and ask why.

I'm watching a client (despite my advice) self destruct on yet another rewrite of a piece of software that doesn't need to exist in the first place. Looking forward to having this exact same conversation IRL in a few months.

I think the heart of bad taste comes from obsessing over tools and techniques and not ever getting meaningful things built and shipped to real customers. Being exposed to unfiltered criticism of the people who actually use your software is the fastest way to drive the noob behavior out of a developer. It's amazing how quickly you drop weird principled takes when your monkey brain senses it is disappointing others.

bubblyworld•16m ago
Can you provide examples of software that should have literally been a spreadsheet or an ETL? Not to call you out specifically but this feels like "I could have written that in a weekend". Personally whenever I have felt that way about a project it turned out I was just missing 95% of the business context/domain knowledge (part of the reason I think rewrites are a bad idea - chesterton's fence).
ajuc•26m ago
Good code is invisible - either there's no code at all (because the requirements and architecture are well adapted so that code isn't necessary for a particular feature), or the code is so simple and boring that you skip over it without pausing.

Not all code can be like that, sometimes you need to write clever code, but it is an ideal to strive for.

BTW this is why egoless programming is so hard. Not only you have to accept criticism and let go of the idea of ownership of "your" code - you also have to write the code in a way that strokes ego the least.

OhMeadhbh•26m ago
I would say limiting the braggadocio is important to "good taste" as well. I interviewed once for a dev role on the email team for a very large free software company you've heard of. The team's egos were so large I could hardly fit in the room. "Oh! I see you wrote the control system for a nuclear power plant. That's cute, I once inverted a tree data structure!" or "I see you wrote the modular exponentiator that was in half the ATM machines deployed in the US in the mid-90s. Whatever. I wrote code that changes the background color of our web page."

I did not take the job.

jackblemming•18m ago
Your phrasing makes it sound like you’re playing the same childish game they are; you just rank yourself higher than them.
laurent_du•15m ago
There's nothing wrong with that. The problem is not that they were playing a childish game, it's that they were over-estimating their own abilities by a lot. It's ok to acknowledge you are good at something if you are, in fact, good at this thing.
mojuba•24m ago
> Is the software easy to take in at a glance and to onboard new engineers to?

This is not as easy as it sounds. Who are those "new engineers", juniors? 10 years of experience? 30 years? What's your requirement?

"Readability" is such a wildcard, with a whole range of acceptable levels from zero to infinity. Readability is a non-concept really. Maxwell's famous equations are readable to some and absolutely impenetrable to the rest of us.

So when someone says "code should be readable", to whom exactly?

zx8080•19m ago
Theere are two quite a widespread classes of not readable code:

Some code is not readable by _anyone_. That's not readable code.

Some code is readable by its author only (be it AI or a human). That's also not readable one.

Saying readability is not a concept is really strange.

mojuba•11m ago
I have a formal proof for you that it is a non-concept. If code can be read and interpreted by a computer, it means it can in principle be read by a human. There are of course some edge cases like obfuscated JavaScript or binary executable that some people are able to read and understand.

The question comes down to being reasonably readable and we are back to square one: "reasonable" is very relative. In my early days I could read 8086 binary code (in hex) and understand what it does, it was literally at the very edge of readability but it wasn't unreadable.

ibash•17m ago
I disagree. The ability of someone to read code doesn't grow exponentially, after a few years of experience everyone hits the same plateau. More years of experience does not mean you can understand more complex code.

That is to say, if you target "readable to the majority of engineers with 3-4 years of experience, without them getting confused" then you've hit the mark.

mojuba•9m ago
> after a few years of experience everyone hits the same plateau

I'm sorry this is a very naive take, I presume (I could be wrong) coming from someone with just a few years of experience.

djmips•8m ago
Speaking of those equations, as he wrote them they were considered rather impenatrable and the modern ones are considered much more beautiful and 'readable' but that was the work of Heaviside and others.
necklesspen•22m ago
When used in the domain of fashion "good taste" describes someone who has a unique way of selecting clothes that just mesh well together - clothes that by themselves independently are meaningless, no matter their make or quality, but when combined together create a powerful effect - much greater than the sum of their parts.

I was hoping the article would go in that direction - what subjective combination is a software engineer deciding on that you can argue is truly a matter of taste and not just a technical decision about a trade-off.

I would say this this article itself may be an example of bad taste. It meanders across a couple of disparate topics in software engineering, independently each section is competently written but as a whole they really don't sell the "look" the article was aiming for.

(I don't mean to discourage future writing by the author - I think it's a potentially excellent choice of topic. I'm just giving my two cents here on the execution.)

whstl•3m ago
I don't agree with the statement that clothes can be "by themselves independently are meaningless". Garments carry cultural, historical and symbolic weight even before they're combined. And fashion is hardly mainly about combining outfits.

And fashion is a lot about tradeoffs too. Not just in the production, but also in the day to day wearing and mix-and-matching part.

JulianHC•12m ago
I heard readability is a touchy subject since some people say having your code easy to read would make replacing you easier.
eimrine•5m ago
Those who have a good taste can distinguish a good taste from a bad taste. Those who don't have a good taste can not.

Google just erased 7 years of our political history

https://www.thebriefing.ie/google-just-erased-7-years-of-our-political-history/
1•doener•5m ago•0 comments

We'll Never Have Flying Cars

https://mertbulan.com/2025/09/29/well-never-have-flying-cars/
1•mertbio•6m ago•0 comments

Economics of Shipbuilding

https://www.youtube.com/watch?v=0Gk61ginOqo
1•lifeisstillgood•8m ago•0 comments

Quantifying Affective Polarization on Social Media

https://www.michelecoscia.com/?p=2466
1•mikk14•10m ago•0 comments

Queueing to publish in AI and CS

https://damaru2.github.io/general/queueing_to_publish_in_AI_or_CS/
6•damaru2•13m ago•1 comments

Data on AI Models

https://epoch.ai/data/ai-models
2•ath_ray•13m ago•0 comments

Show HN: Genesis DB: GDPR-ready event-sourcing database (say hello to CE soon)

https://www.genesisdb.io/blog/posts/2025-09-25/genesis-db-1-1-0-the-future
1•patriceckhart•17m ago•0 comments

In C++ modules globally unique module names seem to be unavoidable

https://nibblestew.blogspot.com/2025/09/in-c-modules-globally-unique-module.html
1•signa11•19m ago•0 comments

Why Don't Data Centers Use More Green Energy?

https://www.nytimes.com/2025/09/27/business/dealbook/why-dont-data-centers-use-more-green-energy....
1•mpweiher•19m ago•0 comments

Show HN: AirSend – beta for digital nomads to get paid in USD and spend in USDC

https://www.useairsend.com/
1•HenryYWF•21m ago•0 comments

Chain-of-Thought Snippets – Anti-Scheming

https://www.antischeming.ai/snippets
1•cubefox•22m ago•0 comments

Week 39 Hotwire Weekly – Components Without Gems, Rails Views Performance

https://www.hotwireweekly.com/archive/week-39-components-without-gems-rails-views-performance/
1•unripe_syntax•23m ago•0 comments

Show HN: BurnShot – Privacy-focused image sharing with auto-burn after views

https://burnshot.vercel.app/
1•axaysharma•23m ago•0 comments

How does Turbo listen for Turbo Streams?

https://ducktypelabs.com/how-does-turbo-listen-for-turbo-streams/
1•amalinovic•24m ago•0 comments

Eric Schmidt: Competing with China means sacrificing work-life balance

https://www.yahoo.com/news/articles/ex-google-ceo-eric-schmidt-161728948.html
2•franczesko•26m ago•1 comments

A New Chapter Begins – Quo (Formerly OpenPhone)

https://www.quo.com/new-chapter
1•doppp•29m ago•1 comments

Open-Source Shadcn/UI Admin Dashboard and Landing Page (Next.js/React, Tailwind)

1•monavb•34m ago•0 comments

Show HN: New Pomodoro Timer

https://www.pomoduck.com
1•lam_hg94•34m ago•0 comments

What is the Nature of 3I/ATLAS?

https://avi-loeb.medium.com/what-is-the-nature-of-3i-atlas-e796477b6c3e
1•bryanrasmussen•35m ago•0 comments

Automated Textual Collation of Suttas with CollateX – Chart

https://discourse.suttacentral.net/t/automated-textual-collation-of-suttas-with-collatex-chart/41122
1•cittadhammo•38m ago•0 comments

Show HN: I'm creating a stock market visualisation software

https://www.aulico.com
1•linkedlistisbad•40m ago•0 comments

Writing a pre-mortem for an app that hasn't even been launched yet

https://twitter.com/pr337h4m/status/1972555353473810729
1•pr337h4m•42m ago•0 comments

Show HN: Easily Run Qwen-3 VL on HPC-AI.com

https://hpc-ai.com/blog/Running-Qwen3-VL-on-HPC-AI
8•justinyokota•43m ago•2 comments

Code Review Benchmark

https://blog.macroscope.com/blog/code-review-benchmark
3•TheAnkurTyagi•46m ago•0 comments

Programmeren in Het Nederlands

https://citrine-lang.org/nl.ctr
3•gabordemooij•50m ago•1 comments

Libwebsockets: Lightweight pure C library for implementing network protocols

https://github.com/warmcat/libwebsockets
2•pykello•52m ago•0 comments

DeepSeek-v3.2

https://huggingface.co/collections/deepseek-ai/deepseek-v32-68da2f317324c70047c28f66
4•wavelander•53m ago•0 comments

Doughnut Economics

https://www.noahpinion.blog/p/book-review-doughnut-economics
2•barry-cotter•1h ago•0 comments

Microsoft forced to make Windows 10 extended security updates free in Europe

https://www.theverge.com/news/785544/microsoft-windows-10-extended-security-updates-free-europe-c...
4•nikanj•1h ago•0 comments

Russian submarine reportedly near the Strait of Gibraltar at risk of explosion

https://www.gbc.gi/news/russian-submarine-reportedly-near-the-strait-at-risk-of-explosion
3•N19PEDL2•1h ago•0 comments