Editor's note: This is a guest post from Rikki Endsley.
In this exclusive interview, iOS developer Mattt Thompson opens up about the moment when he realized he'd become a programmer, why he dropped his computer science classes, and what he does AFK.
Had Mattt Thompson followed in his parents' footsteps, he'd be a musician now instead of a well-known iOS developer working as the Mobile Lead at Heroku. Matthew “Mattt” Thomas Thompson was born and raised in the suburbs of Pittsburgh, Pennsylvania, by parents who are both musicians, play in the symphony, and teach music. Whereas his sister took to music growing up, Mattt kept going back to his computer. He says he couldn't help it. “I'd spend hours in Photoshop and GoLive, learning all of the tricks to making websites. These were the days before CSS, when <table>
,<font>
, and spacer.gif were state of the art.” Back then, he pictured himself as a designer, which is what he did for the web design company he and a developer friend started while still in high school.
“Do a quick Google search, and you'll find that Matt Thompson is an extremely common name,” Mattt says. When he decided to get his own URL, Mattt wasn't surprised to discover that mattthompson.com was already registered, so the path of least resistance seemed clear—just add another “t”. Thus, Matt became Mattt and the owner of matttthompson.com.
“Weird as it is, the extra 't' has become a convenient low-pass filter for people getting in touch about some opportunity or another,” Mattt says. “It's like my own personal brown M&M rider, to see if people are paying attention. I didn't intend this at first, but it's remarkable how consistently it works.”
Along Came Ruby
“I spent the Summer of 2005 poring through a Ruby book that I bought randomly at a bookstore liquidation,” Mattt says. And that's when his interest shifted from design to programming. By the time Mattt started his freshman year in the Carnegie Mellon Computer Science department, he was staying up late into the night focusing on his new interest. He even remembers the moment when he realized he had become a programmer, and there was nothing standing in the way of him making whatever he wanted. “All of those apps and games that I had always wanted to make were now plausible,” he recalls.
Much of Mattt's early work was writing courseware, making apps for school projects, and hacking weekend projects. Although he enjoyed programming outside of class, doing it for class was different.
“Computer Science classes never caught my passion like this, so I decided to drop out of the program, pursuing undergraduate degrees in Philosophy, Linguistics, and Art,” Mattt explains. “I firmly believe that those disciplines specifically, and a liberal arts education in general, provide an intellectual rigor for understanding problems on a fundamental level—something that CS alone can't begin to approach.”
With a background in the web and Ruby communities, Mattt thinks programming is as much a profession as it is a passion, so developing open source software made sense. “When you make something cool, you should show it off and share it with others,” he says. “The first thing I made that got any attention was Chroma-Hash, a JavaScript visualization of password strength. That rush of hitting the top of Hacker News and attracting attention on Twitter was addictive, and it's been a contributing factor ever since.”
Attention is great, but that's not what keeps Mattt involved with open source. “What really keeps me active in the community is the opportunity to make things that make the lives of others better, no matter how niche the audience or marginal the improvement,” he says. “Code costs nothing to share, creates good will, and contributes to the gift economy. What's not to like?”
From Gowalla to Heroku
After college, Mattt worked as a Rails developer for iKnow, a Tokyo startup, which is where he got into iOS development. As his chops in iOS programming improved, his interest in another iPhone app, Gowalla, grew, which inspired him to cold call Gowalla co-founder and CTO Scott Raymond. Mattt joined Gowalla as an iOS developer in 2010. Facebook acquired Gowalla in late 2011.
“When it came time to look around for my next step, I asked myself: 'Which company is solving the most interesting problems?'” Mattt says. Heroku, which was acquired by Salesforce in 2010, had just announced the launch of its Cedar stack. Mattt thought the new launch put the company years ahead of anyone else in terms of understanding and executing the potential of cloud application platforms. “As a long-time customer myself, I had fallen in love with their design aesthetic and pragmatic approach to development, as articulated in co-founder Adam Wiggins' Twelve-Factor App manifesto,” Mattt says.
So he called someone he knew at the company and asked whether Heroku wanted an iPhone developer.
“When we talk about developing mobile applications,” Mattt explains, “What we're really talking about is cloud applications. Look at your phone's home screen. If you remove all of the apps that require the Internet to be useful, you're left with what? Phone? Clock? Calculator? It's an Internet connection that makes a phone smart.”
Most mobile clients communicate with servers over an API, and Mattt explains that those web applications are increasingly being deployed on cloud platforms like Heroku. “Mobile is not different in this respect, of course—rich web content, built in Ember.js or Backbone.js follows this same pattern.” He says that mobile exemplifies the case for cloud technologies. “Overnight, your mobile app might go from 100 to 100k users, with a few million by the end of the week. Rather than be a victim of your own success, spending your time fighting server fires while you attempt to keep pace, Heroku takes care of this for you, and allows you to focus on developing your product to make it even better.”
Since he joined Heroku, Mattt's responsibility has been to improve the Heroku mobile development experience. “Whether that meant working on open source projects like AFNetworking, Helios, Postgres.app, and Nomad; writing mobile development articles for the Heroku Dev Center; speaking at conferences and local meetups; helping out on support tickets; or working with Heroku Add-on Providers to deliver the essential services apps rely on,” he explains. “I became the point person for all things mobile at Heroku.”
Now Mattt has a new focus. “Heroku is the best way to develop, deploy, and scale software on the internet,” he says. “Salesforce, meanwhile, is known for being the world's premiere CRM solution, but also happens to be built on top of a development platform, handling billions of requests every day.” He says there's a huge opportunity to bring the agility and flexibility of Heroku to the Salesforce platform.
Mattt is working with the community to produce a set of first-party libraries for languages such as Ruby, Node.js, and Objective-C, which developers can use to interact with the Force.com APIs. He's also working with a colleague, David Dollar, on a command-line utility for Salesforce. Mattt expects the client libraries and CLI to radically improve the development experience for millions of Salesforce developers.
Away From Keyboard
Although Mattt is enthusiastic about programming and his role at Heroku, his time away from the keyboard is particularly interesting. “Back in May, after an exhausting month-long trip through Europe, I decided that I was tired of waiting to do all of the things that I had wanted to do,” he says, “So I started getting my pilot's license, flying Cessna 172s out of San Carlos on weekends.” He also picked up the trumpet and practices every day to get his chops ready for sitting in at jazz clubs.
“I went sky diving to impress a girl, and I'm not sure if that crossed some wires in my head or what, but I've been hooked on air sports ever since, driving down to Hollister, California, to work on my hang-gliding certification.” And he likes to cook, which is why he's watched the entirety of Alton Brown's Good Eats a few times. “The perfect Sunday evening involves cooking up something new from whatever I picked up at the farmer's market, followed by a classic movie on Netflix with my girlfriend.” As passionate as he is about programming, Mattt sees a future away from it. “There's a very real chance that I'll eventually up and leave the tech world to be a pilot or flight instructor of some sort,” he admits.
Dirty Details for Developers
What does Mattt's workstation look like?
“I keep things simple. MacBook Air and an Apple Cinema Display when I'm at the office, or just the laptop and a pair of Bose QC 15s when working from a coffee shop. Typical setup for the hipster hacker set."
"The main difference that throws anyone else using my computer is its Japanese keyboard layout. I switched from QWERTY when I moved to Tokyo for my first job out of college, and have been loving it ever since. It's a bit disorienting at first, but the little touches, like Caps-Lock being shoved out of the home row, an over-sized Return key, or dedicated characters for @
, ^
, and other coding essentials that make it—in my opinion—the best keyboard layout for any programmer (especially for Objective-C). Also, each key has a Hiragana character next to the English, which looks really cool.”
Touch type? Or hunt and peck?
“Touch Typing. Mavis Beacon would be proud.”
If Mattt could contribute to another open source project, which would it be?
“I'm not really all that shy or afraid to get my hands dirty, so there aren't too many projects out there that I've felt held back from contributing to. That said, I'd love to do more with Go and Rust, which both seem like great new languages.”
Which project is Mattt most proud of?
“AFNetworking is by far the most substantial and popular thing I've ever made, and I take a certain amount of pride in that. I'm somebody that finds it easy to start new projects, but have difficulty following through past a certain point. So it's nice to be able to point to AFNetworking—a project I've actively maintained for the last two and a half years—as a counter-example.”
How does Mattt explain to non-technical friends and relatives what he does for a living?
“I have no idea. It's hard enough to get them to pronounce the name of the companies I've worked for. Seriously, Gowalla? Heroku? But honestly, saying that I work with computers is enough. I try not to talk much about work when I'm AFK.”
Meet Mattt at Dreamforce
If you want to meet Mattt in person, you will find him speaking in the Developer Zone at Dreamforce 2013, which will be held November 18-21 in San Francisco. First, you'll have to catch him. “Between helping out with the Developer Keynote, presenting a session about mobile development on Salesforce, and running a workshop on leveraging Heroku for Force.com, I'll be all over the place.”