Friday, February 17, 2017

Cache Killer

Incoming email.

We'd hired a new programmer right out of college. He'd just graduated with a CS degree from one of the "elite" universities.  He was assigned to my team, where he made himself comfortable criticizing the codebase, everyone else's code, and how no one else knew what they were doing.

To be fair, our codebase was ugly. The company had experienced sudden growth over the previous two years and we hadn't made the time to get to a lot of our technical debt. And it wasn't necessary to.  At that time the crap in the codebase has not gotten in the way of making money, and had not fouled the user experience. That came with a lot of "hot" solutions we'd implemented  for features, for example: we had three layers of cache.

It looked like a madman had designed this architecture, but it was due to a constant push to do the minimum required to get product out the door for a panic-charged startup. Now that we weren't a startup, the architecture looks horrible - but it worked.

Mister Know-It-All declared that this was "stupid" and offered to "clean it all up" by deleting two of the three cache layers.  

Everyone on the team freaked out. We told him in very certain terms not to do it - there was a reason for all three caches. We walked him through the history of the codebase, and the product, and the whys, and advised that at this time not to change it. It wasn't worth the time of our group to do work that didn't add to the growing income of the company.

Five people, including our CTO, told him that although we agreed with him that it was ugly, he should not to do it, but if we ever got to changing the cache system, we'd include him in the project. That wasn't enough for the master complainer, who bitched and moaned about how dumb we all were and how he could improve everything in a few hours of work.  He'd done harder problems in Uni.

"No", was the answer.

A day later, every person on every eng team got a series of system alerts on their phones. Response time, database load, queue length, all of it had gone to shit.

To make a the story of a long and horrible night short:  the junior developer had gone ahead and removed two of the three cache layers and deleted the corresponding code; all without looking for code dependencies, API use, you name it.  Slash and burn. And he pushed it to production (we'd had an honor system up until that point -- that changed the day after this debacle).

"I think I fucked up." he said.  We didn't address that, and simply reversed his "work".

When the CTO came around the next day, the first thing out of elite-school-graduate's mouth was "Your systems sucks. We need to rewrite the whole thing, this is insane and stupid."

Clearly we'd mis-hired.  He was let go that day. Not for making a mistake, but for not heeding everyone's rational calls NOT to do it and for fighting with us every step of the way.

It made my life crazy for a few days, repairing things in the aftermath of the screw-up. But the office was calmer and less stressful without someone constantly reminding us how stupid we all were.




Monday, February 13, 2017

The Narcissist

"The Incredible Beard" writes:

With all of this stress coming from [the current WH administration] I thought it was time to share my experiences working for a complete narcissist. It's awful, and if you let them they can destroy your well-being, your happiness, and your overall quality of life.   I imagine that this is what people working in the West Wing are going through right now.

I was an engineer for a startup and we'd found a market, but our growth had stalled. The CEO and board looked for a buyer, and lo and behold, they found one.

The new buyer was owned and operated by a multi-multi-millionaire. I won't share anything more than that other than my strong opinion that he is a destructive narcissist.

The first week after the close of sale, he fired the original CEO.  That's to be expected, in a way, so very few eyebrows were raised.

A week after that, he held a meeting with my startup's remaining C-suite executives and, during the course of conversation, our CFO told him realities he didn't want to here (I'm assuming about our op-ex, income, contracts, etc).  So he fired her on the spot. Sounds like a reality-TV show we all know about, doesn't it?

I worked from my home office, two and a half  hours away from our office. Once a quarter I would take the train in to attend our all-hands, but that was it.  So imagine my reaction when a delivery arrives and it's a letter from the new boss. It was a legal letter, written by his lawyers.  It read like a threatening legal note, and basically said that I was expected to work in the new office (also over 2 hours away but on the other side of the city), arriving ready for work at 7am, starting immediately or suffer termination and possible lawsuit.

I WTF'ed right there, and all of my red flags went flying.  I called my boss, the old CTO, who just told me that he had no idea what was happening, and for me to just show up to work. He sounded dazed, to me.

I figured I'd explain my case and continue to work from home. So I took the family car and drove in to the office.

Waiting for me, in a spare room used for storage, was a tiny desk, and ancient HP computer, and a small and old monitor.  A beaten-up chair was jammed against the desk. It was easily a decade out of date, all of it.

At 7:15, I was told to come to the conference room for the daily meeting with the boss.  Off I go with my new office mates, and I take a chair at the conference table.

All faces went white. "No, no, don't sit down, he doesn't like that, it'll put him in a bad mood. Stand there until he tells you which seat will be yours. That will be your seat at meetings every day from now on."

Seriously?

I stood. Once the boss came into the room, everyone sat down, but me. I stood. waiting for instructions.

The boss sat down, and started his meeting while I stood there.  A half hour later, he introduces me to the team as "the new office programmer", and goes on for another half-hour about about his time working as a programmer for a bank.  I was standing the entire time, silently amused at this farce, and pretty much waiting to see what would happen. Finally, one of the attorneys (one of three on staff) asked the boss, gently, which seat I should take.

The boss assigned a seat for me. Once I sat down, he adjourned the meeting and everyone stood up.

I asked where the coffee machine was.  No coffee machine, they told me, boss feels it's a waste of money since everyone just steals the coffee packets for their home.  Wat? They said they all go out for coffee after the daily meeting, but have to be out no longer than 15 minutes.

It got worse.

The new boss decided to re-do my employment contract. OK, sure, it happens when you get acquired. But what he offered was 60% of my previous pay (which was already under market), unpaid vacation, and other ridiculous things probably not legal in the state I live in.  I was told there was NO negotiation.  And the looks on these people faces was one of fear. If I pissed off the boss, I thought, he must take it out on these people.

I started looking for a new job immediately, but still drove to the office every day until I found a new one, many weeks later.


Other idiocy under the reign of the narcissist:

Everyone was walking on eggshells, all of the time. It's exceedingly stressful. The boss would sometimes walk the office and ask random, crazy questions. "What car do you drive?" "What does your wife do?" "Do you eat Mexican avocado?" and so on.  The wrong answers got you scolded with things like "I pay you too much! That is too nice of a car for you, I must review your salary!", "She needs a new job! Tell her to call my wife, she has positions available." and "You stop eating those, now. I'm not paying for your hospital visit".  That last one still has me scratching my head.

He would call and email at all hours, and expect an immediate answer. I got an email asking about the price of semiconductors from Taiwan. I'm a software programmer and not a hardware manufacturer, so I had no idea and no clue where to look other than a search engine. This didn't go over well.  I got scolded the next day for slacking off, by one of the attorneys. I was expected to leap from bed and write a report on the price of semiconductors from Taiwan.

The computer they gave me didn't work.  He refused to purchase a new one, instead asking me to use the one I was previously using.  I had to remind him that he took that laptop from me and gave it to his son (who was about 12).  I quite literally did not write one line of code while I was there. No one seemed to care, either.

One day, the office staff (about six of us) went to lunch at around 1:30pm.  As we walked out, the boss was walking in and saw us all leaving. He'd been at a lunch meeting with a prospective customer. "What do you mean you're going to lunch? You just HAD lunch! Get back in there and get to work!" and other things about getting fired, being lazy, and how he did us all a big favor by employing us at all.   See, because HE had just had lunch, he KNEW that we all had just had lunch as well. The rule being: if he's not around the office to make sure we're working, we all slack off and do nothing. And when he eats, so does everyone else.

One day, in our morning meeting, he made us wait in silence for twenty minutes, waiting for him. His office was next to the conference room, so he could hear conversation had it occurred.  When he finally graced us with his magnificence, he opened with "You've gotten fat", pointing to me.  I'm a large man, but in fact I'd been healthy living at by that time had been losing weight. The boss lectured us on how he expected us all to join health clubs and lose weight, starting immediately. On our own time and dime, of course. He expounded on the virtues of working out, healthy living, and living within our means. For an hour.

Why? Office gossip (of which there was a great deal) was that his yearly physical didn't go very well. So we got smacked for it.

One day, his assistant approached me, "Who'd you vote for last election?" What? They can't ask me that! I declined politely, saying it was personal, and they persisted.  Later, one of the attorneys took me for a cup of coffee. "Look, if you voted for Gore, just say you voted for Bush.  Clinton is the antichrist around here, and he'll terminate your employment if he knows you're a Democrat."  This was the lawyer, telling me the boss would do something illegal if I didn't respond correctly to an illegal to ask (in our state) question!

For weeks, I was "the fat lazy guy". We had "the skinny idiot", "Fat Mabel" who was neither fat nor named Mabel, and "Idiot CFO".

He popped into my office one day. "You drink too much beer. Stop that or I have to fire you. No alcoholics!". He walked out.  WTF? I hadn't had a beer in months by that time, and no one in the office had ever seen me have one (because I hadn't!). I'm reasonably sure that "Diet Coke" doesn't spell "Beer".

One day, the CFO delivered the quarterly report. It wasn't as positive as expected.  The boss fired the CTO on the spot.  Two weeks later the boss rehired the CTO, and the CTO delivered a report that fit the boss' expectations. Basically, a fiction.

My stress levels were through the roof, but I finally landed a sweet software engineering position with a company that paid me to move to a new state.  I resigned from the house of madness as soon as the ink was dry on the new employment contract, and resigned in writing to the attorneys.

They were sympathetic, and took me out for a cup of coffee. "It's too bad you're leaving", they said, "you're a very smart guy and we could use you. We're doing great things this year, and making millions of dollars in profit. We think this is a dumb move for you, and you're going to miss out, but we understand it's your decision to make, and we all make foolish choices from time to time. Best of luck to you!".  They were very pleasant, for sure, but this was blood-boiling to hear.  I would not see a dime of this alleged profit, and they knew it. I'd had no profit-share, no bonus, no options, no stock;  no nothing but 60% of my previous salary and no paid vacation.  If anything, I expected to be told any day now "You're too fat! I'm cutting you salary so you don't buy so much food and drink too much beer!"

I ran like hell. It took weeks for me to adjust to a normal environment where everyone was cool, no one was stressed out and walking on eggshells. Where I could talk to people who didn't have a dozen side-agendas. Where I could get a cup of coffee, could go to lunch if I wanted to, and where asking for the right equipment to do my job wasn't looked at as if I was trying to steal from the company coffers.