See the forest for the other forest

Flash Boys also shows the perspective of programmers in finance. I’ve been a programmer at a fashion company where technology is a means to an end. The relationship in finance seems more nuanced. The programmers care about the trees, of course. Details are important. They also care about the forest, but they don’t get a view into that other forest. That one over there. Yeah the one with trees that have dollar bills for leaves.

Talking to a programmer type about the trading business was a bit like talking to the house plumber at work in the basement about the card game the Mafia don was running upstairs. “He knew so little about the business context,” one of the jurors said, after attending both dinners. “You’d have to try to know as little as he did.” Another said, “He knew as much as they wanted him to know about how they made money, which was virtually nothing.

What do programmers do, anyway?

[…] the entire platform had as many as 60 million lines of code in it and fifteen years of fixes to it had created the computer equivalent of a giant rubber-band ball. When one of the rubber bands popped, Serge was expected to find it and fix it.

Spot on. There’s the phrase “spaghetti code” for things that are getting out of hand. Rubber-band ball goes a step further. The older the root of the problem, the deeper you need to go to fix it. And you need to keep the other layers in order.

Something that might be hard to explain is lines of code. I don’t have a good idea of how many lines of code is equal to what. Staying abstract I don’t know how many lines would be in 1 KB, not to mention a MB. How many lines of code is jQuery?1

The size of code comes up in the chapters following Sergey Aleynikov (Serge). He sent Goldman Sachs code to himself before leaving his job. Most was mostly open source, but with modifications to work with their system. Why would he take it?

“In Serge’s case, think of being at a company for three years, and you carry a spiral notebook and write everything down. Everything about your meetings, your ideas, products, sales, client meetings—it’s all written down in that notebook. You leave for your new job and take the notebook with you […]”

You’re not going to read through a notebook word for word, but it’s good to have for reference. How much code was it all anyway?

Most were surprised by how little Serge had taken in relation to the whole: eight megabytes, in a platform that consisted of nearly fifteen hundred megabytes of code.

Not much at all. Or is it? Without looking it up I don’t have a good sense of what 8 MB is. I can try to break it down:

  • 8MB of 1500 MB is 0.5% of the code base
  • 0.5% of 60 million lines (estimate above of entire platform
  • 300,000 lines of code

Which sounds like a lot, but I imagine it’s mostly libraries. But I also just have no idea. And I’ve been paid to program. Guess who was supposed to build up some sense of what this was then decide Sergey’s fate?

The jury in Sergey Aleynikov’s trial consisted mainly of high school graduates; all of the jurors lacked experience programming computers. “They would bring my computer into the courtroom,” recalled Serge incredulously. “They would pull out the hard drive and show it to the jury. As evidence!”

I’ve done jury duty and it reminded me that everyone goes. Your coworkers. Your barista. Their mom. Their doctor. I can convince my parents that technology can do anything or nothing. They’d almost certainly be swayed by someone waving around a hard drive.

  1. “One line if it’s minified!” Go back to your brainteaser book. ↩︎