Towards the end of my second month at the job, on a Monday, Deepika asked me to talk to her in a video chat about new responsibilities. She scheduled this for 1 PM, but she also scheduled a meeting about dealing with all of the errors that had been appearing in Playwright (part of our automated testing system) which made it difficult to deploy new code. She did not show up for the meeting with me so I switched over to the meeting about Playwright. She did not show up for that meeting either. She rescheduled the Playwright meeting for the next day, but the next day she failed to show up for it. The same the next day, she scheduled the meeting but did not show up for it.
Our pattern became: everyone logs in to the meeting via video. We then wait 5 minutes. If Deepika does not appear during those 5 minutes, we all drop out of the meeting.
We finally had the meeting about Playwright on Friday.
I don't know if this is unique to Deepika or if it is common in Indian companies, but Deepika frequently schedules two meetings for the same moment. It is possible that she thinks this is an efficient way to keep her schedule full, because if one meeting needs to be canceled, then she can always go to her secondary meeting. She did this every day, for the whole time I worked at DevModeMax.
I would argue that this represents an inefficient use of time for those people who show up to the secondary meeting that is then canceled. But it does allow Deepika to remain busy. (I am aware this is a common practice with top executives at very large firms, but I’d never before seen this done on a tech team.)
Deepika and I finally spoke the next Monday.
Deepika: Lawrence, we need you to become an expert on their server setup. Their devops. You know how to do that, right?
Lawrence: I've handled devops before, I'm sure I could step into the role. But it is a role, yes? It's a full time job.
Deepika: Yes, and you can do it?
Lawrence: I can do it, but weren't there other things you wanted me to do?
Deepika: What do you mean?
Lawrence: I mean, the devops is a full time role, so if I do that then I won't have time to do much else, yes? I can train software developers at DevModeMax or I can handle the devops, but I can’t do both.
Deepika: For now, just learn about it. Talk to Mack. Learn what he does. We will figure out your schedule later.
Lawrence: Okay, no problem.
So I setup a meeting with Mack.
[A warning: Mack used a lot of profanity, and I've faithfully recreated that here.]
We chatted via video.
Lawrence: Hi Mack. It's good to finally meet you.
Mack: Hey, Lawrence, it is good to meet you. I've heard a lot of good things about you.
Lawrence: Likewise, I've heard a lot of good things about you.
Mack: That cannot possibly be true.
Lawrence (laughing): No, no, seriously. Well, okay, I was warned that you were "colorful."
Mack: That's probably because I fucking swear a lot.
Lawrence: Since you bring it up, I'm curious if the leadership ever gets on your case? Do you do that in big meetings?
Mack: Like, would I fucking care? Like, seriously? Do you think I care what these fucking dipshits think about me? I'm ready to get the fuck out of here.
Lawrence: Why is that?
Mack: Because they fired all of my friends! Because I used to love working here and now I hate it! Because these assholes came in and destroyed the best team I ever worked with! I was ready to quit last August! You think I want to be working for this gang of psychopaths?
Lawrence: Why didn't you quit last August?
Mack: Because they offered me this crazy bonus if I stayed an extra year. I mean like, "pay off the whole mortgage on the insanely huge house we bought" kind of bonus. So my wife told me I had to do it. So I asked myself, okay, how much would it suck getting divorced? A lot? Would it really, really suck getting divorced? Yes? Okay, I guess that means I have to do what the wife is telling me to do, so I’m stuck here till August, but I am counting the days. I am counting the hours. Pretty soon I'm going to start counting the minutes. When my contract is up, I am fucking out of here.
Lawrence: Yeah, look, if I loved working somewhere, and I was working with a great team, and someone comes in and fires 80% of the team, I'd be pretty angry too. I figured they had to be offering you a lot to stay.
Mack: 4 more months. I’m gone. And I'm not the only one.
Lawrence: All 5 of you? You're all going to quit?
Mack: I won't say who else. All I'm going to say is that I'm not the only one.
Lawrence: Well, I totally understand. It's a difficult situation. It seems like you had a good crew. For my part, I'm trying to be optimistic. I'd like to think I can help rescue the situation.
Mack: You can't. You should quit today. Trust me man, you will not turn this ship around. All of the important decisions are being made in Atlanta. Whatever you do, it's not going to matter.
Lawrence: That's the weirdest part of this, that all of the decisions get made in Atlanta. You'd think the leadership would want your input about the tech.
Mack: They don't give a shit what we think.
Lawrence: But then where do they get their information about this software system? They can't be getting any good advice from DevModeMax?
Mack: Jesus Fucking Christ on a crutch, whatever DevModeMax tells them, they should do the opposite. DevModeMax is at a level of suck I didn't even know existed. I mean, if you get a brain-damaged beaver, and you have it fuck a brain-damaged rabbit, and they give birth to a double-brain-damaged mutant hybrid, and then you over-work it so it is sleep-deprived, and you tell it you want really shitty code, that sleep-deprived double-brain-damaged mutant hybrid would still give you better code than the shit we are getting from DevModeMax right now. I almost feel bad for their software developers, because that place is a total sweatshop. But I also hate them for getting my friends fired.
Lawrence: It is a strange situation. I was hired to help train the engineers at DevModeMax, but I admit it seems like a tall order.
Mack: You should quit. You should quit today. In fact, you should quit right now. Just turn off your computer and walk away. Don't bother telling DevModeMax, I'll them for you.
Lawrence (laughing): Thank you for that generous offer. But I'm keeping a positive attitude about this.
Mack: That's your first mistake.
Lawrence (laughing): A positive attitude?
Mack: Seriously, you "positive attitude" people are fucking stupid. Everything sucks. The sooner you realize that the sooner you can change your life for the better.
Lawrence: How many years have you worked here?
Mack: Seven.
Lawrence: Don't you wish you could see this through?
Mack: Through to what?
Lawrence: Till DevModeMax actually does a good job, or till the leadership realizes it is hopeless and fires DevModeMax?
Mack: Fuck no. Are you stupid? DevModeMax will never be good and the leadership will never admit they made a mistake.
Lawrence: You might be right. It's a shame. Everything I've seen so far suggests quality software development. You made a few mistakes, but mostly, you've built a beautiful system, one of the best I've ever seen.
Mack: I mean, yeah, the system is mostly good. We're a bunch of geniuses. Especially Emory. I mean, fuck that guy is smart. Fucking hell. But yeah, we mostly did good work. Not that anyone at AndersonRiskAssessment cares. Or even understands what this is. That's why they want to do a complete re-write.
Lawrence: What are you talking about?
Mack: Arwin. The CTO. He's building a new team, down there in Atlanta. He hired a top tier UX guy to think about the UX. And he hired a new Enterprise Software Architect. Someone fancy. To re-imagine the whole thing. Arwin's building up his own little team of tech bros, who think they are going to rebuild what we built.
Lawrence: This software represents years and years of effort.
Mack (sarcastic): Really? Is that true?
Lawrence: I mean, I know you know that. I'm just surprised Arwin doesn't know that. Rebuilding this software from scratch would take years. And most of the time, at other companies I’ve worked at, when they've tried to do a complete re-write, the effort has been a disaster.
Mack: Well, buddy, welcome to the next disaster. The bright side, because I know you love the bright side, because you're one of those stupid "positive attitude" people, the bright side is that they will never finish a re-write, so this system here is in fact the system they will still be using, even 10 years from now.
Lawrence: Well, why don't you walk me through it? We can start with the stuff that goes wrong and then work backwards to the stuff that works right. There are recurring errors, such as quotes that don't get processed and so they are left in RabbitMQ. Do you want to walk me through that?
Mack: Why the fuck not? Let's talk about it.
So then he walked me through the system, showing me how the usual quote was processed, and why some occasional quotes got left in RabbitMQ. He speculated about what would be necessary to fix the problem permanently. I took a ton of notes, which I eventually put into an email that I sent to Deepika. I'm not sure what she did with it.
Read the whole series:
1. But what do these glib little bullet points mean?
2. When the CTO does not trust their own team
3. Everyone is under pressure, everyone is too busy to help
4. They lie. They lie flagrantly. They lie all of the time, about everything.
5. That place is a total sweatshop!
7. I am very, very proud of you. The work you are doing is amazing.
8. I blame you. You suck. You are the problem.
9. We just got $10,000 dollars!!!!
10. The Taj Mahal was built with blood
12. Where are my story points, Gujurat?
13. We are the best people to help him, so why doesn't he want our help?
14. Should a toilet be listed as an amenity?
15. I am simply telling you how things work in India
16. Too big to fail: when you've no option but to brazen it out