A software engineer at a firm centred on wealth management and investment work for clients builds the calculations and checks behind client portfolios: returns, rebalancing, currency conversion and rules that decide whether an investment suits a client. Prepare to talk about getting calculations exactly right, reviewing a colleague's numbers, keeping client and deal information separate, and resisting shortcuts into production. What to show here: calculations you can explain and rules you never skip. Each question below has what the interviewer is checking, an answer frame and a sample spoken answer to adapt.
How Morgan Stanley hires, in its own words, and its questions for every job →
“A colleague changed how we averaged a series of monthly values, and the tests were green. Something looked odd to me: the new code divided by the number of months in the year, not the number of months with data. For a new customer with only a few months, that would give a figure far too low. I worked one example by hand and sent it to him privately with both numbers. He had tested only full years. He fixed it and thanked me. We added cases for partial periods, and I learned to ask in every review what the tests do not cover. After that, your result.”
Weak answers approve because the tests pass, or criticise the author in public without checking first.
“At a previous company I worked on a system for one customer while a friend on my team worked for that customer's direct competitor. Our contracts said the work must stay separate. Over lunch he asked how we had solved a problem he was stuck on. I told him I could not talk about that project, and offered to discuss the general technique with a made-up example. It was a little awkward. I also asked our lead to split the repositories and chat channels, since shared ones made slips likely. After the split, nobody had to rely on memory to do the right thing.”
Weak answers see no harm in sharing between colleagues, or depend on good intentions with no separation in the systems.
“If I divide the end value by the start value, a large deposit looks like a gain, which is wrong. So I would break the year at each deposit or withdrawal. For each period, I compute the return from the value at its start to the value just before the next cash movement. Then I link the period returns by multiplying their growth factors. That shows how the investments performed, whatever the client paid in. I would test with a portfolio that holds only cash with no growth: whatever the deposits, the return must be zero. I would also state which method the report uses.”
Weak answers compare start and end values only, or cannot explain why deposits distort the result.
“The tool values the portfolio and compares each asset type's weight with the target. If the gap is inside a tolerance, it proposes nothing, because small trades cost more than they help. Otherwise it works out how much to sell of what is overweight and buy of what is underweight. Then limits apply: keep the cash the client needs, skip trades below a minimum size, and respect holdings the client has asked to keep. The output is a proposal, not an order. The advisor sees each trade with the reason and the weights before and after, and can change it. The proposal and the decision are both stored.”
Weak answers trade back to the exact target every time, or send orders with no review by the advisor.
“I would keep the rules as data with versions and effective dates, reviewed before they go live, and an engine that evaluates them. That way a rule change does not need a code release. The check sits in the one service that every order must pass through, not in each screen, so no new channel can skip it. If the check cannot run, because data is missing or the service is down, the order is refused, not waved through. Every decision is stored with the inputs and the rule version, so we can later show why an order was allowed. Any override needs a named person and a reason.”
Weak answers put the check in the user interface, or allow orders through when the check is unavailable.
“The first decision is which rate: from which source and taken at what time. For an end-of-day report I would use one agreed closing rate for each currency pair, and the same set for every holding, so the parts agree with the total. For a past date, I use that date's rates, not today's. I convert each holding's value, add the converted values, and round only when displaying. I store the rates used with the report, so the figure can be reproduced later. I would also show the client the value in the original currency, so they can see how much of a change came from the rate.”
Weak answers use whatever rate is current for every date, or round each holding before adding.
“I would say no to copying the file by hand, and explain why: there would be no record, no review and no clean way back if it made things worse. But I would not stop there, because the advisors are really waiting. I would ask our lead to start the emergency release path, which still has a second reviewer and a record, and offer to be that reviewer at once. Meanwhile I would check whether there is a workaround the advisors can use for an hour. Afterwards I would raise the real problem: if the normal release is too slow for urgent fixes, people will keep being tempted.”
Weak answers do the manual copy to be helpful, or refuse and walk away from the problem.
“I enjoy problems where the hard part is being exactly right, and where I can explain the answer to someone who is not an engineer. Wealth management is full of those: returns, fees, conversions, and rules about what suits a client. At Morgan Stanley that work supports advisors and the people who trust them with their savings. I have spent a few years on calculation-heavy services and found I like the testing and the discipline as much as the design. I want to grow into someone who understands the finance well enough to question a requirement, not just implement it.”
Weak answers mention fast markets and prestige, and say nothing about clients, advice or correctness.
No figures on this page: pay depends on the level, the city and the offer in front of you. When the offer comes, the free salary negotiation script helps with that part.
ClapAssist is an AI interview assistant for Mac and Windows. It listens to the interview on your computer and shows you what to say, in short lines you can read while you talk. Your live interview audio and screen are never stored. Your resume and notes are saved to your account so the app fills them in on any computer. It is hidden from screen share on every plan, including Free; only you can see it.