Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

I'm going to take this discussion away from cars (which I know next to nothing about) and opine on technology designs.

There are technologies that people decide to use. Then there are technologies that people decide to make other people use. Design quality is much higher in the first category (badly-conceived ones die out) than in the second.

Most of what you encounter in a corporate software setup is in the second category. It's built to sell well to IT managers, not be productive and fun to use, because the people who will actually work with the product don't get a vote. It's not so simple as to apply this to languages (Java is the right tool for some purposes) but you get a feel for it after programming in a variety of environments. There are some tools that leave you thinking, "Wow, the people who set this place up really know what they were doing" and others that have the opposite effect.

I'd start a flamewar if I singled out specific technologies-- and, in the real world, it's not that simple-- but there's definitely an experience of "corporate programming" that is really distasteful and mediocre. Then there's the way people do things when they want to excel. They're different.



> There are technologies that people decide to use. Then there are technologies that people decide to make other people use. Design quality is much higher in the first category (badly-conceived ones die out) than in the second.

That's it: it's all in the selection process. If you select for the wrong reasons (such as "please the manager"), you'll get sub-par results.

Now, if we could tell for a fact that many technologies are selected for the wrong reasons, it would probably explain a good deal of the huge gap there is between "real world" IT and the state of the art. Think of it for a minute: in the 70s, we had Smaltalk, Scheme, and ML¹. Twenty freaking years later, the best mainstream IT can come up with is Java. Which only makes sense when you remember that Java has the highly familiar C syntax.

Apparently, backward compatibility warts aren't just for processor architectures.

[1]: https://en.wikipedia.org/wiki/History_of_programming_languag...


>>It's built to sell well to IT managers, not be productive and fun to use, because the people who will actually work with the product don't get a vote.

I work as a Sales Engineer in an enterprise software company, and my experiences have been the exact opposite. We win many deals because our competitors' products are nowhere as user-friendly as ours. When I give demos or do consultation calls, more often than not the audience contains at least one person who will use the software in their day-to-day job. And if that person is a department head, then they will have the ability to veto the sale regardless of how much the IT Manager or even the CIO/CTO loves it.

I've also seen situations where the customer bought a competitor's software, only to replace it with ours a short while later because user adoption with the other software turned out to be so atrocious. Those customers end up learning valuable lessons on why end-users should get votes in software purchasing decisions.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: