How and Why Wall Street Programmers Earn Top Salaries
msmoriarty writes "Given the level of interest in the recent highest-paid programmers discussion, our reporter decided to do a follow-up looking into the languages and skills needed to work on high-frequency trading systems. There's actually a pretty wide range of languages/tools used, but Linux is the 'default' OS and, not surprisingly, the 'ability to work under pressure when the traders are screaming at you' is a must-have skill."
"In high-frequency trading (HFT), programmers eke out every last incremental tick in performance to build algorithms that battle other algorithms for computational supremacy and millions in profits -- and earn a lot in the process."
Skimming money off billions of micro-transactions. Ahh, yes... forget investing in ideas and backing well managed companies... this is the way capitalism was envisioned.
"the 'ability to work under pressure when the traders are screaming at you' is a must-have skill.""
Yeah, most of the 'traders' I've met were complete assholes, probably because they realised their high salaries were more down to luck than skill.
Fortunately when I screw up air traffic controllers just have to start rerouting airliners with hundreds of people on board so they don't crash into each other, so I clearly couldn't justify being paid a Wall Street salary. I can't imagine the stress level of having a 'trader' screaming at me.
I used to co-locate in the same building as the local stock exchange. One day, very late, I took the elevator down to the car park, which was where the computers were. There was a guy in the elevator who looked absolutely wrecked. He was sweaty, shaky and not taking things in. He got off at my level and stumbled off towards a porsche which appeared to be similarly young and in equally bad condition.
The thing is, I work in air traffic control, where the stakes are even higher. The difference is that the operational people have an absolutely obsessive approach to managing their workforce. Traffic controllers are just not allowed to get upset or stressed. In many environments they have unlimited sick leave.
The difference, I suppose, is that traders personally stand to take home a lot of money. You could do this in any field: offer ridiculous compensation for ridiculous effort. But if you work it out, I doubt the long term returns justify what this does to people.
http://michaelsmith.id.au
I'll be posting anonymously, but I think many here have a very poor understanding of what we do. Most of that is because we do tend to be a very secretive group, but if you were to sit down with some of us, you would see that we really do very normal (and useful!) things in the market.
I work on the algo and core infrastructure. I wrote price feeds that take 1/5th of a microsecond in C++ and (a little slower) in Java. I understand in fine detail how cache and the the PCI-e bus works. I have a very good understanding of algorithms and the constant-time tradeoffs. I know when to make something simple, when to use and avoid threads, and I can debug in minutes and push out a new version in the seconds before market open (not many people can handle that level of stress well). I read the C++ and Hotspot assembly, and know how to program for superscaler architectures specifically. If you really need me to, I can even crank out some VHDL code.
On top of that, I understand market microstructure and derivative pricing. I work 12 hours a day on average and do 100 hour weeks. I am on call during Asian hours and need to come in sometimes on holidays when other markets are going nuts and we need to plan.
I also hope to make $500,000 this year.
You always hear about Google programmers being the best in the industry, but I've been to a couple Google interviews and turned them down both times because the engineering quality just isn't there. I'd put the average HFT programmer up against the best in Google anyday.
Ask away, and I'll answer to the best of my ability.
I'm past the whole "a-holes can yell at me if they pay me enough" phase.
I'm a developer at an HFT firm and can say that it is some of the most interesting work I've done in my career. You need to wear many hats for the job.
On a daily basis I multitask between making low-level kernel modifications to reduce system latencies, to refactoring our high level marketdata->prediction->execution engine. It's a never ending balance/conflict between making things as fast as possible while trying to maintain good design principles and not take shortcuts in the sole interest of efficiency.
To those that say HFT is an anathema to the economy, I think there is some merit, but there are two sides to every story. I've definitely met some other HFT shops that focus on some really shady and morally questionably tactics (essentially DDOSing markets to gain an advantage). However, the amazing advancement in network technology and all these crazy RDMA and 10G user-space network stacks is literally due to the HFT community, and I'm already seeing these new technologies start to penetrate other markets. This is capitalism at work.
Also, believe it or not, HFT has reduced spreads due to competition, which means you pay less when you want to buy or sell a stock RightNow instead of using a limit order (and while spread reduction is good for investors, it sucks for us because it is not as profitable as it used to be a few years ago).
The "Billions" in profits going to HFT firms right now previously went to the big investment banks and the old classic broker taking orders over the phone and charging a ridiculous market spread.
As some of the interviewers in the article hint at, HFT is a small niche that's getting way more than its share of attention.
I'm not saying HFT isn't dangerous, or something to keep an eye on. But if you're looking for a job in Manhattan financial sector, you'll more likely be working in web or other "high level" stacks.
Java is *huge*, .Net is also very popular. Web is, of course, very important with just about every stack, from Ruby to ASP.Net represented. I see a surprising about of MatLab for analysis ( I guess I just wasn't expecting to see any with QuantLib and similar floating around ).
I get e-mails ALL the time from these people up in NYC. If i so much as wink at my resume online differently I can always be certain that I will be receiving many opening jobs in the trading and banking industry. In fact, throughout my career, this has always been the case. I live in Florida. Why in the world would they be trying to recruit me from florida and why have I always gotten e-mails from them. Is it because they have a lot of people leaving? Do people get frequent burnout? Are they just spamming?
The last "recruiter" to e-mail me wanted to know if I was looking for a 'great' opportunity in the banking industry writing C++ applications with a big whopping salary of $100,000 with a 12 month contract. Since i was tired of these people wasting their time trying to contact me I e-mailed them back and asked why they thought I would just get up and move from Florida to New York for a 1 year contract and i tried to get confirmation of a starting salary of $100,000 a year. He e-mailed back stating that $100,000 was indeed the starting salary with great 'benefits'. So i e-mailed back and informed him that i was already making $75,000 there and no state taxes so $100K really wasn't that great of a deal, especially considering that I would have to make 4 times my current salary that I am making now just to come close to breaking even in NYC. Incidentally I never got another e-mail back from him.
When you have a family, there is no way I am giving up a house to move to NYC to live in a one bedroom closet for the same price as my 4 bedroom house. - with less income coming in.
on internet forums?
that's right. Adolph Hitler.
He wrote hundreds of pages 'exposing' the 'truth' behind 'power'.
It was called 'the protocols of the elders of zion'. of course, the whole thing was bullshit. made up by some anonymous author, possibly the Russian Tsar's secret police, to support yet another pogrom.
But Hitler took this and ran with it. Over and over this document, and many others, including his book Mein Kampf, were given out by the tens of thousands. People were happy to 'forward' these 'revelations' to others, often tweaking details here and there, or changing the attribution of the author(s).
And what happened in the end? Trillions of children were killed. I'm a student of history too. I have over 5 billion books published. On the internet. You can look it up.
we all understand what 'arbitrage' is. when the synthetic CDO market calls their deals 'arbitrage' we all know its fucking bullshit.
when the sales guys in the brochures talked about the 'AAA' ratings on these pieces of 'arbitrage', it was all bullshit.
when Lloyd Blankfein calls it 'hedging, not betting', its fucking bullshit. ]
there is absolutely nothing, whatsoever, 'valuable' behind a credit default swap. it is a bet. that is a fact, and its not rocket science, and its not a conspiracy theory, and its not "the ignorant and alarmist" decrying some nefarious boogey man. its the basic fucking fact of what fucking happened.
I beg of you. stop lying. nobody believes you anymore. this is like the scene in Shattered Glass when Peter Saarsgard has to finally explain to Hayden Christiansen that the whole charade has ended.
the financial industry has no clothes. we all know it. there is no point in pretending.
there is a great book that just came out, The Asylum, by Leah McGrath Goodman , which explains how the potato market became a cluster fuck of manipulation and greedy assholes absolutely stealing from the ordinary person.
it also explains why certain industries were banned from trading this shit. why? because you cant operate a society where the price of basic commodities fluctuates by several hundred percent a year just so that a handful of a few dozen traders can make massive amounts of money through manipulating the market.
and how many prostitutes do they kill, on average, per year?
I worked for a Fortune 100 financial company in Manhattan. Some of the nastiest people I ever worked with were there. I also never worked anywhere where the company made more clear to me that I was a disposable cog. Not that that isn't the case elsewhere, but management usually tries to at least conceal it. I worked 60 hours a week, including weekends, and I was on the low end compared to others who were working to move up in the hierarchy.
There was a limited and fixed bonus pool, so if you got less money, others got more. I'm sure this was a plan by management - the firm was so wealthy, they felt it better their workers be divided against one another than working together. They did this in a variety of ways - staff versus contractors, contractor firm versus rival contractor firm and so forth. This encouraged people trying to rip one another apart during weekly meetings, code reviews and the like.
The office politics can be strange too. I used to be on conference calls with a programmer with a huge ego, and who people deferred to because the program suite he wrote was important for the firm. The program was shoddy though, it had massive memory leaks and the like. But he and the team under him were able to throw it together quickly and the business people were happy with him so he was a golden boy. It wouldn't have been so bad if he wasn't always denigrating everyone else's work with a holier-than-thou attitude. I wasn't in a position to say anything though. Lots of stuff like this happens. A lot.
It was not all bad. It was a large environment. Stuff I would have done maybe once a year at a smaller company I was doing every day there. I was surrounded by dozens of people who were sharp and knew what they were doing. There was a feeling of camaraderie among some of us. It is hard to explain the change in quality due to the sheer size of the company, with its ability to spend massively if needed.
One thing I will say - unless you are there to work 24/7/365 and try to make it to be one of these "highest paid programmers", there is no reason to be there. Some of my co-workers joined straight of college, which seemed dumb to me. Anyone who takes a job for less than six figures is a fool - if you don't have the skills to make at least $100k, there is no reason to work there. It is not the place to come in at a low level and hang around.
To repeat a point - anyone who takes a job on Wall Street right out of college is a fool. They recruit heavily on campuses for the same reason Microsoft and Intel and Electronic Arts do: so they can take advantage of suckers with no work experience who don't know any better. Thankfully I didn't make this mistake. I was able to put everything I saw there into perspective. Going from college straight to Wall Street as a programmer is a dumb move for most people.
I worked on defense systems in Ada for a number of years. While I love working in C# and Java, and sometimes Objective-C, I have to say that Ada had some really great features (some of which clearly influenced later languages).
It might seem like Ada would be a great language for financial services, as it was designed with security and reliability in mind. But, alas, the financial sector is really less interested in those features, and vastly more interested in skimming their clients' money while telling them how lucky they are to have the liquidity. I don't remember Ada including a library for that (system.scheming.ponzi, maybe?).
I've heard stories like this, but I never encountered anyone yelling at me in all the time I spent in the financial industry. This was over several years in NYC and Chicago, at Salomon, UBS/Warburg, JP Morgan, and Phibro energy. The only time anyone ever did yell at me at work, I just turned my back on him, went to my desk, and calmly packed up my stuff while he and his boss were frantically apologizing and begging me to stay.
-jcr
The only title of honor that a tyrant can grant is "Enemy of the State."
Disclaimer: I work at an HFT firm.
The implied accusations are flying out of the page like daggers. I wish you, Slashdot readers, could see the world through my eyes. As techno-savvy as you are, you somehow love to hate on HFT without having any idea what it is. Don't get me wrong -- I really don't care if you hate it. What bothers me is that haters have NO IDEA what HFT is doing and basically project their hatred for finance onto it.
I have to say, this article is pretty level-headed. I was expecting more baseless accusations. Of course, the article throws around the typical "HFT was blamed for the huge drop in the stock market in May 2010..." If you cared to look at the linked WSJ article, you would have read that Waddell's desk had sold 75,000 E-mini contracts at the start of the flash crash. If you cared to look at the CFTC report that officially investigated the flash crash on May 6th, you would have read that CFTC blames the flash crash on some trader who executed a large sell order worth $4.1 billion dollars -- why, isn't that just about 75,000 E-minis?
You would have also read that HFT firms actually mitigated Waddell's mistake. They were there to absorb the thousands of E-minis and so dramatically lessened the initial impact. It's really quite admirable the amount of precision coders needed to invoke in order to create a system that executes so quickly and at scale during such a turbulent period. I was hoping that the discourse here would be more along those lines.
Unfortunately, the amount of volume that Waddell executed was too much risk for the traders to bear, so they started getting out of their positions. In fact, no one could handle a trade of such size. It was as if someone predicted the collapse of the US economy and bet $4.1 billion on it. The ensuing chaos was purely the after-effects of the initial destruction caused by Waddell.
New technologies can be used for bad. I bet there's plenty of bad traders manipulating the markets and using speed as an unfair advantage. We need to police HFT, for sure. But I'm also sure that people are using guns to kill other people out of malice, using cars to traffick illegal drugs, and using airplanes to destroy buildings. HFT is a style of trading. It's a technique, not a strategy. The sooner we realize this, the more progress we will make as a society in implementing policies and regulations.
You guys all hate on HFT, but you are really the ones benefitting from this technology. In market making there's a spread -- the difference between the lowest ask price and the highest bid price. Take a look at the most liquid stocks. They are probably trading at 1 cent wide spreads. Compare that to years ago when spreads used to be dollars. Go to a bank and look at the currency exchange rates. I just did a look into Bank of America's spreads. 100 euros gets you 135.35 dollars. Based on recent trading prices on the public exchanges, 100 euros should be able to fetch closer to 143.62 dollars. BoA is charging a spread that is more that 5% of the value of the product! I don't blame them -- the landscape in the currency markets discourages technological innovation and competition.
This phenomenon isn't true just for currencies. It's true for most products that are not regulated or traded publicly. You, the average investor, are being ripped off dearly investing into these opaque markets. The size of spreads is truly a symbol of capitalism. If there's competition, the spreads are tight. If there's monopoly, the spreads are wide.
You complain about HFT being super fast and "shaving off transactions" as if we somehow have access to your accounts and embezzle money a la Office Space. That's like complaining about WalMart having such efficient systems and internal logistics that your cereal is getting too cheap. Yes, I do believe that some traders use speed unfairly, and yes, WalMart probably did shady things we don't know about, but my point is that not every trader is bad. Technology
Why not divide time into discrete blocks, e.g. one each minute or so? All bids placed in the current time block are then traded simultaneously at the end of the current block. If traders can only look at data form previous time blocks, I think all this BS could be avoided.
Further, outsourcing is not "fair trade", because it artificially bypasses exchange rates.
Then perhaps the problem is that the exchange rates are lower in the first place. The "Penn effect" is an observation that less industrialized countries have cheaper currencies than purchasing power parity alone would predict. This is traditionally explained by the Balassa-Samuelson model that developed countries are more efficient at producing tradable goods and services. Some goods and services are "local": some goods spoil quickly in intercontinental transit, and personal services such as health and beauty care require face-to-face interaction. Others are far more tradable: durable goods have a shelf life far longer than the weeks it takes for a container ship to cross an ocean, and many of us are aware of offshore outsourced services. The value of a market's currency is related to the market's efficiency at producing tradable goods and services because local sectors have to increase their wages to keep workers from defecting to a tradable sector. See more detailed discussion of this effect. So once a country industrializes, its currency will become more valuable, and wages will rise.
Plain and simple: we need to bring the manufacturing jobs back home.
And according to the Balassa-Samuelson model, the way to do that is to make manufacturing here far more efficient than manufacturing there. This is already the case for automobiles, which I admit are less than perfectly tradable due to the cost of intercontinental shipping (case in point: the major car makers headquartered in Japan have plants in the United States). But you don't see cars of international brands being made in, say, Vietnam because the infrastructure isn't there yet.
You saw billions being spent to acquire companies that had never earned a dime of profit, and did not even have a good plan for doing so.
I'd argue that the eventual plans for the dot-coms were 1. to build up a user base whose demographic was attractive to advertisers, and 2. to offer services at a fee.
Later, banks and finance companies were making bad loans on real estate for a number of reasons
I've been told that one of the justifications for the rise in subprime mortgage lending involved mandates from the U.S. government to make home ownership easier for lower-income people, especially those in groups that were traditionally targets of racist discrimination. See Community Reinvestment Act.
Liquidity is a commodity of diminishing returns. If I put in a sell bid on stocks and you say it will take one month, the team than can sell in a day instead is indeed providing a valuable service. And going from taking a day to trade down to an hour or say five minutes is quite valuable too (though not nearly as much so). But the moment your liquidity is faster than my ability to be informed about it, additional liquidity has ZERO value. It takes me several seconds to click sell on a website, and watch as the site refreshes to inform me the transaction has occurred.
In the 1990s, these people were creating value. Today, they are exclusively leeching money from the rest of us.
You're confusing flash orders, which is indeed illegal -- they allow firms to get a peek at customer orders before the orders hit public exchanges.
But being fast as a competitive advantage, given that everyone receives the same information -- that's something entirely different. By the same argument you're making, Google should be fined because they have infrastructure that's vastly superior to the average person. If the average person wanted to compete with Google, he or she would need to build too many things.
I'm being a bit facetious, obviously, but you have to distinguish these concepts.
It's about the world we want to live in, which stands in ever-starker contrast to the world we do live in.
Do you want to live in a world where the best and brightest throw their efforts away with such mundane, trivial shit?
Again, not where-are-we-now, but where-do-we-want-to-be.
Do you want to live in a world where, thanks to some tricks of law and circumstance, a handful of people have such domination over billions?
Again, not where-are-we-now, but where-do-we-want-to-be.
You don't have to be a slaver (wtf??) to say, the world we live in is wrong, because a lot of people are suffering for what seem like really lousy reasons.
You do, however, have to be a decent human being.