|
|
|
|
|
by Periodic
3545 days ago
|
|
When I worked at Google Search Infrastructure (not any ML stuff) I actually built a performant, persistent red-black tree implementation in C++ for creating persistent sorted lists with good insert and delete characteristics. It's was a pretty niche need, but we had it and the existing libraries we could find didn't cover it. We needed it for doing some speculative programing where we were doing some constraint solving and were using a greedy-ish algorithm to explore the constraint space. Arbitrarily solving the constraints was theoretically and practically impossible in a performant way, so we settled for a greedy exploration of the search space but we needed a way to back out of failing lines of exploration. So, yeah, we needed engineers who were strongly familiar with the theory of how hard things are to solve and knew a lot about different types of data structures. We were in a space the existing libraries didn't really cover. Maybe not all engineers need these skills, but it was valuable that our team all had them and were thus able to have deep design discussions about it. The skill that's lacking the most at Google is project management, which is not necessarily a skill that every engineer needs. |
|