On the eve of starting a great, new, exciting position, I would like to recap my experiences over the past 4 weeks in searching for a new job. One of the motivating factors in looking for a new job was that I wanted to have an important role in shaping the development and architecture of a major financial system, and do so at a senior level. Being a hands-on coder was OK for me on a part-time basis, but I wanted to manage and mentor developers who would be doing most of the coding while devoting more of my time to learning about new technologies in the financial arena, meeting with vendors, sitting on enterprise architecture committees, etc.
It’s always good to have some throwaway interviews, especially if you have not interviewed in quite a while. As soon as I announced my intentions of moving on to something different, I received a number of calls for interviews. I knew that some of the positions were not right for me, but I needed to get some spit and polish on my interviewing style before going out to the big boys.
The first interview was for a consulting company that claimed to do some financial work, but whose main focus was content management. Nevertheless, I needed to meet with people, so I went down for the interviews. The company had a “boiler room” full of cold-callers, something that makes my blood curdle. I met with the “HR lady” and then (believe it or not), the Head of Business Development. What kind of company would have you meet with their head salesperson? After my ideas about how a consulting company should be run went right over the salesguy’s head, I met with one of the partners. He was more perceptive, in that when I told him that I did not want to work for a consulting company that had the singleton, bodyshopping model, I could detect the dark cloud passing over his face and his immediate desire to end the interview as soon as possible.
The next day was another throwaway. A hedge fund had been after me for a few months. The headhunter told me that, as part of the job spec, the hedge fund requested that candidates live in New York City so that they could be on constant call. 14 hour days were the minimum. Joking with the headhunter, I told him that if I were to work 14 hour days, that I would want my current salary * 1.75 as a base. He called me back a week later and said that the hedge fund still wanted to talk to me. After an initial phone interview, I went down to see the people from the hedge fund. The fund is technically astute; they were developing totally in .NET 2.0, although they were doing all ASP.NET apps. The only thing that the first two interviewers, both developers, did was to repeatedly thumb through my resume, and exclaim that I had done a lot of stuff. Finally, I interviewed with the CTO. We talked about a lot of conceptual things, and he asked me one SQL question, which I got about half right. (I happen to have a mental block when it comes to writing SQL during an interview – give me SQL Query Analyzer, and I can work up the answer in 5 minutes). When the CTO asked me about my compensation requirements, I told him that I thought that the recruiter communicated that to him already. The recruiter never did, and when I mentioned the figure to him, he rolled onto the floor laughing. We ended the interview about 8PM, and he told me that his day was just beginning.
Two interviews without a good tech question.
The next interview was with another, very small hedge fund. The CTO was a really nice guy, except that I wanted his job! The pay was terrible. About 60% of my current base, although a 30-40% bonus was typical. To his credit, the CTO knew that he could not support my compensation level, and we both knew that it would have been a mismatch if I had joined.
Still no tech questions.
Later that day, I went down for a face-to-face with a very small company that specialized in financial tools. I had actually spoken briefly to this company a few months ago, but they really wanted a GUI developer who specialized in C++. Seeking a good throwaway interview with some good, hard tech questions, I contacted this company again to see if the position was open. It was! I had an initial one-hour phone conversation with their senior developer, and then was invited down to their offices for a second round. The questions I was asked included:
- Design the architecture and the API for a logging mechanism
- Implement a breadth-first and depth-first search for a tree.
- Design a hash table.
- Implement a workflow manager.
When the CEO of the company walked in to interview me, I almost fainted. The CEO looked like he was 12 years old. (He is actually a MIT grad.) I felt like I was interviewing my son. OK, I think that we both realized at that point that there was a slight cultural difference!
A phone interview with one of the big IBs followed. The job spec was for a C# developer for an Order Management System, but the recruiter kept insisting that it was a Managing Director’s position. I told the recruiter specifically that I did not want an Associate Director or Director position at this company, but she kept changing her story with regards to the title. The phone interview was a non-event. No tech questions; just a manager going over my past projects and asking me where I wanted to be five years from now. A very, very dry interview.
Then came two wonderful interviews with two different groups at an IB, one for consulting and one for full-time. I got offers from both these interviews. More on this later. I was asked to design a crossing engine. I was asked about the .NET garbage collector. I was asked to draw an architecture for a trading system. I was asked about bottlenecks in the system.
I got verbal offers from both of these groups the next day.
I knew that I was going to take one of these two positions, but I went on two other interviews as backups. One was with a big ad agency who needed rearchitecture of some big websites. Nice company located in the hinterlands of New Jersey, and they came through with a very nice consulting offer at a pretty good rate. It would have been a good change of pace, and I would have taken it if the other offers did not come through. Another interview was a phone talk with the head dev and the manager of a group at another IB. Their systems were in a mess, and they needed rearchitecture and new development on their big Private Banking systems. Not really a position that I wanted. Both of these interviews contained no tech questions.
One other background conversation was with a small company that specialized in software and consulting services for hedge funds. Really nice guys, and would have been great if I had wanted to bill by the hour and customize software for individual funds, but they were looking at me to take over the CTO role. Unfortunately, they did not have a sufficient revenue stream to support non-client-billable activities, and sadly, it would have been more of singleton consulting.
In the course of interviewing, I met some very good recruiters who I will be sure to use in my new position when I need staff. I also met some very, very bad recruiters who a) did not communicate salary requirements to their clients, b) did not give me feedback, c) lied about the titles of the positions. Among the goodies I met were Matt of SH and Drew of CMA. Cheers guys!
I was disappointed in the level of tech questions that I received, and was surprised that most of the interviewers would just spend time gawking at my resume. They were actually embarrassed to ask me the generic tech questions (ie: what is a virtual function, what is a delegate, etc). However, the design-a-system questions were good, and I have to remember to use some of them, especially the one about designing a workflow engine.
My new position is a senior-level position at one of the IBs. I will be in charge of architecting some new trading systems and rearchitecting some older ones. I will have a small staff of good people. My manager is a very dynamic personality, and I am hoping that we can move this organization forward in terms of trading technology. I will be involved in new technologies (to me, at least), and will be investigating low-latency market data distribution, algorithmic trading, universal GUIs (my Wall Street Stack), and more.
©2006 Marc Adler - All Rights Reserved