You may be confused about what the term "core functionality" means. I've worked on a couple of pretty major sites, and universally they carefully measure user behavior and any blockers to revenue. And then make cost/benefit tradeoffs about how to improve those measurements.
My suspicion is that the features you wish were implemented are BOTH harder than they appear AND imperfect implementations are worse (in terms of measured usage) than the current lack. For mapping, I don't know anyone at Uber, but I do know a few geolocation and maps engineers at other companies, and I have some sense of the crazy diversity of confusion that users show when a UI is optimized for even a slightly different use case than they have in mind. I'd bet that many/most destinations are copy/paste or direct link from another app, rather than entered by hand.
That said, even with thousands of engineers (perhaps especially!), there are always blind spots which "everyone knows" we should fix, but it's just a bit too small for management to notice and slightly too big for anyone to do it unilaterally. These always suck, and the best engineers and managers can recognize it and use their personal influence to get a few of them done.
I think entering payment information is functionality of any online shop and thus have a hard time as not seeing it as part of the core functionality.
On the other hand it getting European IBAN's easily entered might not be core issue for an Engineer at Amazon.com and there's no team at Amazon.de which has a lot less developers who's responsible for it.
I'd bet that many/most destinations are copy/paste or direct link from another app, rather than entered by hand.
Even if that's true some people might copy-paste streetname + street number a...
I think entering payment information is functionality of any online shop and thus have a hard time as not seeing it as part of the core functionality.
On the other hand it getting European IBAN's easily entered might not be core issue for an Engineer at Amazon.com and there's no team at Amazon.de which has a lot less developers who's responsible for it.
I'd bet that many/most destinations are copy/paste or direct link from another app, rather than entered by hand.
Even if that's true some people might copy-paste streetname + street number a...
How does it come that those companies employ 1000s of software developers yet manage to do badly on the task of providing basic functions to users? What are all those engineers doing?
The basic functions from your perspective are different from the basic functions from the perspective of the company, basically, whose perspective is necessarily limited.
I've been considering a set of thoughts related to this for a while, which summarize, only slightly misleadingly, as "Caring is expensive." By caring, I mean in a very general way, rather than in a specific way; the desire to make or do something that is better than what is required. It's a very fuzzy concept, as I'm still working on trying to identify more precisely what it is I mean, so be warned that the ideas here are relatively unrefined.
Suppose you own a company, and you need to hire somebody to deal with office supplies; it's expensive to hire somebody who actually cares whether the company pays $1.00 or $10.00 per stapler without that being a specific thing you expect of them; odds are, the person making that decision cares more about the ergonomics of the stapler, or the color. What's very expensive is somebody who cares about all of that; it's cheaper to hire somebody who will pay $1.00 for staplers, regardless of anything else, than to hire somebody who will actually make the decision you would make yourself, which takes into account both the price and the ergonomics (and maybe even the style) to make a decision that reflects a broad range of concerns.
The problem scales with the size of your company, as well; if you aren't making the hiring decisions, you need to hire somebody who cares about whether the people they hire themselves care.
(Not to mention that the incentive structures, as the size scales up, start to work against caring.)
The approach a lot of companies take, instead, is to try to de-emphasize "caring" as much as possible, and emphasize metrics and goals, which are attached to incentives; that is, you maybe get paid more if you do certain things, and since you care about getting paid more, you by association care about the things you're assigned to do. And these are invariably incomplete. Dagon mentions use cases; if somebody doesn't define the use-case that includes what you are trying to do, the effect is that nobody is assigned to actually ensure that that use-case is handled. Nobody is assigned to "care" about that, so nobody does.
Couldn't you make them care by making their pay dependent on how well they predict what you would decide, as measured by you redoing the decision for a representative sample of tasks?
A big piece is that companies are extremely siloed by default. It's pretty easy for a team to improve things in their silo, it's significantly harder to improve something that requires two teams, it's nearly impossible to reach beyond that.
Uber is particularly siloed, they have a huge number of microservices with small teams, at least according to their engineering talks on youtube. Address validation is probably a separate service from anything related to maps, which in turn is separate from contacts.
Because of silos, companies have to make an extraordinary effort to actually end up with good UX. Apple was an example of these, where it was literally driven by the founder & CEO of the company. Tumblr was known for this as well. But from what I heard, Travis was more of a logistics person than a UX person, etc.
(I don't think silos explain the bank validation issue)
(I don't think silos explain the bank validation issue)
It might very well be that there's no team responsible for IBAN validation at Amazon as the team that's responsible for payment information might be an Amazon.com team that doesn't care about IBAN's which are only important for Amazon in Europe.
Intuitively, you might think that Amazon cares about people being able to enter their banking details as easily as possible. In reality at least Amazon.de doesn't seem to care. Instead of instantly validating with Javascript that a entered IBAN is valid the form waits with giving feedback till the user clicks okay.
I just used Uber the first time and the task of entering street addresses is awful.
How does it come that those companies employ 1000s of software developers yet manage to do badly on the task of providing basic functions to users? What are all those engineers doing?