5 Questions with Eric Burke
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
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.