Tales From The Git Keeper: Ain’t No Rest For The Overworked

When we are navigating through life, we often hear about the importance of boundaries. Boundaries come in different forms: ownership, intimacy, and work/life balance. Here is one of several cases where my work/life boundaries were crossed in the course of my employment.

Background

I was on a team as a sort of floating engineer working on some architectural designs rather than specific features or operations. My manager requested my help on an urgent project for 2 weeks and assured me it would bump me up the list for promotion, something I’d been working toward for the past 6 months. The catch was having to put aside some of the architecture work but I thought it would be a nice addition to my highlight reel.

In another part of my life, a close friend was going to be married 3 weeks from the day I was asked to help on this project. I had accepted the invitation and booked my flights several months prior as well as sending out the usual out of office calendar notices.

Incident

They didn’t warn me that I’d be working with someone who didn’t know the system. Instead of 2 weeks, it was 2 weeks of me working and 1 week of me undoing the mistakes of my coworker. As the deadline neared, I had increasingly detailed documentation of the remaining work and release plan so someone else could pick it up. I lived under the assumption that work would bend to my vacation plans, not the other way around. Until this conversation:

Project Manager: Hey, so is this going to be done by tomorrow?

Me: That’s not up to me. I have all the changes lined up and the validation scripts ready but I can’t make anything else go faster.

Project Manager: And you’re going on vacation?

Me: Yes…

Project Manager: Too bad we can’t cancel that, huh?

Me: No, my friend is getting married so it’s immovable.

Project Manager: Ah… well, let’s see what happens tomorrow.

My manager had been coaching me on not being so angry at work (gee, I wonder why that kept happening) and I knew if I indicated any emotional response to this, I’d be getting a stern talking to (this manager was a jerk). So, on the outside I just vaguely smiled and went back to work but on the inside I was calling this shithead all kinds of names and preparing to quit if they tried to make me stay.

I did go on my vacation and I did meet my deadline.

Aftermath

You might want to know what happened to the project, the promotion, and the project manager. Here’re the answers:

  • The project manager was fired for incompetence.
  • When I returned from vacation, the project was delayed and didn’t need me to work like crazy, under threat of losing vacation beforehand.
  • 4 months later my manager informed me that my work to this project “didn’t count” towards my promotion. He remains a jerk to this day, or so I’ve heard.
  • The walking incident of a coworker had been ejected from the team. It turns out he wasn’t only ignorant of the system but of how to do anything.
  • The only part of the project that worked without completely destroying all other integration points was the piece I implemented. It’s not because I’m a superstar developer. It’s because the team was all new randomly hired people except for me and one other guy. They had no chance.
  • My documentation was passed along and worshiped as the only documentation for the entire project that described how to validate anything.

What Did I Learn

  • Shit rolls downhill: Despite my intense irritation with the project manager, I saw he was under a lot of strain to get this project done. He was being asked to make a lot of personal sacrifices to make this thing happen. So when he implied that I would need to make sacrifices too, I wasn’t surprised but I didn’t think he’d cross that line.
  • Never trust your manager when his ass is on the line: Until the sudden foray into the project, I didn’t know anything about it. After getting back from vacation, I gained more context on what was happening. Apparently, there was this political battle between two directors and one of them was mine, trying to make a point about the effectiveness of his team. I got pulled in, not because it would benefit my career, but because it would benefit his.
  • The real deadline is when everyone else is ready: I had accepted the deadline given to me because I didn’t know anything about the project when I was enlisted. What I found out later showed me there wasn’t a snowball’s chance in hell that any other team was going to be ready by the deadline. The fact that my work made my team ready was just an excuse for the asshat director to throw shit on other teams. It didn’t matter that I did the work, did it well, and did it on time.
  • A pattern emerges: Now that I had a history of Hail Mary passes, guess who came knocking at my non-existent, open-space door at the next crisis? That’s right, asshat director. So I started saying ‘no’. And then I changed teams. And then I quit the company. Sometimes my old coworkers tell me he says he’ll hire me back anytime. I hope he’s not holding his breath.

Tales from the Git Keeper: Christmas is Canceled

This is a tale about how I had to work through Christmas as a result of mostly bad luck.

20180925_100433.jpg

Background

I was working at a large tech company on a new product that had been available less than a year. Since this was the first Christmas for this product, the company wasn’t sure what to expect for demand or cost of failure. I was working on this product for almost 2 years. There were 3 other people on my team. The most senior member was out for parental leave, the next was out on vacation, and the last had been on the team for 2 months out of college. To be clear, I was on my own for the first Christmas period of a reportedly hot, new product. What makes matters even worse is how the product generated scale. People could buy the product any time but it only generated traffic when it was registered to a new user. We could not predict when this would happen. We suspected it would happen for several million customers between 6 am and 3 pm on Christmas day in my timezone. This was projected to bring in triple to dectuple our existing load.

Week Before Christmas

The above circumstances should be a sign that risk needs to be mitigated. Unfortunately for me, this didn’t go quite as well as it could have. Why:

  1. The range of projected traffic was several orders of magnitude wide. This means we could have gotten 10 requests per second or 1000. That was the best estimates.
  2. When running scaling tests, we could generate a specific number of requests but no way of understanding what data should be in the requests. Should it be 10 requests with 10 different customers or 10 with the same customer? It turns out that made a massive scaling difference to my services.
  3. The company created tier-1 SWAT teams to resolve issues across the product before paging the product specific engineers. These people had generic sets of instructions for common problems. What this didn’t include was how to manage scaling for the database we were using. As it turns out, the prescribed action was exactly the opposite of what should have been done.
  4. Finally, the company actually had no idea of the impact of failure. We just assumed all failure was bad.

On a personal note, I decided to schedule going to a friend’s house just for the Christmas dinner. I was away from family and thought I’d be able to spare 3 hours for dinner when I was assured nothing should go wrong. I even though it would be an uneventful Christmas where I could relax, eat, and be happy. I was wrong.

Day of Christmas

7 am: Paged awake and told to get on a conference call immediately.

NOTE: Once in a conference call or chat, you need to be constantly available and are asked for updates every 5 min regardless of how boring, tense, or upsetting it is.

7:10 am: I join a chat room with my manager, my skip manager, the SWAT team engineer, the SWAT team engineer’s manager, and my director. That’s right: 2 engineers and 4 managers.

7:30 am: Figured out the problem. For those who are technical, we had an SQL database with a limited number of connections and all connections were timing out due to long running queries. This means that all requests were taking really long and failing. This is one of the reasons why people don’t like using SQL in large scale systems. The only way to recover from this is to stop traffic to the SQL database until the connection pool is no longer thrashing and then gradually increase traffic until you start seeing connection timeouts again. Reduce traffic and keep it throttled to just before connection timeouts start. Normally, you should determine this rate of traffic before a massive event so you don’t have to do it on the fly.

7:35 am: I go to the chat window to explain my findings.

Chat with Manager, Skip Manager, Director, SWAT Engineer, SWAT Manager

Me: Hey, I found the issue.

SWAT Eng: Yes, me too. I’m scaling up the service.

Me: NO DONT

Me: DO NOT SCALE UP

Me: It will make it worse!

SWAT Eng: I can’t cancel the scale request. But what’s wrong? It’s running out of connections. That means we should scale up.

Me: No, the database is running out of connections, not the hosts. Scaling up the hosts is effectively DDOSing the database. You need to scale down.

Skip Manager: Can you explain why?

Me: I can but later. We need to scale down.

Director: Just scale down.

7:40 am: Finally take my face of my dining room table where it slammed after seeing them scale up. I next described what was happening to the service and how to recover. The SWAT engineer and manager left the room since I was now on point to handle this.

8 am – 1 pm: Repeatedly scaling down and up to find the safest traffic level. Each scaling action took 30 min and an additional 10 min of monitoring. All throughout I needed to give detailed reports to the managers in the room.

1 pm: We reached a stable state where services were running at maximum capacity but they still couldn’t keep up with load. Skip Manager correctly identified a possibility of improving database performance to increase throughput. He started taking a snapshot of the database to make a read replica. A week later, that snapshot still hadn’t completed.

3 pm: I hit the point of emotional breakdown after not eating, washing, sleeping, and realizing I couldn’t go to Christmas dinner. I may have curled up in a ball and cried for a few minutes.

3:15 pm: Me and the managers worked on identifying database optimization and attempting them. We finally gave up after realizing we couldn’t make any changes to a live database due to resource contention.

4 pm: Inhaled some instant ramen. This was the first food that day.

6 pm to 7 pm: Casual chatting about our favorite old video games and movies while waiting for SQL EXPLAIN and long running query analysis.

7 pm – 8 pm: We admit that we cannot scale further and no amount of SQL work can be done without a read replica. Additionally, I started making another snapshot in hopes that we could get two working at different times to minimize data loss.

8 pm – 8:30 pm: Excuse myself for 30 min to shower.

8:30 pm to 9 pm: We connect with other teams to determine impact to customer. Turns out, there was none. No one noticed or cared. Good to know I worked a 16 hour day under high stress for no reason.

9 pm to 11 pm: We created lists of items to monitor, action items for after the Christmas traffic, data we needed for recover, and how to communicate to partner teams what the outage was. We agreed to come back online tomorrow morning at 7 am to see how the snapshots were going and to check on the issue.

Day After Christmas (AKA Boxing Day)

7 am: Get up and run to my computer so I’m not paged for being late for check-in.

7:05 am – 8 am: Confirming that nothing has changed, no one cares that we have crashed and burned, and the database replicas are not done yet.

8 am – 9 am: Discussion with managers what to do now.

9 am: Repeating previous attempts to improve indexes on the database and search for slow queries now that the traffic has decreased. Also collect data for the reports to be filed during the next business day.

12 pm: We throw in the towel and decide to re-baseline the entire system when we get in to work after the holidays.

Christmas “Gifts”

Much like Ebenezer, I also learned a few things through this Christmas trauma:

  • Being on call sucks. Before this I was okay with being woken up at 2 am once in a while or working a few hours on weekends. No more.
  • Being a manager sucks. My managers shielded me from the verbal impaling going on in the manager level meetings but I heard about it.
  • I learned where my breaking point was in terms of working on something stressful for an extended period of time. Then I kept working past it. Don’t do that.
  • After this, I told people to f*ck right off if they couldn’t prove their problem was causing financial loss. No way am I going to waste my personal time on something that doesn’t matter again.
  • There is a large community of sleep-deprived, beer drinking engineers commiserating over this and similar experiences all the time. Be nice to them.
  • When a big operational event is planned, have a backup so the primary can shower, eat, and cry in a corner if they need to.
  • While it didn’t erase the trauma, trading my Christmas and half day of work for another week of paid time off was something I asked for and enjoyed taking.

Two years later…

Me: I quit.

Manager: Left the organization. Still at the company.

Skip Manager: Quit.

Director: Left the organization. Still at the company.

SWAT Engineer: Quit.

SWAT Manager: Left the organization. Still at the company.

The Service That Failed: Deleted. It was rewritten 1 year later.

No one involved in this incident stayed on the product longer than 2 years after the event. Not even the service lasted.

Tales from the Git Keeper: It’s My Party and I Can Uninvite You If I Want To

choose-the-high-road-my-dearshit-rolls-downhill-c2146
via https://www.someecards.com/

Background

I had told my manager and his manager (my skip manager*) that I was quitting. I gave them a date and they told me to sit tight while they hash out the details with HR. I gave them a date 1 month out and described the work I intended to complete during that time. I was anxiously awaiting their verdict. I got the impression they might require that I leave immediately, which would incur a significant financial penalty to me due to the terms of the work contract.

Meanwhile, the team brain trust (my skip manager and a senior engineer) had been planning an all day team offsite to craft our road map (i.e. be told what we should do). This was to build hype for our technical challenges and build team cohesion. Also, there would be free lunch.

Timeline: I told my managers I was leaving on Friday. The team offsite was on the following Tuesday. We were asked for our lunch selection on the previous Wednesday.

Conversation 1: Direct Manager

Timeline: Monday, the day of nail-biting anxiety over whether I’d be asked to leave immediately

Manager: We had the discussion with Skip Manager and HR.

Me: And…?

Manager: Well, you can leave whenever you want and you will keep getting paid until next month. You won’t have to pay back the $X for breaking the contract.

Me: That’s amazing! I didn’t even realize that was an option.

Manager: I was surprised to. About the offsite though: I think Skip Manager is going to talk to you and encourage you not to go.

Me: I guess that’s his decision but why? Wouldn’t that be unsettling to the rest of the team?

Manager: Well, he says it’s to give you an extra day off since you won’t be involved in it but it might be because he doesn’t want your interference. He’s very concerned about any morale impact it might have on the team.

Me: Okay… so, what is he going to tell the team? And wouldn’t be suddenly not being there be more of a morale impact?

Manager: We’re not going to tell the team you are leaving until next week so I don’t know what he’ll tell them.

Me: Overall this is good though that offsite thing is weird. Thank you for your help.

That went really well for the quitting part. I personally felt I would be able to help the junior engineers on my team with brainstorming during the offsite but it’s not my circus anymore. Still, Skip Manager’s choice seemed more morale damaging than having me there.

Conversation 2: Skip Manager

Timeline: Later Monday

Skip Manager: As you know, we’ve discussed your departure.

Me: Yes, Manager mentioned that.

Skip Manager: Glad to hear that. Anyway, about the offsite: why don’t you take that day off? It’s not going to be relevant for you after all.

Me: If you think that’s best. I would be happy to contribute my experience from past work or not if you’d prefer.

Skip Manager: Great, so what will you tell the team why you aren’t going?

Me: Um… I could say I’m sick?

Skip Manager: No, I don’t want you to lie.

Me: Er… okay… I have to go see the doctor and since I will have the time I can bump my appointment up.

Skip Manger: Great, go with that. Bye.

Recap: Skip Manager gives me less than 24 hours to come up with a reason why I suddenly can’t come to work tomorrow that isn’t a lie because he decided I shouldn’t go to his stupid planning party. Oh, and make sure it doesn’t give away that you’re leaving. And who’s going to eat my BLTA?

Conversation 3: The White Lie

Timeline: Tuesday, day of The Offsite

Dear Team,

I just found out that there’s an opening at my podiatrist’s office tomorrow and I’ve been waiting a few weeks to see him. Since it’s midday and may take a while to do x-rays, I will have to miss the offsite. Have fun and I look forward to the great ideas coming out of it!

Alacritical

This wasn’t a complete lie since I did have to go to the podiatrist to get fitted for some foot related problem. They weren’t sure if they’d need to x-ray. It didn’t have to be Tuesday though. It also took 30 min. Still not a complete lie.

Conversation 4: Human Resources Lady

Timeline: The Friday after The Offsite

Me: Thank you for all your help with negotiating me leaving the company!

HR Lady: No problem, I was happy to help… by the way, how did the conversation go with your managers?

Me: Well, Manager was pretty clear about it and made sure I had some choice in when I left. I wanted to stay a bit to make sure I didn’t leave anyone with garbage to deal with.

HR Lady: Yes, he mentioned he expected that from you. What about Skip Mansger?

Me: Manager gave me a heads up but Skip Manager asked me not to go to a team offsite, which is fine, but I really didn’t like that he asked me to make up a reason the day before why I couldn’t go.

HR Lady: *tsk*, I told him I recommended he not do that. He asked you to come up with the reason? *shakes head*

Me: He also asked me not to lie and I managed to come up with something reasonably truthful but I didn’t like cleaning up his mess. Still, if that’s the worst of it, I’m happy with how this turned out.

HR Lady: I’m glad it worked out and feel free to reach out if you need anything.

Even HR thinks Skip Manager is a little crazy. That makes 3 of us (HR, Manager, and myself). By the way, I gave the HR Lady a gift basket to show my appreciation. I like to reinforce good behavior.

Things I didn’t do that were suggested:

  • Instead of making up a white lie, tell my coworkers that I’m leaving and Skip Manager banned me from the offsite
  • Send the “can’t make it” email but attend anyway
  • Refuse to not attend

Since I had been generously offered pay without having to work, I considered being the scapegoat for Skip Manager’s convenience a fair trade-off.

What did I learn from this?

  • Managers don’t have to listen to HR and HR gets irritated about that too
  • Sometimes managers can’t find a good rationalization so they make you do it
  • I will never know who got my BLTA

*A skip manager refers to your managers manager. Also known as: senior manager, grandfather manager

Title reference

Tales from the Git Keeper: No Professional Growth for You

This is a post about wanting to grow as an engineer and having my management block me from doing so.

I frequently go to tech events for networking, learning, or some mix and I’m an active member in several online tech communities as well. I came across a tech event that was being advertised in several of my groups and it turned out that it was in the same city I worked. I had just started at the company I was working at a few months before and hadn’t yet encountered conferences as part of developer growth. I was about to find out what the organization I was in thought of that.

Firstly, I thought I should make sure the content of the conference was relevant to my company in an effort to convince them to sponsor my attendance or at least let me take that day as a work day and not a vacation day. I collected the following data about my organization and company goals:

  • My company at the time had an company Town Hall describing how moving to “the cloud” (AWS in this case) was going to help them go global.
  • My organization at the time was working on reducing the overhead of devops in their service maintenance and was looking into solutions for implementing Continuous Integration and Continuous Deployment
  • The organization needs to maintain both their on-premises datacenter and new AWS clusters at the same time.
  • The organization wants to move to building a platform instead of a product.

The bold words are meant to prepare you for the next segment of my proposal.

Second, I tried to relate the content of the talk to the organization goals. These are some of the titles of the talks scheduled at the conference:

  •  What does it take to build an enterprise SaaS product?
  • I may need hybrid cloud, but where do I start?
  • DevOps in an immutable world
  • Serverless and Containers: a Match Made in the Cloud
  • Building a Notification System at Scale
  • From Infra Ops to Platform Development: T-Mobile’s Approach to Cloud
  • Does your SaaS automate enough?
  • Not Your Mother’s Cloud: Best Practices for Enterprise Hybrid Cloud – from On-prem, Cloud, Containers, and Beyond

I’ve highlighted some terms in case it wasn’t clear that just the titles of the talks directly related to what my organization was advertising to be it’s goals. If you had, for some reason, built a heuristic function to rank conferences on how relevant to your organization they were based on your organizational goals, I thought this conference would rank pretty highly.

Thirdly, I tried to quantify the cost of this so I could be transparent to the company what I was asking for. Here’s what I got:

  • Cost at the time: $345 for a single ticket
  • Duration: 1 day
  • Location: Across the street kitty-corner to my office building (I could see the conference building from my desk if I chose to stand up)

As a finishing touch, I noted that my company was listed as one of the Gold Sponsors of the event. That’s right. I was asking to attend a nearby event at relatively low cost to learn about technology related to the goals of my organization that was sponsored by my company. Let’s see how that went.

[Instant Messaging]

Me to direct manager (DM): Hi DM, I’m really interested in this tech conference that’s across the street from us and sponsored by us. You can find the info here at http://www.notareallink.com. Do you think I’d be able to either get funding to go or be able to go without taking time off work?

DM: That looks great! I think we should try to send more people to that conference and even I want to go. It looks really relevant and it’s right nextdoor. I will talk to our director to see how funding for conferences work.

That went really well. I didn’t have to negotiate or bargain at all. Unfortunately, my direct manager, DM, at the time had only started 2 weeks after me and was optimistic that such a prominent tech company would of course sponsor sending its employees to go to a conference they themselves are funding. Sadly for both of us, he was wrong.

[A week later]

DM: I brought up the conference thing at our manager strategy meeting.

Me: How did that go?

DM: Well… I tried asking about it and then our director said it wasn’t important so we’d talk about it at the next meeting.

Me: I see… well, I bought my tickets because early bird pricing was only on until 2 days ago.

DM: That’s okay, at the very least our Sr Manager said we can’t fund it but we can look the other way if you go on your own.

Me:… I’ll do that.

Okay, so that wasn’t the best news but there’s still hope that they might reimburse my tickets and possibly send a few other people, right?

[Another week later]

DM: So, I asked about the conference again…

Me: Ah… that sounds like it didn’t go well.

DM: Well, I was a little surprised by the response. The director said we would need to make a case for its relevance and we’d consider sending people but we’d have limited budget.

Me: Does he know we’re sponsoring this?

DM: He didn’t seem to care.

Me: Awesome.

While both my manager and I remained confused at the lack of investment my organization had in its developers, I carried on and made sure to give ample notice to my managers and teammates that I would be out all day for one Wednesday to go to the tech conference next door. Tickets sponsored by myself.

I thought that was it. Sure, it was disappointing that the company wasn’t supportive of professional development but at least I would be able to go and not lose a vacation day. A week before the event, I overheard a manager say we were doing a mandatory all day off-site the following week. Knowing I had sent out my notice of my absence a month before, I was sure it wouldn’t conflict with my plan to go to the conference. Just in case, I sent a reminder to my managers:

[Email]

Me: Dear Managers, The agenda for the conference is up and can be found here: http://www.notarealsite.com. Some of the topics are fairly relevant to our organization, particularly those about migration from on-premises to cloud and hybrid cloud. If there is a talk that you’d like me to attend, please let me know and I will try to make it.

Skip Manager (SM): That conference conflicts with our all day off-site that I was planning to schedule tomorrow. Do you really have to go to this conference or can you go to another one?

Me: Given that this one is very close (across the street), only one day long where others on this topic are typically 3 days long, and I’ve already paid for it, yes, I will have to insist on going.

[Time Passes]

SM: I’ve rescheduled the off-site to the day after. The talk on hybrid architecture sounds good to me.

Not only was it a bit of a struggle to get people to tolerate my going to a job relevant conference, they also try to stop me from going because in favor of plans that don’t really exist yet. So much for the CEO’s proclamation that the company “attracts and develops top tech talent”.

I ended up going to the conference and enjoyed it greatly. I wrote up notes and made sure to send them out to my teammates and managers. No one cared. I didn’t go for them though so that’s fine by me. As for the offsite, it was rescheduled and delayed two more times before they eventually decided I no longer needed to attend. I’m glad they had all that hammered out before they asked me to cancel my conference attendance.

Tales from the Git Keeper: Don’t ask questions; just get in

This post is just a story about a terrible manager.

I was working at a large tech company and had been there for several years. I was the expert in the area I was in across 4 different teams due to my tenure. I had just been assigned to a new manager who wanted to enforce his new rule.

At this point in my career I was losing patience with the repeated broken promises of management, the flood of incompetent hires as part of the resource tripling recruiting campaign, and the dilution of expertise that left me in charge of any problem that was too hard for anyone else to solve. As a result, I was pretty irritable. This new boss decided he’d put me back in line by isolating me from my peers and being the only point of contact I had.

Very frequently this type of conversation occurred via instant messaging:

Boss: Are you free?

Me: Yes [Internally: Uh oh]

Boss: Come to room 203. Don’t speak; just listen.

*Boss immediately logs off*

Here are the options I considered:

  1. Don’t go.
  2. Go and don’t speak.
  3. Go and speak anyway.
  4. Immediately quit.

If I went with 1, the following would happen:

*Boss walks up to my desk*

Boss: Why didn’t you come to the meeting?

Me: I was paged and had to prevent the loss of several million dollars to the company so I couldn’t go.

Boss: This was a really important meeting I wanted you to be at. Next time ask someone else to do the investigation.

*Boss walks away without waiting for a response*

I hated working for this guy.

If I went with 2, this following would happen:

Nothing. Yep. He just wanted me to be there for no particular reason apparently.

If I went with 3, the following would happen:

*Meeting concludes*

Boss: I told you not to ask questions. You need to really focus on listening to others.

*Immediately walks away without waiting for acknowledgement of this statement.*

I really hated working with this guy.

I eventually ended up leaving his team. I never got the chance to explain to him why this behavior was bad because he never let me speak. He was very surprised when I told him I was leaving and was confused that it was so unexpected. Maybe he needs to focus on listening to other people more.

You might be wondering what the deal was with this. I can explain.

This manager had a grand plan for everything and played a long game. Often in order to create the outcome he wanted, he’d plan out a multi-month or year long campaign to manipulate entire organization into a particular position. In a lot of the cases when I was asked to be in a meeting without an explanation it was one of two reasons:

  • The manager needed an engineer to be present who was known to be competent in order to scare the other managers into less bullsh*tting. In these cases I would often be called upon to confirm a specific technical detail in a misleading concept to force another manager to agree to take on work or admit responsibility for something. Over time this would lead to transferal of ownership of entire services.
  • The manager was parading me in front of the senior management or engineers to advertise my broad level of influence. This was part of my boss’ plan to make his organization look really technically strong and to buy as many promotions from other teams as possible. He looks good when he promotes engineers to senior positions and in exchange he’ll play the same game with other managers.

Did that actually work? I mean, he looks really capable to his superiors when he takes on projects saying that the other team was incompetent and promises greatness with his growing army of senior and principal engineers. On the other hand, he was known as a bully among other managers and a cancer to any project he took on by other engineering groups. He refused to allow you to defend yourself or your team in meetings and he overloaded his engineering teams with so much inherited work that nothing ever got done… unless it would get you promoted and contribute to his army of highly skilled workers. Oh, and by the way, his promotions were a lot of behind closed door deals with other managers so they weren’t always qualified.

Why did people work for him? If you were one of his chosen few that were to be promoted, he would fiercely prevent anyone from distracting you from your promotion projects and only put you on things that would gain you notoriety and promotion points. If you were a career climber, this was the manager for you. I actually like doing a good job and helping others when help is needed so he and I did not get along very well.

I’m sure there are many things you can take from this. I’ll give you this one: there can be methods to the madness of the most inconsiderate dictatorial managers if you’re willing to sit and listen to what others are saying.

54b65fdd37b62
Random from the internet: http://www.funtube.gr/eikones-dont-ask-questions-just-get-in/

Tales from the Git Keeper: This is Racist but…

This series of posts are descriptions of my experiences working in tech that I hope will help you learn or at least help me commiserate with the world.

It was the first week on a new job and I was still learning the ropes. I was flooded with new information, new people, and new rules. By the time I got to the end of the week, I was getting to the end of my rope. Near the end of Friday, my manager asked me to log my hours. I have never had to log my hours. I overreacted and said I refused to do it. It was against my values. I was being paid a salary. Doesn’t the company value me?

I later apologized to my manager and began writing a script to automate logging my hours. However, that wasn’t the end of it because my overreaction was overheard. One of my more seasoned coworkers pulled me aside into a conference room and gave me a talking to. It went along the lines of this:

Coworker (CW): I overheard you talking to our manager about logging time sheets. I agree it’s a really dumb thing but you know they don’t even look at the numbers. Just log the time sheets and don’t cause trouble. I know it’s hard adjusting. If you keep your head down and just observe for a few months it will get better.

Me: Hold on, our CEO just said we’re investing in becoming a top tech company. Shouldn’t we be investing more in automating away these types of things?

CW: I know what you’re saying. This may sound a little racist but what do you expect from an organization run by a Jew?

Me: … I see?

Hold. The. Phone. WHAT?! What do you even do in that situation?

I chose not to immediately react because I really didn’t know this person or the company that well. The next week though, I did reach out to HR and describe this circumstance to them. They told me to talk to my manager:

Me: Hey Manager, I wanted to talk to you about a concerning interaction with a teammate?

Manager (MG): Alright.

Me: I was talking to him about how I felt we could be doing more to invest in the technical advancement of the company and then he said [quote from above].

MG: Woah… that can’t be right. You must have misunderstood him.

Me: No, I definitely didn’t misunderstand him. He introduced that with “this may sound a little racist”. He definitely knew what he was saying.

MG: Well, what do you want me to do about it?

That didn’t go as I thought it would. A manager that immediately calls you a liar and then passes the buck on to you? Needless to say, he lost a lot of my trust that day. It’s okay though, HR had my back and coached me on how to confront my coworker directly. So, the following week, I came up with some random excuse to talk to the coworker in private about what he had said:

Me: Hey CW, there was something I wanted to talk to you about that worried me a little. You said this thing a while ago and I know you meant it as a casual comment but it could easily be taken offensively in the workplace.

CW: What are you talking about?

Me: Well, it was [this date] and you made an anti-Semitic comment when we were talking about time sheets.

CW: Oh, now I remember. Wait… you’re not Jewish are you? You don’t look Jewish because if I thought you were I wouldn’t have said it.

Me: No, I’m not Jewish.

CW: Good, good…

Me: Anyway, I understood what you meant to convey but if you had said something like that in a group it wouldn’t have been very good.

CW: Ah, I see what you are saying. Thank you for letting me know. Honestly, in my home country these things aren’t considered offensive so it slipped my mind. You know, my mother calls black people n***** all the time.

Me: … of course we have our own cultural idiosyncrasies.

CW: I’m glad you told me and I hope you let me know if I do anything else like that.

Overall that went pretty well. He accepted responsibility and we built a strange racism watch relationship. On the other hand, I will never be his friend and didn’t want to interact with him any more than I had to. I reported back to HR on how this went. They were not happy that he was clearly aware and not only that, he even went on digging himself into his racist little hole.

The outcome: HR asked if I’d like to proceed with a formal investigation. I declined because I didn’t want to upset the team balance. HR asked if I’d be okay with an investigation after I left the company. I agreed to that. I don’t know what happened beyond that. It didn’t come up again.

What I learned:

  • If you stay calm and plan out your approach, you can get a non-confrontational outcome in a sensitive situation
  • Contacting both HR and your manager is a good call since your manager may not be on your side
  • Even if a company claims diversity and inclusions as their values, it might be a work in progress

Why the title: https://en.wikipedia.org/wiki/Tales_from_the_Cryptkeeper