Yelling at the Foundation ...

8 min read

It’s not something that I’d been trained to handle as a team lead at Epic. OK … laughing now, as there was no formal training for team leads back in the 1990s. We learned by watching, osmosis, and more than a bit of luck. I was wholly unprepared for the day that I was yelled at by another Epic employee. This wasn’t just a “raised voice” type of yelling, but a full volume absolute angered yell.

It all started with someone on my team stopping by to say that there was another Epic employee that had been asking for some support for a problem he’d been encountering with Chronicles. He was on the technical services team for one of the Epic products and was investigating a potential customer issue. The response from the Foundations team member was curt but polite as his question was answerable generally by reading the documentation at the time. Rather than repeating the documentation, he’d asked if he’d checked the documentation.

Note to readers — this was long before the era of “just put it on a wiki” and send a link. The documentation was either authored occasionally in early versions of Microsoft Word, or using the Epic Breeze text editor. Either way, there wasn’t a way to just point at it.

Second note to readers — the Foundations team was responsible for the Chronicles database, global mappings, some release tools and all of the system libraries at the time. In addition, we were building the new Foundations GUI libraries and communication platform (EpicComm).

You can probably guess where this leads and you’d likely not be wrong.

My team member knew his response might not have gone over well given an email exchange that they’d had afterward. Further, the employee then stopped by after I’d talked with my team member. The generally very calm demeanor of my team member had dissolved into a small crisis. He hadn’t intentionally wanted to anger the other employee but was certain he had.

Some weeks support was relatively light with ample time for development projects. This wasn’t one of those weeks though as he was generally very busy with support and the other employee had attempted to jump the line in order to get his question answered immediately. The other employee though was furious and had stormed from our office area extremely driven to “correct” the Foundations team’s mistake (through what means I have no idea other than complaining to his TL and up the chain).

His issue was important to HIS customer.

Realize that Foundations not only had every R&D employee as a customer but also all Epic customers (via their Tech Support reps). Some weeks it was definitely more than a single person could handle on their own. There were at the time around 8 people in total on Foundations and 150+ at Epic total. The support ratio was not in our favor. It was becoming more common that support from one week would spill into the next which meant multiple developers were doing support rather than doing new development.

I don’t remember if I called or walked over to see unhappy employee to see if we couldn’t resolve the issue amicably. I wasn’t going to apologize as we weren’t in the wrong directly. Maybe the messaging hadn’t been delivered in the best way possible for the employee, but that had already happened. No more than 10 minutes afterward I was at the employee’s door. We couldn’t talk there as he shared an office (yep, even back then Epic was constantly running out of office space). I asked if we could find another location to chat and thankfully a nearby conference room was available. It’s so vivid still to me weirdly even 25+ years ago as I know which conference room we were using in the newest wing of the Epic Tokay building, overlooking what was then the glorious (ha ha!) Westgate Mall.

We started talking about what had happened in his voice. I wasn’t looking to blame anyone, but I needed to hear it again and wanted to make sure he had a voice in the conversation rather than me being protective of my team. He angered more as I listened. I explained how the Foundations team did support and that it needed to be triaged. It wasn’t first come first serve and it wasn’t a queue of requests. It was very clear he wanted the best for his customer, but he couldn’t understand why his issue wasn’t the most important. Honestly, I don’t recall what the issue was — I’m confident if it had been urgent, my team would have taken appropriate action. (Epic tends to train ‘firefighter’ mentality more than proactive fire-prevention).

I failed to provide a response or explanation that he wanted to hear. At that point, extremely emotional, he stood up and I could read the anger on his face and unfortunately tears, and he started to raise his voice. I calmly asked that he sit back down so we could talk a little more and — BOOM. His voice raised to maximum volume and he stormed from the conference room yelling a few obscenities and general frustrations at me, at Epic, at the WORLD.

It was surreal. I’ve only been in one other situation that I remember where there was yelling at Epic (and that was two other people). This type of situation didn’t happen at Midwest Nice Epic. But, it was.

I raised my voice to be heard — again, as calmly as I could. I’m certain my adrenaline was pumping and that came through my voice… I wasn’t sure how this was going to play out. I knew I needed to deescalate the situation rapidly. Not only is yelling in the office very unprofessional, my “flight” mode had begun to activate wanting to just leave the situation.

I firmly asked him to return to the conference room so we could talk about solutions (which I’d begun to try to do before he’d left yelling). He turned around and I responded to that gesture by saying I wanted to help him.

Defeated, but willing to try, likely realizing what he’d done, he walked back to the conference room.

During the yelling I’d had a eureka moment that I was about to explain to him to see if he could both get behind the idea and also help drive the idea. My idea solved multiple problems with this one quick trick … OK. Not super quick, but the idea was sound and worked for decades in some form.

With his help, we’d form a group of employees, one from each product team at Epic that would become the first responders to Foundations questions. The employees would essentially be a Tier-3 level support as Foundations experts. When they couldn’t address a question or issue, they would directly contact Foundations. Only that employee (except in emergencies of course!) would be allowed to contact Foundations.

He was very excited about the idea and willing to help even if he wasn’t going to be the representative for his team.

He’d fully regained his composure after we talked it through. He apologized for his unprofessional behavior and left the conference room. I took a moment to contemplate and walked to Carl’s office to discuss what I was planning to do. I think I wasn’t going there to seek approval specifically, rather I wanted encouragement to continue the effort.

I didn’t stop by to see Carl often; he knew my dropping by without an appointment had to be important.

Thankfully he was available and we talked about what had happened and the resolution. The only wrinkle we discussed was picking the right people and whether it would be a rotating duty on teams — but decided we’d let the broader group of TLs work that out.

That was a day.

The new support process for Foundations was just the relief that my team and Epic needed. Rather than having a few experts, we’d distributed the support load and more importantly the responsibility and knowledge across a much larger group of employees. Some larger teams had multiple support representatives helping. Support was more efficient and better targeted. Having someone who knows the product do lower level Foundations’ support was far more efficient than having someone with only shallow knowledge trying to help.

Maybe I’ll post some day about Epic’s internal R&D tool Null Exception which was created to solve a larger problem that was happening more than a decade later.

Please don’t take this as an excuse to yell at me to get results. 😁