FSQ Faces / Behind the Tech: Welcome, Mark Rafn!

Mark Rafn joins the Foursquare team as a Distinguished Engineer.

Mark Rafn

Meet Mark Rafn, who joins the Foursquare team today as a Distinguished Engineer. With decades of experience in software development — including over 16 years at Amazon — Mark brings deep expertise and enthusiasm to our growing bench of top engineering talent. In his new role, Mark will help Foursquare build and perfect our products to help businesses take advantage of the many diverse use cases for location data.

Read our Q&A with Mark below to learn more about his career and vision for the maximizing location’s full potential.

Tell us about your background and career path.
I started in computers and software before the internet existed, programming 6502 assembler and hanging out on BBSs and Usenet via a 300 baud modem. After dropping out of school, I spent about a decade building PC compatibles, writing crazy COBOL add-ons, building early e-commerce websites, and doing a few other duct-tape-and-bailing-wire projects. I then joined Crossgain and started my transition to scalable software development. Later, I became one of the lead devs for a Java IDE, and our Javadoc annotation/code-generation mechanism became the basis of JSR175 and annotation support in java.

Rather than joining Oracle when they acquired BEA, I went to Amazon in 2005. I was the lead software development engineer for the start of Fulfillment by Amazon, updating Amazon’s inventory, fulfillment, and third-party seller systems to allow sellers to use Amazon’s warehouses and order delivery systems in the same way Amazon does. After that, I moved to Cambridge, UK, to work with an acquisition that did open-domain question answering, which became the core of Alexa’s knowledge features. When I was back in Seattle, I worked on AWS IoT, connecting hundreds of millions of devices, doing enrichment and data pipelines for very high TPS, and research & trials with different camera types and video handling for Amazon Go. Throughout my career, I was involved in recruiting and interviewing and spent 2+ years building assessment and data handling systems to support improved candidate experience and higher-precision assessments and job matching for literally millions of hires.

How will you apply these skills to your work at Foursquare/with location technology?
I don’t have a single technology I would call my area of expertise. I have good instincts and specific mechanisms for handling large amounts of variant data and tend to focus on variations and exceptions more than the sheer volume. At Foursquare, I want to build data sourcing, handling, and delivery products to scalably handle the long tail of location data and very diverse uses of such data.

You describe yourself as a Gentlemen Hacker. What do you mean by that?
It’s a play on the concept of a Gentleman farmer and the old-school definition of hacker culture. While I consider myself a professional, my primary motivation is curiosity and the joy of understanding things well enough to make them work better (or work at all, sometimes).

As an engineer, you’ve experienced firsthand how new technologies can be created to solve some of the greatest challenges facing businesses and society today. What are some areas/challenges that you see as ripe for innovation, and what might that innovation look like?
Social change is slower than technology change—we had a big shock with COVID before absorbing the always-on connectivity of smartphones or the information explosion that started in the 90s. I suspect that the next decade will be more about the refinement, consolidation, and expansion of these changes rather than new innovations.

The exception may be AI/deep modeling—as this goes from incredibly difficult and expensive to a normal part of the technical landscape, we’re going to find thousands of uses that aren’t at all clear from where we sit now.

The pandemic has increased businesses’ need for data and to quickly adopt more advanced technologies. How has this impacted engineering teams?
The trend toward data-oriented business behaviors and decision-making has accelerated in the last decade. The pandemic shook things up for engineering teams, especially those deeply based on in-person knowledge transfer and social cohesion. Technology is there to support some of it, but it’s also spurred a move toward more structured and written knowledge about engineering decisions and activities.

What are the greatest opportunities for impact/innovation you see for location data and technology?
Seeing opportunities is easy, but prioritizing what is the ‘greatest’ or even ‘worth pursuing now’ requires more knowledge of customers and current implementations than I have yet. My early intuition is that ubiquity is one direction we should be very strongly pushing—we can make location data so cheap and easy that it’s the background to almost everything people do.

Have you worked with location data or technology before? What was that experience like? Any key learnings that you’re taking into your role at Foursquare?
I did some work on being able to efficiently store and calculate location and distance data for questions like ‘how far was Abraham Lincon’s birthplace to the Battle of Bull Run”. I also worked with location data and location-enrichment data device messages in AWS IoT.

What do you consider to be the key metrics for success when it comes to developing a new product or improving an existing one? What is a metric that you think is too often overlooked?
The incontrovertible answer is the present value of future cash flows—even though that’s the single base success metric for any commercial product, it’s not very useful for daily (or yearly) decision making. Metrics of volume, latency, customer sentiment and depth of backlog are necessary to determine what to build next. One commonly overlooked measurement is team agility since it indicates how quickly the product is improving in each dimension (availability, cost, features, usability).

What do you think are the most important skills for an engineer to develop/maintain to have a thriving career?
(Soft and/or technical skills)
It will be different for each human—there is an infinite variety of ways to thrive, and each career is unique. Following your curiosity and studying the topics that seem useful gets you most of what you need. Some will benefit from going deeper than they might naturally do, and others will do very well with more pragmatic learning. Doing both is ideal, but there’s only so much time.

I don’t know of any great shortcuts to soft skills, so I generally recommend a similar approach as technical learning. Start with empathy and curiosity:why does this person or group seem to behave in this way? What are they thinking/feeling that I don’t fully understand, and how can I improve our interactions to enhance understanding?

What’s the best advice you’ve ever received?
Seek positive impact before recognition. How can you make the world better? Every so often, though, figure out whether you need to modify anything for the recognition to track your impact.