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.  



Thursday, January 26, 2017

The Wrong Department

I had an interview at a company located out in the suburbs. It was a huge, modern single-story building on a very beautiful campus. Huge green lawns, walkways, and a fountain. Really beautiful.

I was in my best suit and tie, very professional, and introduced myself to the receptionist in the lobby. I told her I was meeting Mrs. Smith [not a real name -ed] in the I.T. department.

I sat and waited.  And waited. And waited. Well past my interview meeting scheduled time.

Just as I was about to check with the receptionist again, a man walked in to get me. He wasn't wearing a suit, and looked like he was the building engineer.

I remember he said, "A little overdressed, aren't you?" and I thought he was being sarcastic, so I chuckled at the comment.

I should have known better.  After a very long walk across the whole building, we get to his office. It's a desk sitting in a huge garage that smelled pleasantly of fresh-cut grass and gasoline. Turns out he was the building engineer!  He was expecting to interview a candidate that day for his department as well.

Once we worked it out, he took me back to the main lobby.

The receptionist told me "You said you were here for 'facilities'."  I didn't argue, or point out that the fellow I'd just met had a different name than the one I'd given when I arrived.  She finally called the right person over in I.T.

When I did get to the I.T. department, they chided me for being late to an interview. I did explain that I had arrived early but was sent to the wrong department. They didn't believe it, figuring I'd screwed up somewhere and not them.

The ended up offering me a position, but I turned it down. I got a bad feeling from their blame-game at the interview.

Well, 'facilities', 'I.T.', say them both a few times and a lawnmower starts to look like a laptop I guess....

Wednesday, January 25, 2017

More Mistaken Identity

Here's another case of mistaken identity at a large company...

I'd taken a job as a programmer right out of school. It was a huge manufacturing company with big government contracts and tens of thousands of employees across the country.  I was assigned to a group responsible for analyzing certain kinds of data and creating one-off reports whenever someone demanded one.

I started on the same day as another programmer, and our cubes were adjacent. We worked in a downtown skyscraper.

The manager of this group was a young VP who'd just graduated with an Ivy League MBA. He was the type to stand by the front door on our floor with a watch, noting who came in at 8:01am and making snide comments.

Pleasant guy.

He also could never remember anyone's name.

My day consisted of sitting in my cube, programming all day, eating lunch at my desk, and waiting for the clock to hit 6pm so I could get home.

The programmer next to me, the one who started on the same day, had the habit of wandering around and socializing, and hitting on the VP's admin/receptionist. I heard later that she didn't like this very much, and said so - a few times.

She must have escalated this to the VP, because a few weeks in, one morning at 8:30am, my manager came to my cube and told me the VP wanted to see me.

I had no idea what was going on, and wasn't nervous. I figured it was just a new-employee-chat sort of thing.

I got to the VP's corner office, and a security guard closed the door.  The VP was playing with a baseball, his feet up on his desk, and told me that I was being let go.

I was stunned. I asked why.

He told me it was for hitting on his administrative assistant, for wandering around and not doing my work, and for repeatedly making a pain of myself.

I was shocked! I told him it wasn't me, it couldn't have been. It didn't matter. He told me to get out, the guard would walk with me while I collected my things, and that was it. They would mail my last check to me.

I was young, and intimidated, and had no idea what to do, so I left. I think my heart was pounding for a week.

A week goes by, and out of the blue I got a phone call from my former manager (not the VP). He asks me when I am coming back to work, and why I didn't call him to say I was out sick.

What!?

I told him that the whole story.

Dead. Silence. Then he told me he would get back to me. But in the meantime, could I tell him where my programming work was, and in what state?

I waited a moment to think of what to say.  Finally, I said,

No.

I got a new job a few months later at a great company.


Tuesday, January 24, 2017

Long Distance Calls

I was two days into a contract with a huge insurance company (you've seen their ads on television over and over) in their huge corporate complex. I was brought in to replace the previous mainframe programmer who'd left a few days before. It was a simple job: write various reports for upper management in their legacy COBOL system and in a more recent custom-report-writing package.

They put me in a cube, and this was back in the day when every desk had a phone on it. Touch 9 for an outside line, including long-distance calls. This is also back in the day when long distance calls were sometimes relatively expensive and shown as line-items on the monthly bill. In other words, it was the '90s.

Toward the end of my second day revising COBOL programs, the manager of our group abruptly and heatedly called me into his office.

He closed the door after me. "Sit down!", he said, with angry voice and angry body language. He slapped some paper onto the desk, and it looked like the narrow sheaf of a phone bill. "What the hell is this?"

He leaned on the edge of his desk, looking down at me.  Now I'm thinking yellow-alert. What was he talking about? I told him I didn't know.

He picked up the bill, "1234, that your [phone] extension?"

I shrugged, "I think so".   He handed me the bill and said, "What the hell is this?", he pointed to the large number summing up long-distance-call charges. It was an alarmingly large value. "I'm paying you to get work done, not to sit on the phone! We're taking this off of your bill.  If it happens again, your ass is out of here." He proceeded to rip me a new one, left and right, up and down.

Red alert! Clearly this guy didn't know who worked for him, or when. When I could finally get a word in, I explained that it was my second day on the job, and that the dates on the bill were for a range that ended over a week ago, etc.

"But that's your extension isn't it!", he demanded. Well, yes... I probably looked clueless, but by this point, whatever. "So how is that possible? Magic fairies? Your extension, your bill. Don't let it happen again."

I suggested that the calls were made by the person who sat in that cube prior to my arrival, most likely the programmer I'd replaced yesterday.  There was no way I made the calls; I had been in New Jersey working at another of my firm's customers, and so on and so on.

The kicker? The previous programmer's name was on the bill as a reference. There, in plain sight, at the top of the page header.

The guy actually blinked at me a few times, and finally admitted that he hadn't thought of that.

In my memory, we stared at each other for a minute before he kicked me out of his office. In reality, he told me to get the f- out, and to stay off of the phone.

You know. The phone I hadn't been using. 

Sent by old-school mainframer. Edited by me.