3 ms·
At this point I normally assume that if Google does something a certain way, or uses a particular proprietary technology, then it likely should NOT be used. I
by diebir 9y ago
At this point I normally assume that if Google does something a certain way, or uses a particular proprietary technology, then it likely should NOT be used.
I work for a place that tried to model itself culturally after Google and Facebook and has had a lot of engineers moving back and forth. If Google is anything like us, then it creates wrong incentives to invent in-house stuff. See, in their expense scheme the salaries of engineers are not a huge deal. It's cheap to have people do things. There is also an incentive for an engineer to try and "leave a mark". There are also a bias to hiring new and unexperienced people, who fail to learn the existing tech and replace it with something different, simpler and less functional (by the time it matures, it becomes just as complex, however).
I live in Java world, so I am seeing Google reinvent (poorly) every bit of Java tech: DI (Dagger), build tools (Gradle), commons libraries (Guava) and the list goes on and on. Well, apparently, they also reinvented internally Git, Jenkins and the rest of the tools. The rest of us should probably NOT do it this way.
- cromwellian 9y agoGradle was not a Google invention. Dagger was invented by Square. Google invented Guice (Bob Lee now at Square) which was way better than Spring and J2EE. Guava is far better designed than Apache Commons. Dagger2 was invented by Google for good reason because it works purely as an annotation processor without runtime bytecode classloader magic. That means it is easier to debug, faster to startup on mobile, and can be crosscompiled with j2objc and GWT/j2cl. Much of the time in-house stuff is created to deal with scalability or maintain ability problems.