TE
TechEcho
Home24h TopNewestBestAskShowJobs
GitHubTwitter
Home

TechEcho

A tech news platform built with Next.js, providing global tech news and discussions.

GitHubTwitter

Home

HomeNewestBestAskShowJobs

Resources

HackerNews APIOriginal HackerNewsNext.js

© 2025 TechEcho. All rights reserved.

Ask HN: Why do some the best devs create some of the worst UX/UI?

38 pointsby vismwasmover 1 year ago
This is somewhat provoking title, but I can&#x27;t get my head around it: Amazon, Apple, Google, Microsoft et. al. claim to hire only tech&#x27;s top talent. They often still put some mediocre to terrible frontends out there.<p>- Apple TV+ on the web: https:&#x2F;&#x2F;tv.apple.com&#x2F; is not a great experience. I get that Apple wants to people to use an Apple TV, iPad, iPhone to watch Apple TV+. So it might be an intentionally sub-par experience in this case, I guess?<p>- Official Reddit app: I&#x27;m actually fine with the Reddit app and use it since Apollo was killed. It&#x27;s still way less polished than Apollo and it&#x27;s hard to grasp why that must be. It&#x27;s not even about the ads: For example opening threads with a video embedded is a terrible UX (just try it out). The settings are a mess, I turned off all activity notifications and still receive some (in-app) - and can&#x27;t figure out why.<p>- Official Youtube app: It&#x27;s quite buggy. For example, the &quot;use device theme settings&quot; on my iPhone 15 does not work (it works on my iPad though!). When browsing through shorts (I know, I know), the audio from the previous short often remains, so one sees the current short&#x27;s video with previous short&#x27;s audio track - one needs to switch back and forth to fix that.<p>- Github: Not sure if it&#x27;s just me, but I find browsing Github extremely slow. I have no benchmarks, but subjectively browsing through repos the latency seems quit high. Given how obsessed frontend devs are with loading&#x2F;rendering times (SSR, Million.js, etc.) this doesn&#x27;t appear to be right.<p>In most cases there&#x27;s also no way to officially report bugs.<p>On the other hand there are so many indie devs - who would probably have a hard time getting hired by FAANG or even an interview - who create far superior user experiences. It&#x27;s also fairly easy to report bugs and in my experience they get fixed.<p>My question is: Is it a lack of developer skill on the FAANG site? Is user experience not a priority at all?<p>I wonder: Wouldn&#x27;t tech companies actually <i>benefit</i> from supporting third party clients? They might even force third party clients to put ads into their apps. Maybe even force tracking and provide tracking SDKs? I know tech companies won&#x27;t give up on ads &amp; collecting data. But at the very least put a clean, polished and stable app out there or allow talented indies to do so.

25 comments

pschuegrover 1 year ago
Getting UX right is a lot harder than people realize for several reasons:<p>- You have the usual BigCo problems in software with prioritization and incentives and pressure to deliver new features<p>- Front-end work is less mathematically complex and is generally undervalued by large companies that rely on complexity as a metric for difficulty&#x2F;value<p>- When you use a piece of software all day for months&#x2F;years, you learn the happy path to get things done and you forget all the rough edges because &quot;it works fine for me&quot;<p>- It requires a lot of detailed thinking about how other people perceive your work which is not something that software developers tend to excel at<p>- The user story which led to the UI&#x2F;UX is not explicit to the user and the ways that users will try to use your UI are almost infinite<p>- Writing tests for front-end code has historically been more difficult<p>- There are a large variety of devices out there and testing on them all is time-consuming and painful<p>- Software is hard. People are hard. Combining them is harder.<p>- Small companies have a small surface area (people x devices x products) to cover and thus get more focused attention from their devs. Large companies have team reorgs and turnovers and many people who might have different priorities working on the same product<p>- Large companies know that people will still use their products even if the UX is worse because breaking out of the Apple&#x2F;Google&#x2F;Microsoft ecosystem requires significant tradeoffs<p>- Bug reports from the general public are given lower weight at big companies because of scale. When you have 10 bug reports to sort through it&#x27;s not that hard to prioritize and ignore, not to mention that early adopters and small software users are more likely to be good bug reporters. When you have 10,000 bugs of which 9,000 of them are filed by people who don&#x27;t know how to explain the problem: &quot;my X doesn&#x27;t Y&quot;, you become numb to new bugs unless they are show-stoppers, which many UX bugs are not.
评论 #39405607 未加载
marcellus23over 1 year ago
This has nothing to do with developers. Most developers (good ones, anyway) are aware of these kinds of issues, and would like to fix them -- they&#x27;re just not given the time. Leadership prioritizes other things.
aristofunover 1 year ago
1. System (big company) doesn&#x27;t encourage this<p>2. Being best at leetcode kind of algorithms doesn&#x27;t make you the best developer, far from it<p>3. Investing in UX has far less and longer ROI than in marketing, there is little motivation to invest in it from the system perspective. People get used to any sh*tty ux as long as the product delivers the ultimate goal.
jokethrowawayover 1 year ago
Engineers that get hired in FANGs are good at leetcoding, not building products.<p>There is a total disconnect between algo skills and actual work.<p>The problems you mention are not caused by this though, it&#x27;s mostly layers and layers of middle managers and product people deciding what&#x27;s priority in ways that ignore the users.
ndjshe3838over 1 year ago
What do you think the incentive is for those developers to fix these issues?<p>Do you think fixing bugs gets you promoted?<p>If you’re ever wondering “why does company do X”, look at the incentives<p>Outcomes follow incentives and products are reflections of the organizations that created them
silisiliover 1 year ago
IMO it&#x27;s because book smarts and art&#x2F;design smarts are two different things that may overlap but don&#x27;t have to.<p>When you make sure every hire can reverse a binary tree or some nonsense you end up without many people with aesthetic design chops.
pedalpeteover 1 year ago
Why aren&#x27;t most great authors also great painters? Or even closer, why can&#x27;t some great writers aren&#x27;t great speakers?<p>Being a great dev is about understanding the underlying system, flow of data, failure modes, etc. etc.<p>Having a great UI is about understanding human interactions. It&#x27;s not about the coding. The coding of the interfaces is fine (probably great), it&#x27;s the design of the interface itself which you are frustrated with.<p>There are great writers who understand how to weave a story. I think of Christopher McDougall, author of Born to Run and a great writer with Outside Magazine hen I think about it. I always enjoyed his writing, but he isn&#x27;t a great presenter (from what I&#x27;ve seen). <a href="https:&#x2F;&#x2F;www.ted.com&#x2F;talks&#x2F;christopher_mcdougall_are_we_born_to_run?language=en" rel="nofollow">https:&#x2F;&#x2F;www.ted.com&#x2F;talks&#x2F;christopher_mcdougall_are_we_born_...</a>
beachtaxidriverover 1 year ago
&quot;we need to add this one more feature in 2 weeks so I can get promoted&quot; -everyone at the company<p>Loop this for 8 years on a single product.
closeparenover 1 year ago
In general there are three incentives at Big Tech:<p>* Develop a platform, framework, standard, or policy that influences (hopefully positively) how other developers work.<p>* Ship an end-user feature behind an A&#x2F;B test that proves it has meaningful impact on KPIs.<p>* Make some organizational annoyance that is popping up on your management chain&#x27;s radar go away (migration ticket, SLA breach, etc).<p>Making a UI good for the sake of being good is not one of them. No one cares that you delighted the customer. That only ever happens to the extent that people give a shit beyond their incentives, or the organization is small enough to have outdated and irrational management practices.
esafakover 1 year ago
Developers are not responsible for UX&#x2F;UI. Product designers and managers are. As someone who has been using software since the 80s, I would say awareness of UX&#x2F;UI in industry has steadily risen. However, there are some dynamics that are detrimental to software quality, such as the principal-agent problem in business software (where the buyer is not the user) and the promotion-driven design problem in large companies (where the UX may take a back seat to other criteria for promotion).
matthewsinclairover 1 year ago
Because designing software and designing user experiences are two very different skill sets and being good at one has nothing to do with being good at the other.
fabianholzerover 1 year ago
Badly aligned incentives (from the end user perspective at least).<p>More cynically: No matter how well you your ticket monkeys are payed or how good they are at solving leet code questions, all this is not necessarily correlated with the quality of your tickets.
评论 #39401401 未加载
not_the_fdaover 1 year ago
UX&#x2F;UI design is an entirely different job than coding. In mature development places there are UX designers that design the UI layout and user interaction and developers that implement the UI and the backend.
gsuuonover 1 year ago
It&#x27;s because of there being too many cooks in the kitchen for front-end. It&#x27;s something people can see, and it&#x27;s easy for <i>anyone</i> to have an opinion.
kingkongjaffaover 1 year ago
1. Devs are not working in isolation. Ideally a designer is also involved at some point to decide on user interactions.<p>2. This is kind of obvious but devs have next to 0 training in design.<p>3. Devs shouldn&#x27;t be the ones creating UI&#x2F;UX.<p>4. None of your examples were built solely by devs.<p>I don&#x27;t understand the thread. The title seems to be unrelated to the description, and the final paragraphs about 3rd party clients is again another topic.
评论 #39404503 未加载
stevageover 1 year ago
What you are observing has nothing to do with developer skill and is is just about different problem domains and different company sizes and market sizes. Much harder making apps that work for a hundred million people and meet marketing needs than a few thousand people who are just like you.
tmpz22over 1 year ago
Good UI&#x2F;UX involves saying No. Making money involves saying Yes. Its hard to reconcile the two in corporate environments.<p>FWIW I think they try really hard and invest a lot of resources in trying to achieve it - but the Yes people only have to win once to corrupt.
评论 #39403430 未加载
mkoryakover 1 year ago
This is like asking why UX sucks at code. It&#x27;s a different job.
lulznewsover 1 year ago
Bigcos don’t care. Bigcos are about getting that paycheck and keep moving.
1atticeover 1 year ago
Most engineers have more mechanical (or logical) sympathy than user empathy.<p>This is not a bad thing, generally -- attention is a zero-sum system, and a profound awareness of human discomfort is not as important to creating systems that are <i>good for the systems</i>. The primary stakeholder in any engineering product is the medium in which you&#x27;re working, and for software engineers, it means knowing how to work &#x27;with the grain&#x27; of ten thousand different mechanisms.<p>Yet humans seemingly arrive at the threshold of this world as inscrutable, outside forces, with capricious, unreasonable demands. Why would a user prefer a PWA, made with React and ten thousand pounds of JS goop, to something nice and clean (maybe executed in django and htmx?) Why would a user prefer some annoying elaborate third-party product integration, when they could instead just simply download a .csv?<p>The engineers who specialize in bridging both worlds (frontenders) are themselves often less respected and esteemed by other engineers. People talk about FEEs as &quot;just&quot; frontend engineers -- as though knowing <i>two</i> complex kinds of system (the mechanism, and the user) were somehow less impressive than knowing one. (This is not an uncommon cognitive distortion; for example, ask a fluently bilingual person about this.)<p>Part of the problem, I think, is that &#x27;real&#x27; engineers think of product design as a form of visual design, which they then think about as a kind of subfield of aesthetics, like feng shui or cosmetics.<p>This is probably because not enough engineers are exposed to _usability theory_, which is a rigorously and empirically tested body of knowledge that identifies and expresses the grammar of human-machine interaction. If I could have one wish granted, it would be to get every engineer to read at least one article out of NN&#x2F;g (<a href="https:&#x2F;&#x2F;www.nngroup.com&#x2F;" rel="nofollow">https:&#x2F;&#x2F;www.nngroup.com&#x2F;</a>) per month, and ideally, one per week. I wish everyone knew basic stuff like Miller&#x27;s magic number (<a href="https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;The_Magical_Number_Seven,_Plus_or_Minus_Two" rel="nofollow">https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;The_Magical_Number_Seven,_Plus...</a>) and the profound impact it has on system design and user preference.<p>UX architects and frontend engineers, frankly, need more respect, and need to be listened to more frequently, by backend engineers and management alike.<p>They also need to be hired in larger numbers and less frequently laid off (the recent industry-wide layoff convulsion has been particularly hard on designers.) And engineers of all kinds should have more opportunities to upskill and train in usability.<p>For consumers, there&#x27;s the old adage, &quot;you get what you pay for.&quot; For product owners and engineers, I&#x27;d suggest a corollary: &quot;you create what you value -- and you fail to create what you don&#x27;t.&quot;
评论 #39403081 未加载
ilrwbwrkhvover 1 year ago
Because big tech attracts people who want to dial it in. Hence quality is shit. Some brilliance in pockets, but overall it&#x27;s shit. Startups are where it is at.
tester756over 1 year ago
&gt;Github<p>wtf? I wish other things had as good UI&#x2F;UX as GH has.<p>Git&#x27;s CLI on the other hand, ugh.
评论 #39404765 未加载
nostrademonsover 1 year ago
Hahahahaha. Engineering manager at a FAANG here, churning out collective crap that is far worse than what myself or any individual member of my team would come up with. Here&#x27;s the dynamic:<p>Executive sets strategic priorities. Executive may be a user of the product, but their experience (and the things they care about) are usually very different from the average user, <i>simply by virtue of being a millionaire</i>. They&#x27;re probably way more time-constrained and way less money-constrained than the average user. They care much less what other people think of them. They probably have multiple devices. They&#x27;re using it in their home or on-the-go, and don&#x27;t need to worry about things like sharing space with other people. Smart executives realize this and try not to micro-manage product (although they will often give nudges), but this just means that their directives are in super general form like &quot;We need to prioritize these 3 themes&quot; or &quot;We should be competing with these 3 companies.&quot;<p>Directors interpret the executives&#x27; strategy. They interpret it through the lens of how it will get them more headcount, more budget and greater responsibility. This is how they get to be executives, after all. So inevitably, problems are overcomplicated to make them seem difficult. Small but high-impact features are deprioritized until the experience is broken enough that fixing it becomes a high-priority task worthy of headcount. If your org manages to keep a project humming along perfectly so that users love it and nobody ever complains, it must not be that hard, so why should they give you headcount? For that matter, why do they even bother employing you when nothing&#x27;s broken? They should just lay you and your whole department off and return the money to shareholders.<p>So say you have a problem area that has become broken enough that it&#x27;s worth staffing up a team to fix it. First step is usually a UX Designer ideating on the problem area to come up with mocks. The UXD&#x27;s initial design is usually pretty good. There are often some issues because the UXD is not a user and so may miss some of the finer subtleties of using the product, but the UXD usually at least <i>tries</i> to empathize with users and anticipate problems. And since it comes from a single person&#x27;s mind, the design is at least cohesive.<p>The bigger problem is the UXD can&#x27;t code. This results in 3 issues. #1 - the UXD often has no idea what is technologically feasible, and what will take a research team 5 years. #2 - the UXD needs an engineering team to actually build the product, which requires staffing, which needs to go back up to management. #3 - the UXD&#x27;s work product is mocks, and this is how they communicate with the rest of the org. These are rarely interactive, and so they often have glitches when it comes to specifying exactly what results from every combination of actions a user can take. They are usually of fixed size and language, which means that they don&#x27;t specify what happens on larger or smaller screen sizes, or when your text is gigantic (like German) or tiny (like Chinese), or when you&#x27;re writing right-to-left (like Arabic). They almost never use real data, which means that constraints arising from missing or incomplete data don&#x27;t show up in the mocks.<p>Because of #2, the UXD needs org buy-in for their designs to actually become reality. This usually comes in the form of a product manager championing their feature and making a business case for it. The PMs work closely with executive leadership to accomplish business goals. But that means that business goals need to override certain aspects of the design. Maybe the UXD made the design nice and clean with plenty of whitespace and bold content-forward images. But you still need to sell ads, and data shows that density is one of the highest predictors of click-through rate, and bold organic content that draws attention away from the ads will negatively impact revenue. Maybe there are legal restrictions on what you need to put on the page, which when adhered to break the UXD&#x27;s clean layout. Maybe you need to pop up a cookie warning to keep the EU&#x2F;California happy, or have a consent screen for some feature that few users really care about.<p>So then the business-bastardized mocks make it to the engineering team. Now they discover the design is impossible to implement. Probably the UXD underspecified what would happen with some edge case in the data, and then handling the edge case breaks all their assumptions in the design. Probably the engineer <i>is</i> really good - world-class, even - and so they can heroically put in a fix to make the UXD&#x27;s design work by special-casing all the cases they forgot, in the process leaving technical landmines for the next team to stumble on. Except then they get blocked by the not-cleaned-up landmines from the <i>last</i> project that did this. They write the feature, and run an A&#x2F;B test on it (all the big companies do this, so they can understand the impact and any potential regressions) - and find the metrics are all worse. By now the feature is late, so they&#x27;re looking for quick fixes that will reverse the metrics regressions and let the feature launch. Any sort of initial consistency to the design goes out the window now, and you&#x27;re looking for anything that you can implement that will get metrics up and fix the showstoppers, because otherwise you don&#x27;t get anything launched. So little bugs are overlooked, the designer&#x27;s careful interactions (to the extent the designer was careful about them) get overlooked, key principles of the original design are reverted - all just to get to the point where the feature is launchable and doesn&#x27;t regress any metrics.<p>Eventually something that resembles maybe 30-50% of the original designer&#x27;s intent launches, and everything else in the design is relegated to fast follows. If you&#x27;re very lucky, you will actually do the fast follows, and the product may end up halfway decent. But remember the director&#x27;s incentive: only solve big problems that will get you more headcount, more responsibility, and a promotion to VP. So inevitably the team gets moved off this area and goes on to mess up the next major issue area.<p>So to answer your question: yes, tech <i>companies</i> would probably benefit from supporting third-party clients. That&#x27;s why many of them do during their growth phases, when they&#x27;re trying to capture market share rather than dollars. But the individual <i>executives</i> that <i>run</i> tech companies do not benefit from supporting third party clients. They cannot be controlled, and are a threat to the executive&#x27;s responsibility and headcount. Potentially they&#x27;re a threat to company itself, if a client uses its brand and mindshare to build a competing platform. At the point where companies usually shut down their app ecosystems, they&#x27;re not trying to win over users; they&#x27;re trying to extract money from them.<p>If there&#x27;s another meta-point to extract from this, it&#x27;s the importance of communication and incentives. The small developer wins because he can make all the tradeoffs between UX, engineering difficulty, adoption, and revenue in his head. Big companies lose because only certain aspects of these, generally the ones centered around mocks and metrics, can be communicated precisely. Everything else drops off in importance because it can&#x27;t survive the hops between different job functions.
评论 #39404705 未加载
solardevover 1 year ago
UX isn&#x27;t often a high priority, either among management or among devs (who often prefer backend or algorithmic stuff to UI tweaking).<p>But more often than not, you also have purposeful dark patterns and enshittification, usually for user data collection, advertisement, increasing addiction &amp; interaction, funneling recommendations, making unsubs harder, etc. That&#x27;s almost certainly the reason the consumer apps you mentioned (AppleTV, Reddit, and YouTube) have such shitty experiences. You&#x27;re not really their customer, you&#x27;re just a product who happens to pay them money too, and it&#x27;s more profitable for them to control your journey and push you towards the most profitable avenues for them (via recommendations) than to really maximize your enjoyment of the platform.<p>AppleTV is especially bad in this regard, being a content aggregator among different channels &amp; content networks, so they&#x27;re incenventived to pay-for-play their recommendations and pit publishers against each other for your eyeballs, while simultaneously charging you to view those shitty recommendations. They get to profit from both sides!<p>For Github, are you sure it&#x27;s even a frontend thing? Seems like a lot of the complexity in their app is backend, especially when you ask it to a dynamic diff between two random commits or whatever. I see similar latencies just using Git commits against a repo in the cloud. Meanwhile, something like using VScode running in Github is reasonably performant.<p>-------------<p>Side note: In my personal experience, a lot of smaller &quot;boutique&quot; apps from smaller companies and lone wolves have a much higher focus on UX, often because their business models revolves around it, attracting users through a superior experience instead of forcing the product on users by selling to management.<p>There is still a small but vibrant market for macOS desktop apps, for example, many of which have decent enough UX, like the bundled ones in Setapp (<a href="https:&#x2F;&#x2F;setapp.com&#x2F;apps" rel="nofollow">https:&#x2F;&#x2F;setapp.com&#x2F;apps</a>).<p>That&#x27;s what you get when you the user are the primary customer, which is almost never the case in most consumer-facing big FAANG services. IMO it&#x27;s why Dropbox used to be so much nicer than Skydrive (or whatever it&#x27;s called now, the bundled Microsoft service); they started as a user-facing service before pivoting to enterprise (original YC app: <a href="https:&#x2F;&#x2F;www.ycombinator.com&#x2F;apply&#x2F;dropbox">https:&#x2F;&#x2F;www.ycombinator.com&#x2F;apply&#x2F;dropbox</a>).<p>I find Discourse (the forum software) to be much nicer to use than Reddit or Google Groups, too, because they sell ONLY a UI and not advertising.<p>For Git stuff, there are many nice paid Git clients out there. For Github in particular, there&#x27;s also some third-party integrations (like in Jetbrains IDEs) that can help make reviews&#x2F;comments more seamless, though I still sometimes prefer Github&#x27;s official UI.<p>At a certain scale, winning over users&#x27; hearts is no longer the prime driver of profit, and that&#x27;s when companies start enshittifiying, especially if they&#x27;re VC or publically owned and need to scale :( Small bootstrap businesses usually stay nicer for longer.
评论 #39403789 未加载
PaulHouleover 1 year ago
See <a href="https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;Enshittification" rel="nofollow">https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;Enshittification</a>
评论 #39399081 未加载