Get to Know Flexport Engineering: Brian Cameros
Before joining Flexport in March of 2015, Brian worked at Amazon. He received a BS in Physics from Stanford and a MS in Physics from MIT.
How did you get interested in coding?
I became interested when I was in college. It was before the internet had seriously kicked off; it was just starting and I was at Stanford, so I was right where a lot of it was happening.
I took a bunch of courses in computer science, but I actually majored in physics — I thought physics had that kind of real-world magic to it.
Right around 2000, I was in a graduate program in physics, and I felt like I was in a niche area. The internet was blowing up, so it was easy to jump into it. There were a bunch of firms that were training people to become programmers, so I left my PhD program, and got hired by a company building database-backed websites.
What were you doing before Flexport?
I was hired by Amazon in 2004, and I spent the next 11 years there. When I started, it was pretty small — we looked up to how big eBay was. The service I worked on there was Mechanical Turk, a task-on-demand system. I was one of the first 5 or so engineers on that project.
I worked on that for a few years, then jumped over to the Recommendations team — the tool that populates those ‘Recommended for You’ suggestions when you’re shopping. I jumped over there because it was very algorithm-focused, and I missed that from my physics days. We were trying to figure out all this stuff around machine learning and data mining.
My wife and I wanted to move back to San Francisco. A friend of mine helped me develop a shortlist of companies in San Francisco that were worth interviewing with, and he put Flexport on there. I remember looking at the website and being like, I don’t get it, and then coming back a week later and thinking, I kind of maybe get it. It was so far from the stuff I’d done.
But I came in, and I talked to Amos and Ryan. I got a really good sense from them that this wasn’t their first rodeo, and that it was a very transparent leadership and easy to work with. And I liked the other engineers I met.
Also, I’ve always liked infrastructure stuff. I’m the type of person who wants to know how the city sewer system works, for example; freight forwarding feels a little like that. It’s a system that’s been hammered out over hundreds and hundreds of years — there’s a history to it. It’s real, and it’s something that you can marry to technology.
Do you prefer working on front end, back end or full stack?
I prefer back end in general. I’m better at it; it’s what I’ve mostly done in the past. I’m most interested in the data model, and the back end is where most of the data model happens.
What are your favorite languages? Libraries? Tools?
So many people hate Java, but I think it’s an effective, well-tested language. I think React is a great language on front-end stuff. I like Go too, but everybody likes Go.
Git in general is an impressive library/application. I like Sql databases, e.g. InnoDB.
What has been your favorite project at Flexport?
Detailed leg data for shipments, and Marketplace — those are the two major projects, and they’ve both been super meaty.
My favorite project has been the graphs in Marketplace. We ship a lot of stuff around the world. There are a lot of ways to do that, and some of them are more expensive than others. So, we have to keep track of a big graph of all the possible ways to ship things, how much they cost, and how long they take. That’s a pretty large engineering challenge, to maintain that graph of all the possible voyages, and all the possible charges and rates on those voyages. We then have to search that system to find the quickest, or the cheapest, way to get something from point A to point B.
Why is engineering (or even just working) at Flexport awesome?
There’s a ton to do, and the engineering challenges are getting bigger as the company is more successful and gains market share — that is the best thing. Secondly, there’s not a lot of ego. People work cooperatively and well together; there’s a shared sense that we want to build something together.
What is a framework, language, or library that you want to learn or build?
I’d like to apply some graph contraction techniques in our system; I think they’re interesting and they could be applicable to some of what we’re doing.
What advice would you give to someone who has never coded but is interested in starting?
There are a ton of great online resources at this point, at places like Coursera and Udacity — I would absolutely start with those. I’m super impressed with the quality of the stuff those guys are building.
Do you have a coding routine to get you in the zone?
When I’m dragging, I will get a good cup of coffee and find the right station or mood playlist on spotify; those are definitely what I use to settle down and get in the zone.