> "Hey, due to the way our accounting works I need you to subtract X from our dashboard."
That is not what happened here. The fact alone that very few people knew about Alameda's special treatment, and, importantly, deliberately conspired to keep that treatment secret is a pretty strong indicator that he knew it was wrong.
(Well, it's not in finance, but it could be in tech-like crypto finance.)
A senior developer of anything in this area would be expected to fully understand the risk implications of this. I have written the code to closeout positions automatically multiple times in multiple jobs.
It may have been possible someone directed a junior developer to make this change, but then it would be a case of hunting down who told them. If that happened in my team I'd be documenting everything I saw and running, not walking, not walking briskly, out the door.
This said, nothing is black and white. For example, due to immature processes, they might have told the developer that the main account was only one of many accounts they can call on, but the code only allows for one, so we have to make an exception. I'd still be freaking out.
This is not dissimilar.
Just deposit the money before withdrawing it.
There is test... And there is PROD. Never do the two meet. Ever.
If someone out there does, please make yourself known so we can get the investigators over there ASAP.
You think they're just guessing that the test environment perfectly matches the prod environment?
This isn't true
I worked for a large bank. I managed data for their mortgages. We bought another bank and processed their mortgages with our systems. There were several thousand accounts that we called "friends of the <former CEO>" because they had really weird terms.
A noteworthy example is: $10m Home Equity loan, with 2% interest for 40 years, and the owner could refinance any anytime without any fees
In English, this means we can't repossess their loan, they pay a super low monthly payment, and the final amount is never really due.
The other customers have no standing there, they have no relationship whatsoever that contract between the bank and another customer, they have no legal expectation to get the same conditions or to know what conditions other customers get. If the bank explicitly and intentionally lied that no other customers get so favorable conditions, that might be false advertising but I'm not sure, I'd expect a reasonable court to interpret that a bank "telling your customers you don't and can't do this" is exaggeration/puffery (i.e. permissible) and doesn't have to literally mean that they're not doing that for anyone, it means that they absolutely refuse to do it for you.
A car salesman telling you they can't sell you the new Buick for $42,000, when they sold one to their neighbor yesterday for $41,000 is not fraud.
Another fact I omitted is that the interest rate is 2%, but the minimum payment is lower. So the borrower is accumulating owed balance because they are paying less than interesting accruing.
Yeah??
And now that the bank has new ownership they might be able to refinance again and continue to kick the can down the road, but they're less likely to get as favorable of terms I'd imagine.
And the technical term for the type of refinance is "recast" (iirc) - so the "new bank" honors the terms because it is a part of the originating documents.
When knowledge arrives at my team, is already condensed to the point of: "in X country, you must tell the prices of a call if you show a phone number for assistance"
Why should I explore every loophole of law to be compliant? That's the companies job, not mine.
This is not hard. Nobody needs to be versed in the ins-and-outs of jurisdictional compliance rules to see this was blatant and egregious.
If any of this looks remotely familiar to any software devs out there, you should really re-examine your morals. Or at least hire a lawyer.
It also might depend on seniority so you might not be on the hook.
Say you are an engineer working for a gun manufacturer. You need to know how to manufacture the gun. You don't need to know what it is used for or by whom or even how much it is sold for.
If you are aware that a crime is going on you in principle are required to report it, but not doing so is not nearly at the same level of crime as actually doing the crime. So here I think the court will look at two things?
Did the engineer know that a crime was being committed?
Did the engineer personally benefit from the proceeds of the crime more than their ordinary salary?
I am not a lawyer though so don't take my advise.:-)
You're telling me a software engineer could make a change that allowed spending money a company could not legally spend and he had no idea about it? Come on. That is preposterous. At any respectable company alarm bells would be going off everywhere and fingers would all start pointing to that change. Theres virtually 0 chance that there was not intent.
> Are programmers expected to know finance law?
in our case, we were. it was drilled in, and tested, reviewed, and audited. i’m not saying that something like this couldn’t have happened, but in my case anyone who would have been involved would definitely have known the legality.
If you are trading or working with customer money, you usually have to take the Series 7 exam.
So I would say for regulated industries, programmers are expected to know some degree of financial law.
Developers presumably know how to think and have a vague idea of what the business does to know that a ask to futz with internal financials programmatically is fucking wierd.
Also got reprimanded for disobeying an order at once; my boss — same one as above — would not take "no, we are in a regulated industry, and I cannot do that" for an answer. I ended up going behind his back, getting the approvals he should have gotten himself, and once I'd secured those, granted him the access he wanted. I also tried to escalate to his boss (my grand-boss) … but he didn't respond until it was all moot.
But there is a lot of stress when you're fearing for your job, even though you're just trying to do things by the book. I'm inclined to side with engineers, to a degree: the chain of command's responsibility is to never put eng in that position. (Although here, the eng in question seems far higher up than I am. I'm just a bottom rung eng…)
> Developers presumably know how to think and have a vague idea of what the business does to know that a ask to futz with internal financials programmatically is fucking wierd.
They should but IME they often don't, and even if they do, people are lazy. It's a struggle to get people to do the things they should do some days.
I said I wouldn't do it unless they showed me the legal advise saying that it was ok. The office sycophant piped up and said "I'll do it". From then on I stopped being invited to meetings and my job transitioned into answering the phone and then out the door.
I hope they jail the developers for 500 years, that's the sort of signal that needs to be sent.
My impression is that this title comes from the practice of "software engineering", not necessarily that the practitioners are licensed Engineers.
There are no regulations as to who can develop what software as far as I know. Whereas there are for who can design a bridge, act as your lawyer, or prescribe you medicine.
“Software engineer” is just a synonym for “programmer”, in the actually existing practice of the English language.
Call yourself whatever you want, but that doesn't mean you get to define what 'Engineers' are and what ethics they are bound to. Just because you use the term in your title and say it is used properly in English, doesn't mean that you won't get treated any different than someone with a PhD demanding to be called Doctor and pretending there is no difference between them an and M.D.
That’s true, but ignorance of the facts often can be. “I didn’t know I was doing X” rather than “I didn’t know X was illegal”.
You also need to have faith in the compliance team and senior management. If your company works in legally sticky territory like crypto doubly so.
I don’t know what exists in the crypto world operating in the Bahamas, but I’m not going to lose a lot of sleep if the FTX director of engineering winds up going to prison for this.
https://adage.com/article/marketing-news-strategy/tom-brady-...
I'm surprised that even Football players are being expected to have evaluated the company's legitimacy, which seems unreasonable.
Software probably makes things even more hazy but in traditional engineering world there are very clear cut rules around professional ethics, personal liability and disclosure.
Working on fintech and transaction rails? Probably. I had to know regulations when I worked in fintech. Plus, you don't have to know the law to be found guilty of breaking it.
The engineers working on this are innocent until proven guilty, but you'd better believe all internal comms, meeting notes, and commit messages will be scrutinized.
Someone had to ask for the system to behave this way, and that will have produced certain artifacts.
Engineers with knowledge may be cut deals to testify against the bigger players.
Precisely, ignorance is never a valid defense.
I believe in due process [& friendship, too]. But alas for the engineers concerned, SBF does not:
https://www.businessinsider.com/ftx-collapse-bankman-fried-e...
"When asked to clarify whether they were both gone, Bankman-Fried said that Wang was "scared" and Singh was "ashamed and guilty" because FTX customers' deposits had been lost."
Isn't that a strange thing to say? Singh is the guy who made the change, per Reuters, and this snake knew that.
"Hey, due to the way our accounting works I need you to subtract X from our dashboard."
"Ok boss."
Are programmers expected to know finance law? If I build a program for a dairy farmer am I supposed to know the laws of the interstate dairy trade? I can't believe that would be the case.