Spot the Antipattern
I’m sure you’ve heard your co-workers say, “that’s an anti-pattern”. If you’re a systems thinker or work closely with large scale distributed systems and open source technologies, you’ve most likely said those words yourself. And that is because anti-patterns exist everywhere, just like human error. Spotting anti-patterns in any large scale production system is an art form, but it doesn’t need to be complicated. Applying first principles of system design and common sense, in this talk I will describe a ruleset to guide you in identifying anti patterns in your systems. While spotting deeply ingrained anti-patterns can require deep knowledge and expertise in the specific system, I believe that there is a certain amount of generalization in approach that can take you far and is good enough to get started. The first step to recovery is identification. Taking Reddit’s infrastructure systems that serve hundreds of millions of users as an example, I will talk through anti-patterns that I work with everyday as an infrastructure engineer at the company. I will also talk through the long term impact that anti-patterns can have on your infrastructure systems, some of the cultural conflict that can exist around anti-patterns resolution, and how to address these challenges with grace.
Arushi Jain is a senior engineer at Reddit, where she has worked on a myriad of pivotal internal systems ranging from the monetization server to the push notifications pipelines and data storage layers. Performing in the capacity of an embedded SRE for product teams in need for infrastructure guidance, she gets the opportunity to work on a vast distribution of system design problems that are business critical. Arushi graduated from Stanford University with a Bachelor’s in Computer Science. Arushi is passionate about developer education and empowerment and believes that all product engineers should learn how to think like their local infra support engineer. After all, that just means less work for her!