As part of my spring semester coursework at Harvard earlier this year, I attended a guest lecture for CS171 by Tableau's Jock Mackinlay.* He demonstrated the Tableau product to our class and showed how it can be applied to massive datasets in an effective and intuitive manner. It immediately became clear to me that Tableau is not only useful for putting together a visualization to gain insight into a dataset, but also for exploring that dataset in a dynamic, “drag-and-drop” interface which, in the end, can lead to conclusions far more valuable than the initial visualization.
There are countless data analysis tools that do not provide anything close to this level of friendly user interaction, and, having wrestled with many of them before, I left the lecture with a heightened interest in Tableau as a product and a company. In a matter of hours, I had applied for a summer internship and, after a steady stream of interviews and a couple of months, found myself in Tableau’s Seattle office on the verge of a fantastic experience.
A typical summer internship at any other company might consist of “boondoggle” work, without an end goal or even a purpose other than to occupy the intern with some sort of activity of questionable benefit. At Tableau, this could not be further from the reality. As a “Software Engineer Intern” at Tableau, the only significant detail that differentiates myself from a full-time employee is a pre-defined end-date to my employment: a limitation determined by my continuing coursework in the fall. Aside from that, Tableau interns work a typical 40 hour week, where the start and end times are flexible so long as they are reasonable. We are held to the same expectations as other employees. We are not given work for the sake of work; rather, all work we complete goes directly into future releases of the product. We sit in on interviews and provide input regarding the hiring process. And we attend meetings, where like everyone else, our opinions are valued. At Tableau, it does not matter whether an idea comes from a particular department, a full-time employee, or an intern. Where an idea comes from is completely irrelevant: a great idea is a great idea no matter the source.
A common saying I heard in my first few weeks with Tableau is that, given the sheer amount of information one must absorb, it is much like “drinking from a firehose”. Of course, the main difference here is that any “water” you miss on the first pass cycles around and right back to you for a second, third, or further number of passes until the information truly takes hold.
Through my work this summer at Tableau, I was provided great freedom in the specific aspects of my daily coding as well as excellent general, overarching guidance. The team I worked with provided support as I implemented a feature to augment the functionality of filters in the desktop product. Today, in Tableau 7, a filter can be applied locally (that is, to a specific worksheet) or globally (to every worksheet in a workbook), but there is no quick and simple way to apply a filter of interest to a subset of sheets. In using Tableau in my visualization course at Harvard, this was a barrier I quickly discovered as a user of the software, so I found it quite fitting to be responsible for the implementation of said feature a few months later! In fact, I am not the only one who sees the value in this new filter functionality, as it is at the time of writing the number one item on the Tableau ideas page. The fact I am working on implementing this highly-demanded feature reveals two key things about Tableau: (1) that Tableau listens to its customers and values their input, and (2) that interns here are indeed doing real work on future releases of the product.
My internship with Tableau has provided me with real-world experience in software engineering - something far more valuable than anything that can be learned in a classroom. Not only has my internship supplemented my education with great work experience, Tableau has been great fun these last few months. There are company-wide gatherings every six months, company parties with a band made up entirely of Tableau employees, the company picnic, and an open house for prospective customers and applicants. I have also enjoyed that it is a rare occurrence to walk into the kitchen without observing a fierce foosball match! I believe it is this relaxed work atmosphere combined with the freedom to do great things that allows Tableau's employees to feel enthusiastic and energized about what they do. As my internship winds down, I find myself extremely grateful for the opportunity I have had to work with such brilliant, interesting people, and hope that I will be able to contribute to Tableau in the future.
*To learn more about Tableau's Academic Programs, visit us at: tableausoftware.com/academic.