4 ms·
Uber is complex, that’s for sure. It’s not a job for 10 people team. But they also suffer from not invented here syndrome and blow up amount of work needed. Th
by justapassenger 6y ago
Uber is complex, that’s for sure. It’s not a job for 10 people team. But they also suffer from not invented here syndrome and blow up amount of work needed.
That’s not unique to them. Lots of Silicon Valley companies have engineering teams seeded with folks who worked whole life at Google, Facebook, etc. They default to writing custom solutions for everything, because that’s what they were taught.
- danans 6y ago> They default to writing custom solutions for everything, because that’s what they were taught. I can only speak regarding my experience at Google, but the company has been moving aggressively toward industry standards for software development, primarily at the language level. I constantly run see internal libraries in C++ being updated to use standard C++ smart pointer types, and Java being updated to use types like java.lang.Instant instead of some internal implementation created years ago. What does tend to be custom are the systems that get built, not only because of the huge scale of operation, but also because of Google-specific security and compliance requirements. Also, the development tools and continuous integration systems are also necessarily specific to Google (and are pretty amazing). But even then, there is extensive use of certain externally originating systems - memcached is one that comes to mind.
- ra7 6y ago> I can only speak regarding my experience at Google, but the company has been moving aggressively toward industry standards for software development, primarily at the language level. Why now? What were technical reasons this wasn’t done before at Google?
- skybrian 6y agoIn some cases, the outside world hadn’t settled on a standard when the code was first written, or it wasn’t that good yet.
- danans 6y agoExactly. For example, like many companies, Google had smart pointer implementations in its C++ codebase almost from its inception, but they didn't appear in the C++ standard until C++11.