> A lot of OS X users seem to have this idea that Apple hired only the best of the best when it came to programmers while Microsoft hired the cheapest and barely adequately skilled...
Is this really a commonly held belief? I've never encountered anyone expressing this opinion.
It’s possible some people might believe that, perhaps not HN readers But the quality of the management plays a very important role in the quality of the end result: Apples has Jobs and Microsoft has Ballmer. So Microsoft is at a disadvantage human-resource-wise.
As an engineer (though admittedly one at Microsoft), Steve Jobs seems like he'd be a /horrible/ boss. All appearances suggest that he doesn't care about good engineering, but rather that he cares about good user experience, damn the torpedoes.
As a former Apple engineer, I can confidently say that, while Jobs is the putative boss of everyone in the company, 99.9% of Apple engineers will never cross paths with him.
I know a fair few people at Microsoft, and elsewhere, and I've never seen evidence that the engineering talent distribution at Apple is really all that different from the talent distribution anywhere else. There are superstars and dolts in the expected proportions.
yeah, this lines up with my external perception as well, and the same is generally true of steveb at Microsoft; the only time I or most of my teammates ever see him is at the Company Meeting every year, and occasionally at engineering town halls.
that said, Steve Jobs seems (at least from external appearances) to have far more thorough top-down control over the company's engineering efforts than Steve Ballmer does; the highest I ever see engineering efforts come down from is our division director.
Looking in from the outside, I would hazard a guess that Microsoft is more Balkanized than Apple; there are many more products and the successful ones have been around for quite a while, allowing groups to pick up political capital that just isn't available, or rather, is expended differently at Apple.
I've heard a lot of stories of politicking at Microsoft (e.g. the Office project manager didn't want to implement handwriting recognition to add support for tablets, which hurt MS's early tablet OSes).
I compare that to Apple, which seems to have a top-down vision, from which all project behaviours and priorities descend. Lion's adding support for auto-save? You'd better believe that implementing auto-save support into iWork is a top priority, regardless of what the iWork PM thinks about it. That said, Apple seems to rarely hire people who don't share the same vision, and with that comes a certain uniformity of direction that tends to reduce inter-project scuffles.
Also, I get the sense that if (for example) the project manager for iWork was causing unnecessary friction with other teams instead of working with them towards a common goal, he'd be replaced with someone else who's more of a team player.
Ballmer certainly looks like a great boss, having great care for good engineering practices such as yelling, throwing chairs at people and being generally obnoxious.
Also, user experience is a part of good engineering.
Steve Jobs certainly looks like a great boss, calling the entire MobileMe team into an all-hands and asking them point blank why the fuck their software doesn't work.
user experience is indeed a part of good engineering, but it's not the be-all and end-all, and eventually you will /always/ run into a place where you must compromise between a system which is well-engineered and one that behaves in accordance with user expectation.
this is why OS X doesn't have full ASLR and DEP, because it can cause applications to start crashing at random because they were poorly written in a way that used to be invisible.
this is why UAC on Windows Vista is a terrible experience, because even trusted applications need to prompt the user to make sure they approve of them executing on an administrator token.
this is why our operating systems still have to reboot while applying security updates, because long-running services and the kernel have to be replaced and there's no good way to do it seamlessly yet.
About the rest, I wasn't praising Jobs as a great boss, just noting your equivalent isn't something to be proud of.
And I disagree that you will always need to compromise between good engineering and good UX, for example you can certainly have ASLR and DEP with the same UX OS X currently has, they don't add any burden on the user.
Of course sometimes you need to compromise, but it's not everytime.
Having something take over your PC is terrible user experience. Tradeoffs may be necessary, including some that degrade user experience if they can otherwise improve user experience.
UAC is, in principle, not at odds with equating good user experience with good engineering. It’s all about tradeoffs.
This is done to prevent malware faking the prompt and/or user consent. And it's not just "blacking out the display" - the whole thing is executed on another desktop (in OS terms, not in user terms):
http://blogs.msdn.com/b/uac/archive/2006/05/03/589561.aspx
>"and there's no good way to do it seamlessly yet."
Right. There are ways to do it, but not any /good/ ones. Good here meaning "while still letting the software execute efficiently and without a ton of added complexity"
I wouldn't disagree that good engineering includes good user experience. But I would have thought that good engineering would include a bit more than that.
Good UX engineering is good UX engineering. Software engineering / architecture / development in general is not necessarily the same.
An app can be beautifully engineered by have an awful UX. The inverse is less likely to be true (because bugs and obvious flaws like long delays and unresponsive UIs can quickly degrade UX), but still possible.
The problem I was alluding to in my original post is that the user is divorced from the engineering decisions -- as if there can be a better way of building something that doesn't take into account the very reason that it exists at all.
I sincerely hope that Microsoft can turn the ship. They've got lots of really smart people and a lot of cool ideas.
Is this really a commonly held belief? I've never encountered anyone expressing this opinion.