3 ms·
This sounds like a good thing for Coinbase IMO. An instinct to reach for low-level data structures and static typing to solve ambiguous or fast-changing busines
by mlthoughts2018 6y ago
This sounds like a good thing for Coinbase IMO. An instinct to reach for low-level data structures and static typing to solve ambiguous or fast-changing business problems is usually a red flag for premature abstraction and sometimes also correlates with attitudes of superiority or looking down on other possible technology choices.
I don’t know if they treated you fairly or not, but the policy at least of appraising an instinctual reach for low level C++ as a negative sounds correct to me and should be a much more widely used heuristic in software hiring.
- lostmsu 6y agoI was up with you in the first 1.5 sentences. Genuinely, I expected the comment to be about the need for very strict security in a financial codebase, and C++ is a known tool, that enables shooting yourself in a foot. But then you started talking about static typing as negative, and suggesting to move fast and break things for a company, that probably hadles trillions in assets.
- mlthoughts2018 6y agoI opposed static typing because I favor safety, not oppose it. Type system designs prevent solving those problems. Most of my career has been focused on helping large companies use Python to achieve as-fast-as-C performance with extremely little code and extremely safety-focused non-OOP software architectures, including in high frequency trading (where I built a company’s entire core trading platform in Cython). The idea that static typing leads to safety is false. Static typing adds more code, more code is more liability. The cost of that liability is not recouped with any offsetting benefits.
- xiphias2 6y agoI was specificially asking to work on the exchange trading backend, as that's what I was interested in. It was at a time when Coinbase was using javascript for the trading engine if I recall correctly (I think they moved to C++ since then, but not sure). When I applied to a quantitative hedge fund, I was being asked questions about synchronizing data structures between threads without using mutexes (again not something you often do in a high level language). I was accepted there, although I couldn't go to work there because of health reasons. At the end I went back to Google where I had to launch a new machine learning model without introducing even 0.1ms latency in the ads backend. Good luck doing that in a high level language.