5 Questions with Eric Burke
An exciting interview with Square Android Engineer Eric Burke.
Written by Katie.
To kick off our new Corner series “5 Questions With…” I sat down with Android Developer Eric Burke to learn more about what gets him out of bed every morning.
What brought you to Square?
About ten years ago I was working at a St. Louis based consulting company. As luck would have it, I interviewed Bob Lee. As he likes to tell it, I was a terrible interviewer, asking obscure questions about the Servlets and the WEB-INF directory. Bob eventually got the job. Later, he moved on to Google while I continued consulting in St. Louis. In early 2010 he returned to St. Louis and recruited me as Square’s second Android engineer.
What have you worked on that you’re most proud of?
In the early days of Square we shared a swipe decoding library across iOS and Android. As the number of Android devices started to increase we found it difficult to adapt our existing algorithms quickly. As an experiment, I decided to write a completely new swipe decoding library for our Android application.
I have no background in signal processing and I’m no math expert, so I approached magnetic stripe decoding as a software engineering problem rather than as a signal processing problem. As a first step, I wrote a visualization tool called Workbench that shows the audio processing pipeline. I then captured a series of audio recordings so I could replay card swipes in a series of automated tests.
Here is my guilty confession: I started this project in secret. During the first week or two I had no idea if I could pull it off. I remember seeing dramatic improvements during the 2010 Google I/O conference. I was so excited by the project that I spent most of the conference hacking on signal processing rather than attending sessions.
That’s when my clandestine work turned into a real project, shipping in Square Card Reader for Android several weeks later. To this day, when you swipe a credit card on an Android device, much of my original signal processing code is responsible for decoding magnetic stripe data into card numbers.
What is your favorite thing to do outside of work?
Grilling! I also love home improvement projects, though I’m a renter these days so that hobby is temporarily on hold. My most ambitious project was a deck with a curved railing. I built an enormous trammel arm (look it up) and used my router to cut 2x6 cedar into curved pieces to laminate into the curved railing.
What is something you recently learned on the job?
We’ve been working hard to bring the latest Android features to our applications, even when running on older devices. So despite working on Android for over two years, I’m still learning new UI tricks on a daily basis.
Sometimes you learn things in unexpected ways. We do coding interviews at Square and a candidate recently used a Trie to implement an algorithm. This sparked my curiosity so I built a search index using a Trie. The data structure ended up being vastly too large to fit into memory on a phone so I ended up learning about Directed Acyclic Word Graphs (DAWGs).
What do you think is the greatest technological advancement of your lifetime?
It’s a tie between the Intel 4004 and Pong. The Intel 4004 was released the year I was born. According to Wikipedia, it was the first complete CPU on one chip and the first commercially available microprocessor. Pong, invented one year later, was the world’s first video game. You decide.