A Historical Look at Collaboration in Tech
---
Author: Donald Morton
Date: February 6, 2022
---
When I was hired on to Walmart as a programmer in 2004, we had these brown
phones. There was no caller ID. In a global company, when that phone rings, you
don't know what fresh hell has come knocking on your door. It could be from
someone in an area you'd never heard of with a complex problem in an app your
team owns that you didn't even know you were responsible for. You learn to
figure things out fast.
```
@%@@@@@@@@@@@@@@@@@@@@@@@@@%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
%%@@@@@@@%@@@@@@@@@@%@@@@@@%@@@@@@@@@@@@@@@@@@@@@@@@@@@@%@@@%@@@%%@@%%@@%@@@%@@@
%%@@@@@@@@@@@@@@@@@@@@@@@@@%@@@@@@@@@@@%%%%#####%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@%%@@@@%##+****++++++++++**%@@@@@@@@@%@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%#*=-::-------------:..=%@@@@%@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@%%%#*++=---::..::::..:::--::::*@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@#*++++=====----:::::.. .::*+.::+@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@%=========--::::::... ::-=::-*@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@%%*+======--:::.:::......... .:..::-+####%@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@%#+=====---:::::. .:::...............:::-:::-*%@@@%@@@@@@@@@@@@@@
@@@@@@@@@@@@@%*====----:::::::. .:::....::......:::::::::::-+%@@@@@@@@@@@@@@@@
@@@@@@@@@@@@%=.::-::::::::..:. .:::::----:..:::::::---:::::::+%@@@@@@@@@@@@@@
@@@@@@@@@@@%+::::...-*=::::.. .:.----:::::::::::=--++-::::::::+%@@@@%@@@%%@@
@@@@@@@@@@@#=:-=:...:+#+::::.....:-::--::.::::::-=--++=---==-:::::::+%@@@@@@@@@@
@@@@@@@@@@%*=---:..:::++-::::.:--:. .:::::::::::-+*=---====+=-::::::::+%@@@@@@@@
@@@@@@@@@@%---::..::---==-::. .=: .::::::::::::---=+==+=---=+=::::::.:+%@@@@@@
@@@@@@@@@@*:---:..:::----:... .--. .:::::::::::::::-=++---=*+==+--::::::::+%@@@@
@@@@@@@@@%=:-----::.:---:::....--...:::::::::::::::::--=++==+----++-:::::::-*%@@
@@@@@@@@@%*::--::::::::::::::::::....::::::::::::::::::-==----+*=-===-:::::.:#@@
@@@@@@@@@@%=:--:::::::::::::::::::....::::::::::::::::::::-=*=-==+#%%*-::.:=+#@@
@@@@@@@@@@%*:=*==-::::::--::...:::........:::::::::::::::::-===*%@%*=::::=+++#@@
@@@@@@@@@@@%=:=+*%*+=-::::-+...................::::::::::::::+%%#=-:.:-=+++++%@@
@@@@@@@@@@@@#::==#@@%+---===:....................:::::::::::::--:.::-=+++++++%@@
@@@@@@@@@@@@@+-:-=%#=--:+#*+-::::::::::::..........:::::::::::.::-=====++++*#%@@
@@@@@@@@@@@@@%=:------=*#@@%#*+--:::::::::::::::..::::::::::::-=========++#%@@@@
@@@@@@@@@@@@@@*::---=*%@@@@@@@%%#*=-::::::::::::::::::::::--===========+#%@@@@@@
@@@@@@@@@@@%#+:.::--#@@@@@@@@@@@@@%%#+=-::::::::::::::::::==========+*#%@@@@@@@@
@@@@@@@@@%*=:::.:::-=%@@@@@@@@@@@@@@@@%#*+=-:::::::::::::-========+#%@@@%@@@@@@@
@@@@@@@%#=:::--:::::-*@@@@@@@@@@@@@@@@@@@@%#*+=-:::::::::-=====+*#%@@@@@@@@@@@@@
@@@@@@%+::--=#%+-::::-%@@@@@@@@@@@@@@@@@@@@@@@%#*+=-:::::--==*#%@@@@@@@@@@@@@@@@
@@@@@%=-:--#@@@%*+:::-*@@@@@@@@@@@@@@@@@@@@@@@@@@@%%*+=-=+*#%@@@@@@@@@@@@@@@@@@@
@@@@@*-:-:*@@@@@%*-::-+@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%@@@@@@@@@@@@@@@@@@@@@@@
@@@@@#::::=#%%%#+-:::-#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@%+:.:::---::.-:=#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%@@@%@@@@@%%%%%%%@%%
@@@@@@%#=::-.:-:==+#%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%%%%%%%%%%%%#%#%#%%
@@@@@@@@@%##**##%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%%%%%%%%%%%%%%%%%%%
```
I grew up in the 80's with BBS's, and in the 90's with IRC. I always wanted
persistent chat at work. But in the 2000's, computer chat was seen as something
you do in your free time on AOL. When I would suggest we use it at work, I would
be told no, that people would think we were using it to goof off.
One year, I met Joshua Rowell. He had a secret way of getting chat channels at
Walmart. At a large company, you can't just install whatever you want on your
PC. It's tightly controlled with an approval process. There must be a valid
business justification. He found out that the program Exceed, which was used for
managing X Window sessions, also had a little-known chat feature. We started
using it to collaborate with our co-workers.
I remember one day, I watched his manager walk by his cubicle, and Josh had the
Exceed chat open. He minimized it as quickly as he could so as not to be caught.
The manager asked, "Hey, what was that? It looked like some kind of chat
program." "Oh nothing! It was nothing!"
I still think about that interaction. The idea that you'd have to hide
interacting with co-workers seems a little crazy today. But back then, it was
seen as the equivalent of playing video games on your work PC.
As the years rolled on and perceptions changed, we eventually got Microsoft
Communicator. It wasn't persistent chat, but it did give us the ability to IM
people. For someone like me, who grew up online, it was a game changer. I loved
it, and I used the hell out of it. My networks of people I knew grew
exponentially.
Many, many years later, there was a time when the California people had Slack,
and the Bentonville people didn't. Bentonville people only had IMs. I asked
several times if our area could get licenses for Slack. I was told it was too
expensive for the very large number of people we had. I looked into it, and they
were right. It was obscenely expensive.
I worked on Walmart's Build Tools team at the time. Our stated mission was to
provide tools for developers to improve their lives. Another developer and I,
Louis Page, decided, you know what? If they won't pay for Slack, we'll just set
something up ourselves.
This was right about the time Docker was starting to gain popularity. So, I
logged into one of the many VMs we secretly hoarded (instead of decommissioning
like we were supposed to), and ran `docker pull rocket.chat`. It was an open
source persistent chat solution. Louis and I set it up with a load balancer,
added an FQDN into DNS, set up backups, and started spreading it around via IMs.
We were in a unique position in the company. Most of the developers in the
company would IM us every day to help fix various build issues. We had reach.
Rocket Chat started gaining popularity fast. I watched teams move in, make their
own channel, and say to each other, "This is what we will use for collaboration
moving forward." I was actually pretty surprised how fast it took off and how
large the userbase grew.
Docker was a great solution for this. Very easy to set up. The high load of
Walmart's IT division made Rocket Chat start crashing all the time. It was a bug
with Docker's virtual file system. Louis figured out you can make Docker restart
a container if it crashed. Problem solved. No one ever noticed it restarting
every 10 minutes.
It sort of wasn't cool for us to do this. There was already a Communication
Tools team who had this responsibility, and it's actually super uncool to go
behind their backs like this. But we had a great manager who would defend us,
and we had just enough plausible deniability from our being a Developer Tools
team that we got away with it.
So, for some period of time, I don't remember how long, Rocket Chat enjoyed
great popularity. Eventually, after many meetings between managers, it was
agreed that Bentonville IT would get Slack and we would need to decommission
Rocket Chat. We won. Now the whole division had Slack.
I like to think it changed the way the division communicated and collaborated.
Now, I can't imagine working somewhere without persistent chat. It would just be
archaic. How would I have worked in a remote position for the past two years
without these wonderful tools?
Although complaining about the poor state of things can be cathartic, it is more
fun to fix things and make them better. And you don't always have to follow the
rules to do so. I would encourage people to not get stuck under the weight of
procedures and past expectations. Try new things! You might end up making things
better.