Francisco Soto Ramblings about code, life and stuff.

I joined Expensify
Mar 02, 2013

Music Business


I worked in the digital media distribution industry for almost four years at INgrooves, during my time there I was part of very interesting and ambitious projects such as helping get the platform ready for mobile products distribution (wallpapers, ring tones, ring back tones, etc.), upgrade our platform for ebook distribution (INscribe Digital), and the two major projects that INgrooves had at the time, Hercules and Zeus.

These two projects were part of a major initiative to replace several systems that were part of the digital distribution infrastructure of UMG’s (the largest music label in the world) with improved versions of our own, handled by us. The systems that we replaced from UMG are the ones that actually sent their content out to retailers, something that INgrooves excels at.

Zeus is a content metadata database, validation and ordering system, that is, it has the database with all the information and clearances for content, upon ordering, if the content is cleared to go, it generates the metadata files that go out to retailers and places an order to Hercules. Hercules takes this order and creates whatever binaries are needed to fulfill it, binaries include cover art and the actual encoded music files (mp3, aac, wma, etc.), after the binaries generation step is over, it takes the binaries and the generated metadata and creates a final package that goes off to the retailers.

Easy said than done though, these systems present several challenges along the way, for once scaling of our databases and code to support all functionality needed, business logic to process the very complex logic of marking a product cleared for distribution or not, the problem of massive storage for all these digital masters (no, we cannot use S3, labels are very protective of their content), having the infrastructure and capabilities of creating all the different audio encodings for all the content that goes out the door every day, etc. Fun stuff.

Alas, everything that has a beginning has an end.

After a few months contemplating the idea I left in December 2012. Although we faced interesting challenges every day and more were in the way, I was definitely craving to work in different technologies and a different problem space, I love music and applying my technical skills in that industry was a blessing but I decidedly needed to try my hand at something new.



And so, I joined the ranks of Expensify.

Expensify’s goal simply stated is “expense reports that don’t suck!”. I only had to fill (thankfully!) an expense report two or three times in my life and boy, did I hate it. Having to keep an eye on not losing receipts didn’t help either. Well, Expensify is here to change that and I joined them to help achieve it!

No, really, why exactly did I join Expensify?

When I set to look at new opportunities I sat down and thought really hard about what I wanted to do next. Leaving INgrooves meant losing my H-1B and thus we would have to leave San Francisco. This thing in particular wasn’t entirely a deal breaker but I surely was sad that I didn’t get to enjoy San Francisco very much in the one year we spent here. Moving to a different country is a big deal, and doing it for only a year is kind of wasteful. On the other hand, if I went back to Mexico I could take a stab at starting my own thing, try to create a product to improve people lives and they would love and care.

In the end we (me and my wife) decided to try to stay in San Francisco. So the search began…

I was very stringent in the type of company I wanted to work for, it would have to have certain characteristics, like:

  • It would have to be a technology company. I want to be part of a company that looks at their technology and people as their main asset, not as a “tool”. It’s very different to work at say, Google, than work at Walmart’s IT department. I’ve received emails from recruiters from Amazon.
  • It would have to be a small company. I do not like bureaucracy, I don’t want to have to argue with a committee to do the right thing, nor to fill form TRX1-12 and get it signed before I could try to put a fire out in production.
  • Their people would need to be very smart and still have the will to live. Have you ever met that guy that is very smart but working his entire life at a bank sucked their soul out? I have. I need very smart people to work with, not because I am very smart, but because I hope to be some day, hopefully before I die.
  • I would have to believe in it, in what it does and what it stands for, this one is particularly hard, in the bay area there are thousands of companies but sadly, most of them are doing crap and pretend they are great so they have a chance to win the startup-lottery.

So I started browsing Github’s job board (I actually considered applying to Github as well) and Expensify caught my eye for two reasons, for one, finance is one of my hobbies as well, I like reading about business, personal finances, investing, etc, etc. I think the lack of finance education hurts people more than not having a degree or any other kind of education., and the fact that to apply they do not require you to send a resume (I HATE resumes), they simply want you to tell them about you, what have you done, when did you start to code? Why?

That is amazing. The one reason I hate resumes so much is because I feel I cannot convey the passion I felt my entire life about what I do in two pages and I figured that if they asked you this is because they felt the same way as I do. So, confirmation bias kicked in and I applied. I have a harder time trying to figure out what to put in two pages of a resume than to write passionately about what I do, I sent 8 pages.

So, the process began and after a coding challenge, and a few calls I was scheduled for a on-site interview which went pretty well but gave me a good insight in what they are planning to do and their philosophy.

I spent a long time talking with Expensify’s CEO, David Barrett about how they got to where they are, the kind of technology they use and have and I got very excited, I realized there were genuinely smart people working there and were doing amazing things and I wanted to be a part of it since Expensify did pass my “criteria” for a good place to work.

Did you know that in order to avoid having to maintain different codebases for the different mobile apps they created a mobile framework and API that abstracts each platform native API and controls so they can use a shared Javascript code base ? PhoneGap like. Yes, there are companies that do this for a living and here they did simply because it was more convenient. Yep. There is some internal effort to open source this and other in-house technology, that excites me and makes me very happy as well.

To infinity, and beyond!

Interesting problems, smart people and the right attitude lead to an amazing time, I’ve been in Expensify for three weeks (I started February 8th, 2013) and I already open sourced some code that I did to analyze some data for a problem that we had with some data structure.

Amazing times.

PS: I am baffled that apparently I am the only emacs user among IDE/vim people.

Go up.

comments powered by Disqus