About

My name is Alex Graham, and I enjoy crafting good maintainable software. I'm presently working at AWS in the Analytics organization.

Outside developing software, I enjoy spending time with my family and dog, reading, working out, and watching football.

Bio

After graduating from college in 2009 with an Econ degree, I took a job working as a file clerk at a large corporate law firm in Seattle. Along the way I learned how to write simple scripts to automate tedious tasks around e-Discovery (renaming files, cleaning up metadata). Scripting became my favorite part of the job. So I decided to switch careers. I took a yearlong graduate certification course at the University of Washington, and followed that up with a job at Amazon as a systems engineer.

After two years making internal operational tools, I transitioned to an SDE role. I worked at Mechanical Turk for five years.

Fun Fact

MTurk was one of the original AWS services -- it was launched four months before S3, which means it is technically the first AWS product! But not the most well known...

For the last two years I have been working in the Analytics org, with a focus on building performance tools for the Spark performance team. Why tools? After I joined the team, I picked up Systems Performance by Brandan Gregg as a reference. At least 50% of this 800-page tome is dedicated to showing you how use various tools to evaluate metrics to find performance bottlenecks in your system. This taught me a key lesson: tools are critical to good performance engineering. This goes beyond benchmark timings -- if you don't have good insights into how different components impact the performance of your system (cpu, memory, disk, network, design), then it's going to be difficult to make any improvements. Attempting to optimize would be like flying a windowless airplane without instruments.