So you wanna be a Wall Street techie? Or anyway, get paid a lot
Interviews considered as gang sadism
For at least a couple of decades now, if you’ve been a technologist and wanted to get paid as highly as possible for your work, there’s been pretty much only one place to go: the financial industry.
Have a seat, chum... we'll be in shortly to pick up the questionnaire on the syntax of complicated and rarely used Java functions. By the way, how many piano tuners do you reckon there are in the world?
From a purely tech point of view, there’s now more interesting work going on elsewhere (mobile, robots), so Wall Street no longer has the lock on top technology talent that it once had. But unless you’re lucky enough to be the owner of a start-up that gets acquired by Apple, that doesn’t change the cold monetary facts: The gap between the compensation for programmers at investment banks and those working anywhere else remains massive.
If the reports on technologists’ salaries that appear in the press periodically (and don’t include Wall Street techies, who are considered to be working in “finance”, rather than “technology”) are any indication, the highest salaries in the world of non-finance-related tech are often what a low- to mid-level Wall Street technologist will make.
To be specific, the numbers given in these reports for the most senior people seem to hover around $100,000 (£64,000) — or what someone with a few years’ experience at a reasonably profitable Wall Street firm can earn. For more seasoned programmers at these firms, with years of accumulated knowledge about markets and financial products, “total comp” numbers (base salary + bonus) from $200,000 to $400,000 are not uncommon. Along with this generous compensation come benefits that are almost always better than average: plenty of vacation days, tuition reimbursement, subsidised cafeterias.
For those reasons as well as some less tangible ones — for example, the fact that the builders of high-frequency-trading or derivatives-pricing systems are the awe-inspiring, inscrutable wizards of the moment — there can be a certain, er, superior attitude among Wall Street techies.
The stereotype of the Jaguar-driving, bespoke-suit-wearing finance guy with $800 bedsheets applies more to traders, salespeople, and investment bankers (who can easily take home several times as much as any technologist). But tech people in finance, while not generally hurting for money, will flaunt their position in other ways – not by being conspicuous consumers as much as conspicuous braniacs, several rungs of intelligence above the common herd, as determined by the job "market".
To be fair, there’s generally a collegial, democratic work ethic among tech team members on Wall Street. But getting onto those teams is a different story. The main screening process for these coveted jobs, like most jobs, is the interview. But interviews for Wall Street tech positions can be very different from anywhere else. And when I say "different", I mean more intense, more harrowing, more intimidating, and often (not to put too fine a point on it) more merciless.
You DON'T have what it takes
If you’re interviewing for a position on a team of, say, eight people, there’s a good chance you’ll be interviewed by all eight of them. If the team sits on a trading desk or has frequent interaction with people on the “business side,” you can expect to be interviewed by a few traders as well.
The basic impulse behind the full-team interview is a benign one. Teams like to get consensus on potential candidates, which is sensible enough; there can also be hurt feelings if some team members feel that their opinions don’t count. But for you, the interviewee, what this means is hours of interviews by a large number of people, many of them with big egos and very high self-opinions – people who sometimes see their goal as digging for proof that you don’t have what it takes to be one of their elite team.
I’ve been on more than one set of extremely tough interviews that literally filled a day — 9.30am to 6pm, say. Even half that many hours of intense grilling on technical arcana, with the focus and approach shifting completely every 45 minutes when it’s a new interviewer’s turn, can leave you punch-drunk, exhausted, deflated and eager simply to get the hell out of there.
A certain amount of detailed technical grilling is obviously necessary for a job that involves, say, shaving microseconds off the messaging in a high-frequency market-making system, or building an engine to process millions of trades a day. It’s perfectly reasonable to do an appropriate skills-assessment of someone who will possibly be designing and developing, with little supervision, systems that handle vast sums of money. But the fact is, the number of positions that require memorisation of ultra-low-level details of the operating system, or the precise syntax of complicated and rarely used Java functions, is pretty small. And those are the very kinds of things a tremendous number of interviewers seem to focus on, rather than assessing a candidate’s more general ability to solve problems logically and (most of all) build usable and maintainable systems.
This common approach to tech interviews on Wall Street is to a large extent pointless since, on the job, it’s not unusual or disgraceful to fall back on a reference manual occasionally. Worse, it can be a serious mis-measure of a candidate’s capabilities. Everyone’s heard the old programmer’s cliche that it’s better to teach a person to fish than to give him a fish. In a similar vein, would you rather hire someone who’s merely crammed the contents of 10 manuals into his or head, or someone who can think in a logical way, find answers quickly, and absorb new information easily?
Just how polymorphic are you?
I’ve seen several very real manifestations of this problem. I’ve worked with two people, at two different companies, who could virtually recite the C++ language reference manual from memory, sure to impress almost any interviewer, but resigned after half-finishing the development of major systems. This isn’t necessarily a bad thing in itself, but in both cases what they left behind was so convoluted, overly complex, and incomprehensible to anyone but themselves that the remaining team members, all highly skilled, had no choice but to scrap it completely and start from scratch — months of labour and tens of thousands of dollars (at least) up in smoke. The fact that you know the most arcane details of polymorphism in object-oriented programming languages, or that you're an expert on how to use functors, doesn’t mean you know how to design and build a usable, flexible system that other people can understand and maintain (as they will surely have to do at some point).
I experienced a truly absurd variant of this kind of small-minded “measurability” a few years ago, when a headhunter gave me a long questionnaire to complete and flat-out refused to submit me to any of her clients until I’d done so.
Among the crucial information I had to provide was how many total lines of code I’d written in each of several languages (about as meaningless a statistic as I can think of) and what my score on the SAT (Scholastic Aptitude Test) was. This was in 2008, when I was in my late forties. I took the SAT in 1974, when I was 15. I never filled out the questionnaire or contacted this headhunter again.
But back to interviews: While many people ask decontextualised reference-manual-type questions rather than trying to genuinely assess a candidate’s design skills, flexibility, and general ability to think, there are some whose approach to interviews borders on sadism — approaching the task with the intention of stumping the candidate with the most complex problems they can possibly come up with, or technical questions that virtually no one can be expected to answer from memory.
Next page: First they battered me, then they high-fived
Interviews work both ways...
If an interview panel effectively advertises itself as a bunch of smug sociopaths, they may find themselves losing the odd competent prospect who'd rather work with less unpleasant people.
Anyway, either there is a large pool of suitably thick skinned, fact-regurgitating and apparently competent software engineers out there, or the problem will resolve itself when all the talent goes to work for some awful web 2.0 monstrosity like facebook leaving only the sociopaths in wallstreet to write inadequate financial instrument playing software which ultimately causes the western economy to go titsup.
One could argue that perhaps this has already happened.
Questions to ask the interviewers at interviews,...
How are the technical teams split - by discipline or region? (Discipline is good, Region can be bad).
Who is the first person in management chain who is responsible for both myself and the other teams? (Lower down the chain is better, actually present in the interview is ideal)
Does the IT Department have a seat on the board? (if IT is not the primary function of the company; this shows how seriously they take IT)
Does the company / division provide internal support to an parent division or do they provide services to external companies? (Internal-only IT divisions can be at the mercy of the parent division's favour)
Whats sort of events has the social club done recently? (Employee-organised events are good indicator of internal morale)
Do you run SAP? ("No" is the answer you are looking for)
Re: No thanks ...
"I don't work for dicks." - unless you are self employed, everybody works for a dick. And if you have underlings, they probably think you are a dick. It's the way it goes.
"I don't have a degree." - what's worse, a mickey mouse degree or no degree at all? Tough call.
"I also don't earn 60k+ a year." - nor do I.
"Do I care? not really. Would I like to earn more? sure who wouldn't." - sure, everybody would like to earn more. I'd love to think "my computer is getting on a bit, let's upgrade" or "wouldn't Kyoto look pretty this time of year". However, in exchange for crap pay, lame conditions, and mostly being ignored by management, I have something rather special. I have a job where the only stress happens while I'm actually at work (and even then, it is a minor level of stress). When I finish my work, I clock out, walk out, and don't need to give it a single thought until the next day. Production processes? Turnover? Q&A? NMFP.
I don't know if that makes me smart or stupid, but I rather like programming and dicking around with hardware and from what I can see, unless you score a good position you may end up regretting it. So I took my own state of zen in preference to wads of cash and fast cars. Neither impress me much, to be honest. I'll hack ARM code on my own time to my own rhythm, and do the boring "job" thing in order to pay the bills and keep me connected. I'm not aiming to be a high flyer, I'm just aiming to be happy.