No Good Deed

W. Brasky
19 min readJun 8, 2018

My career began in the run-up to the mortgage crisis while working for BigBank Inc. A few years earlier I’d dropped out of college, frustrated with the pace of the Computer Science curriculum — what can I say, I was young and dumb and clearly knew better than everyone else. Reality quickly quelled whatever optimism I had about serious job prospects. Having tried in vain to land a development position at a young age without a degree and a limited portfolio, I’d finally decided to give it a rest and signed on for some temporary work to pay rent.

This would have been about 2003. The U.S. housing market’s latent bubble was still years from bursting, but it was building a head of steam. I got work selling home loans on the secondary market to investors like Freddie Mac and Fannie May.

I saw a number of alarming things during my time in the business. It was the sort of stuff you discussed with your more thoughtful coworkers at the water cooler; I have a bad feeling about all of this. But with so much energy in the housing market at the time, most everyone, particularly the well-bonused executive leadership, were giddy with how bright the future seemed; surely this could go on indefinitely!

At any rate, this is not about our fundamentally misguided financial markets, it’s about my small part in causing the housing collapse and how I got my first real software gig. Hot damn!

As a secondary marketer, the gist of my job was:

Put together a loan contract: A contract is a bundle of similar loans with the same term (e.g. 30-year fixed rate loans) in an interest rate range (e.g. 4.75% to 5.25%) for a particular bundle amount — a total combined principal value (e.g. $4,500,000). These are all loans that are funded (or very nearly funded and should be by delivery time), meaning the borrower has signed a note and closed on the property.

Find the physical files: Because a contract’s loans could all be in different phases of the funding pipeline, the files could be spread over all of the different departments: origination, underwriting, closing, post-closing, other departments I’m forgetting, the file room stacks, on a random forgotten cart in a hallway, or just generally misplaced somewhere else in our sprawling cubicle farm. The files contain a lot of cruft like multiple reprints of data screens, but they also have essential documents like signed notes that don’t have a digital representation and contain the final, official loan terms.

Copy and verify: Each loan’s data needed to be migrated from our loan origination system to the delivery system for the purchaser, such as Freddie Mac. This involved exporting your contract and importing it into the delivery software. Once imported, you would go through the myriad loan data fields — names, addresses, SSNs, credit scores, owner occupied status, is it a condo, loan terms, etc — confirming exported details against documents in the physical file and entering those which didn’t exist in the loan origination software or were not exportable.

Deliver the contract: Once all of the loans are entered and confirmed, the files can go back to where they came from to wend further through the funding pipeline, the contract in the delivery software is sent off, you file some reports, record fees in a few spreadsheets and update the loans’ statuses in the origination system.

That’s it.

It’s not rocket science. It required an attention to detail, but it was cud-chewing for the most part. It’s the volume that wears you out, not the challenge of any one part of it. Like so much clerical work, it was a lot of transcription and basic dot-connecting that takes people time; the sort of tasks that lend themselves to automation.

As things began to really heat up with more and more loans being funded every day (hooray sub-prime lending!), the workload grew more taxing. BigBank brought in more temporary staff (at it’s peak, I remember hearing that about 2/3 of BigBank’s multi-hundred staff were temps) but the volume we each had to move daily was still getting to be substantial and that meant working longer hours and, yes Lumberg, sometimes coming in on Saturday. Sure, many of us were hourly, but there’s a limit to how much OT anyone wants to work.

The seed is planted

Prior to the big increase in volume as the real estate market went bananas, I had been poking around with the software we used. We were situated in a boring office park adjacent to a corn field so I’d often take my frozen microwave #SadLunch at my desk thinking about what it was I was doing — copying data from one program to another — and how unnecessary that ought to be. Of course, what ought and what is rarely jibe.

Fortunately, owing to some combination of baseline corporate IT incompetence and bad policies, what should have been a locked-down workstation was very permissive. So, it was easy to install a hex editor and SciTE and an interpreter for my scripting language of choice. At that point I started looking at the data we got out of the origination system. A lot of the exported data was binary, but I was able to spot things like addresses and borrower names. Making changes to loan data in the delivery system and then diff’ing the before and after versions pulled back the curtain; I could see how everything was stored.

A plan takes shape

A field map definition and a little scripting later and I could unpack all of the loan details. Thinking for a minute, I realized that a lot of what we needed to enter into the delivery system were computed values. Basically, the exporter in the origination software was pretty brain-dead. It could output a borrower name from byte offset 0 to 30 in a record, but it couldn’t do a simple transformation like lower casing a name or otherwise modifying a value. Similarly, if the value of 3 or 4 fields needed to be combined to determine another value, that value showed up as blanks in the exported data; the exporter could not be configured to compute that. It did no data munging at all, just raw dumping.

It took almost no time to hack together a script that could auto-complete many of the fields in the export data that currently involved a lot of cross referencing and manual checks. I realized I could now have a bunch of that tedious work already done when the data was imported. I remember running several contracts through my script and still working them entirely by hand; too paranoid to trust it with my job on the line. But then one day, I did. I shipped a contract and didn’t check any of the computed values. And it was fine. Everything chugged along like it was supposed to; Freddie Mac bought the loans in the contract.

That continued. I cut out a lot of manual work and the loans were never rejected and sent back. I guarantee I was not even close to the hardest worker in the department, but I was suddenly pumping a ton more loans through. When Dan, in the next cubicle over, asked what was up I had to tell him. Suffice it to say he was a little skeptical; it does the data entry for you? He worked in the department and had for a while, I was just a temp passing through, and a somewhat unruly looking one at that. I explained that I’d setup the language interpreter and deciphered the field map and everything on my computer and that it wasn’t exactly user friendly. Eyes glazed he shrugged and turned back to his Hot Pocket.

But it had me thinking. What if everyone else in the department could use this? But I couldn’t go around setting up everyone’s computer, and how would I sync the code with updates — using a VCS was a thing I was aware of but had never touched, not to mention, SVN was only 3 years old, and git was still waiting for an outraged Linus to extend his predictable middle finger to BitKeeper and write. I couldn’t see a way to easily get the script synced on everyone’s computer.

Well, if the mountain won’t come to Muhammad, then Muhammad must go to the mountain.

Why couldn’t I just bring their data to my script? But how? There was Windows file sharing, but surely the network administrators for a large financial institution would have that locked down tight. If not at the device level, then surely at the network level. It’d be insane not to…

Nope. Wide open.

Reach out and touch someone’s data

Where previously I had my script read data from X:\data\local_file.dat now I could also read and write(!) from and to paths like\\10.0.0.123\X$\data\remote_file.dat. After some tweaking, I asked Dan if we could try something over lunch. He exported a contract he had to work that afternoon, and I ran the script from my PC against the data on his. It only took a fraction of a second. He fired up the loan delivery software and loaded the contract; paging through loan data screens. Seeing much of the manual-entry data already there, I will never forget that Cheshire grin that spread over his face.

I knew I needed to run this up the flagpole before I went further. This was my first office job, but reading the culture at BigBank, I’d already trod pretty far afield. I went to our supervisor, Rachel, to explain what I’d made and how it could help us out. I suggested that we try to get the IT department involved and bring it under their auspices. What Rachel saw was meetings and more work in an already-spread-thin department. The Peter Principle puts a lot of good folks in management, and she was a hard worker, but had a serious case of tunnel-vision with anything outside her domain of expertise. She said she’d think about it, but every time I brought it up, it was clear it was going nowhere.

Word spread pretty quickly after my test with Dan, but I explained that I had run it past Rachel who’d basically tabled it and that was that. We were not even near the peak of bubble and it was getting bad. People were asking me for one-offs to process especially large contracts or when they were in a time crunch, but this was all still unofficial and kept fairly hush hush.

With time, I built other tools, some suggested by coworkers, to do additional processing: locating files in the building by checking details in different systems, generating fee spreadsheets we used to create by hand, auto-updating data as needed. If I could wire up two disparate systems to take pointless work off our plates, I did.

Our misinformation superhighway

One weekend it occurred to me that the solution to me running these scripts was to provide a way for everyone to run them remotely against their own data. If these were available via a web app, I’d know the IP address of the visitor and could locate the contract data on their PC. I hacked together a simple home screen with no authentication — if corporate IT doesn’t bother, why should I! — and a button to run each script. The following Monday I installed a simple web server on my PC and fired things up. The next afternoon everyone processed their contracts from the comfort of their cubicles without anyone being the wiser.

Over several months, the ever-growing suite of tools became indispensable. I’ve often wondered if anyone was actually paying attention to our throughput and what they attributed the big increase in volume to without a commensurate increase in staffing. I suspect management just fancied themselves to be so inspirational that that was it, but no pep talk could net you returns like these.

Crossing the department divide

While secondary marketing was humming along with automation, the rest of the business was struggling to keep head above water. One day, while hunting loan files, I was chatting with some of the loan origination staff. They were grumbling that they were going to be working Saturday. Again. The aisles of their area were packed with file carts. The folders were stacked head-high on their desks. They were fairly drowning in work. For every three new files that came in they were able to get about two sent down the pipeline. You can imagine the kind of backlog that leaves you with after several months. They explained the issue was really one of redundancy in data entry. Process 100 loan files and you need to update 3 or 4 details in one of the systems for each of those, except these were usually processing dates and were always the same for a batch of files. So you were setting the same date on 100 files, but the system was designed for singular access. Type a loan number, enter the date, press enter, wait. Lather, rinse, repeat.

They were struggling to do batch updates the same way we had struggled to do batch look-ups. It only took an hour or so to modify one of my tools to allow for batch updating. I stopped over and talked to Dana in origination and had her try it. She entered 50 loan numbers and today’s date and clicked “Go”. A second later, all 50 loans had been updated. She teared up when she realized what this meant for them: a Saturday at home with family.

While everyone in secondary marketing knew this was a covert operation, having been involved since early on, people in other departments were less aware of the illegitimacy of the whole endeavor, and I failed to impress upon them the importance of keeping things quiet. I started getting requests from folks I didn’t know in other departments about automating tasks. The ship was starting to leak.

And then one day I was out sick, so my PC stayed off for the day. And nobody could access the tools. Sure, they could go the old manual route, but that’s a bitter pill to swallow. Dana talked to her boss and asked if they could get my tools put somewhere that they’d always be available, and her boss, Karen, a helpful supervisor, dutifully went to the IT department to discuss it.

The jig is up

I got to my desk the next morning and Rachel came over.

“We need to talk to you in the conference room.”

She had that deer-in-headlights look. The one she got anytime the conversation veered too far away from the minutiae of secondary marketing. I had an inkling of what might be waiting for me. Rachel and I walked in to see the network operations guy, Dick; the manager of the IT department, Angela; the VP of technology, Cam; and another guy I didn’t recognize and who looked really uninterested in being there.

Dick was notorious for behaving in accordance with his name. On this day, he’d taken on a slightly crimson cast and there were faint wisps of steam puffing from his ears. His arms were locked across his chest in some attempt to look tough.

“We just want to understand what you’ve been doing,” Cam said. “Can you walk us through it?”

Happily, I described my foray into unpacking the data, automating some calculations for myself, and how the tools snowballed from there. I explained helping my coworkers automate their tasks too to lessen the workload. Puzzled looks were exchanged all around with the implied question, “this is just one of the temps we brought in, right?” on everyone’s faces. Dick was getting madder and madder. He said nothing.

I explained that the biggest problem ultimately stemmed from my needing to run the scripts manually for everyone, so I got the idea to make it web accessible and said I installed a web server to run things for everyone. That was it. Dick lost his shit. Eyes bulging, ruby-faced he stormed out of the room. We all looked out the door and one by one followed him. He angrily strode down a long row of cubicles to my desk. Grabbing the power cord he yanked it from the wall socket, picked up the beige box, tucked it under his arm, and with spittle flying declared: “THIS COMPUTER IS QUARANTINED!”

Game Over

I never used that machine again, though I occasionally caught a glimpse of it, sitting, un-powered, on a workbench in one of the server rooms; still “quarantined”.

I looked to Rachel. Still caught in the headlights, I saw. “Uhm, do I still have a job,” I inquired? “Only if you’re not lying to us,” she stammered back, clearly exasperated as she turned and walked back to her desk. This was not what she had signed on for.

For the remainder of the week, folks kept their heads down and reverted to manual processes. Productivity took a predictable nose-dive, exacerbated by the kind of morale boost taking away a useful tool would give.

A glimmer of hope

The following week, Angela stopped by my desk and asked if we could chat. She was one of the more reasonable people there. She saw there was value in what I’d done, but also wanted it to be above board. She brought me over to the IT department and introduced me to Kurt, the uninterested developer who’d been in the meeting, explaining that he’d be taking over maintaining the programs going forward, and I’d work with him to get him up to speed.

Dick and the other IT goons glared at me. Whatever, I thought, you’re just pissed because you looked, rightfully, like idiots. This has been going on, on your network, right under your noses, for literally months. Dick had exactly one person to blame for his looking bad, and despite what he thought, it wasn’t me.

I walked Kurt through the code. Explained some of the challenges, and things I had on my informal “road map” going forward. He seemed impressed, but he still didn’t care. He said he’d look at everything and get started on it.

An IT-approved service never materialized.

At this point, the writing was on the wall. The country as a whole was still gaga for lending to those who had no obvious means of repayment, but BigBank knew the end was nigh. We were funding fewer loans and they started releasing temp staff. Volume was still far higher than when I started but we’d hit our high-water mark.

A last hurrah

Frustrated with the lack of progress on IT’s part, I threw caution to the wind and made one last effort to ease our struggles. Assuming that Dick had finally gotten the message that a network administrator should be responsible for their network, I didn’t want to run the public web server any more.

The tools had stabilized so there weren’t new things being added or tweaked regularly. Over a weekend, I put a copy of the code and the web server software onto a CD-R. It was configured to write logs to a temp folder on your hard drive. All you needed to do was pop in the CD, fire up the server, visit your localhost address in your web browser and run the tools.

It took about 5 minutes at end-of-day for everyone to wrap up their contracts. We passed the CD over the cubicle walls, Office Space style. Everything there ran like Office Space, honestly.

I never got canned. When volume got low enough that I was the only temp left in Secondary, they sent me to pasture in the file room. A small conciliation for trying to be helpful, I guess. Easier, more mindless work, but whatever.

There was a permanent troll stationed there. Eric (“Fast Eric” he called himself), an older, born-again, recovered alcoholic who entertained me with tales of youthful indiscretion and his cynical but well-founded views on the world. He was something of a personal prophet to me, but that’s for another story…

Given a chance

Angela actually became my advocate and while they had a department hiring freeze, eventually got me a permanent job working in IT; although on the books I was employed by secondary marketing and paid thus. I made a fraction of what I do now, but I was ecstatic to have finally “made it”.

With fewer mortgages being funded, my old tools were unnecessary and languished. I did a lot of password resets and toner cartridge installs, but I was also given some freedom to improve process. I’d wander around and talk to folks in different departments, figuring out pain points and trying to make things better, all operating under the banner of IT.

I spent about a couple months writing a replacement for a crummy old batch processing and reporting tool BigBank leased for $10,000 a month. Being able to tie my work to actual cost-savings was incredibly satisfying, even if I was just saving money for an ethically dubious institution.

The unwinding

By late 2005 BigBank was looking to get out of mortgages. They knew what was coming, they just had to find a sucker to buy their portfolio, and they did. I was kept on as one of the last staff, helping transition things, my automation skills again coming into play, and I even commanded a small brigade of my own temps to schlep files.

I was laid off with everyone else but given an ample severance package and retention bonus for going down with the ship. I also got a clean bill of health for future references and my sentences in secondary marketing and the file room were commuted; I would go down on record as having always been employed in IT. That too was Angela’s doing.

I did another stint in mortgage when some of the leadership team, including Angela, formed a smaller company. But it was only a matter of time before they had to downsize as the market imploded and I was laid off, yet again. Fool me twice I figured. I never took another job in finance.

I’ve since gone on to have a successful career as a software developer and have worked across a variety of industries. There are of course funny stories all along the way, but I think few as entertaining as my formative years at BigBank running my own Skunk Works.

Epilogue

I recently watched The Big Short with a friend and it was an absolutely mind-boggling thing to see laid out after being part of that fiasco. Much to my friend’s annoyance, I’m sure, I paused the movie to recount anecdotes about the same chicanery I witnessed first hand. The nonsense that was going on was obvious to anyone who paid attention, but as they say: irrational exuberance.

Over the years, there were a number of ridiculous things I saw working in the mortgage biz, but a few stand out:

Sign your life away—

This I always thought was just insane. We had tons of documents that needed to be signed, including important closing documents like the note — the thing the borrower signs that says they’re borrowing $x at y% interest and will repay $z each month for n years. It was crazy how many funded loans would hit my desk that had unsigned promissory notes.

I’d take them back to the funding department to see what the deal was, and more often than not someone would tell me, “ah, just sign it.”

You’ve got to be shitting me, I’d think. It’s a felony to forge signatures in all 50 states, I’m not signing this thing; it needs to go back!

Invariably someone would forge the borrower’s signature. Sure, maybe there’d been multiple printed copies of the note and the signed one didn’t actually get put in the file, but it was absurd the number of times I saw that. There were signature forgeries like it was no big deal. Not a one mine.

We put the mort in mortgage —

By far the most outrageous incident was an already-funded loan with an unclear borrower. An especially thick loan file came across my desk once. It had all sorts of seemingly-contradictory documentation in it. Looking at everything, it superficially appeared like multiple borrowers’ files had been mixed up, but they were all consistent in one regard: they were all for a loan against a specific property.

I got hung up on it because I needed some unambiguous answers to put into the delivery system, and as I paged through the credit reports a strange picture emerged. Credit report after report had been rejected. Applicant: deceased. Over and over, men and women, different ages, all applying for the same loan. Finally, ding! One was alive (or seemed to be at the time) and the loan was approved. This smelled wrong. I took it back to the department that funded it.

“Hey, guys, what sort of interest rate can I get if I’m deceased?”

They looked it over. “Hmmm, we’ll take this,” someone said. I don’t know who in the department rubber-stamped it, but it was obvious there was a smaller lender we worked with that was running a scheme, and it seemed possible that someone on our end was in on it. I didn’t ask, and I can’t prove anything, but it was such an extraordinarily bizarre loan that I wonder how it didn’t otherwise get flagged prior to funding.

Later conversations revealed that this was a potentially more widespread phenomenon across the industry: applying for loans on behalf of dead people. Dead people still have a credit score on record for some time, and if you can get a loan application in before the credit agency has a death record, well hell, you’ve got plenty of lead time before the loan goes into default and the estate catches up with your hi-jinks.

I think more concerning than all of this sketchy activity itself was how blasé everyone was about it all. It was so commonplace to forge a signature that nobody batted an eye. I wonder why the whole thing wound up where it did.

--

--