Matt Faluotico: Software engineer at Facebook
Matt graduated from Ohio State in 2015 with a degree in computer science and engineering. Matt was active during his tenure at Ohio State with involvement in student organizations such as Buckeye Hackers and OHI/O. Matt goes in detail about the interview process with Facebook, how to hone your programming skills, and how to land an interview with Apple.
Pablo: [00:00:00]
Hello, welcome. We had Matt ago from Facebook. And to start things off, Matt,
tell me about
Matt: [00:00:10]
yourself. Um, as you already said, I’m an iOS engineer at Facebook. Um, I’ve been
there for just about a year now. I work on this product called local. Local is
its own app. It’s not part of the main Facebook app. It’s a separate thing.
No Facebook design. Um, well, there is Facebook designs,
just like we have our own set of design. Um, it’s a really different experience
working from most of the Facebook apps. And the entire purpose of it is to find
places and events wherever you are, whether it’s traveling or your home city
basically helps you find what you wanted it next.
The real world.
Pablo: [00:00:52]
No, really cool. Really cool Hill. Why Facebook? How’d you get into Facebook?
Matt: [00:00:56] I
was an iOS engineer at this place called zero, and to get to the next level, I
wanted to like go to a place where iOS was big and, uh, Facebook makes the most
complex mobile app in the store. Um, you may have some harsh opinions on
whether it’s a good app or not, but the complexity of what is inside that is
unlike anything else.
That’s why it’s. It’s so massive. Why? You know, it may not
be as performant as, you know, something like, you know, Twitter, like it’s,
it’s complex. And so I wanted a taste of that, so it was like,
Pablo: [00:01:39]
it has its own app, isn’t it?
Matt: [00:01:41]
So it’s inside Facebook as well. Okay. But it’s a completely different
experience as its own app.
Pablo: [00:01:48]
No. Awesome. Awesome. Um, so why Facebook for you personally?
Matt: [00:01:54] I
thought they were going to take me to that next level of being an iOS in shame.
Pablo: [00:01:58]
That’s nice. So if people don’t know, you’re actually a big company within
itself, if I remember correctly, it’s kind of like an accounting tool.
Yeah,
Matt: [00:02:05]
it’s an accounting tool. Um, we, my team primarily worked on the expense
version of the product, um, which is, uh, similar to concur. You just scan a
picture of your receipt. And then it’s sent off to the cloud and then it comes
back down, all filled out. And you just say, this looks good. Send it to my
manager.
So how
Pablo: [00:02:25]
did you transition from zero to Facebook? Clearly there was a need a want
there, but like logistically, how did that work out for you? I co
Matt: [00:02:33] I
basically set it up that wasn’t quite ready to leave zero, but if a handful of
these companies happen to reach out, I would take them up on the offer. And I
got an email from Facebook and decided like go through with it.
It was a pretty long interview process. There was a lot of
stuff I needed to finish up at zero, but I’m called an iOS recruiter and we talked
about some iOS basics and she said, let’s move you onto a phone screen. Um, did
well enough on the phone screen to go to the on-campus interview and spent an
entire day, um, and their memo park campus.
And. About a month later, I received an offer.
Pablo: [00:03:14]
So did you have a friend at zero? Do you have a friend, a champ, a friend at
Facebook that helped you?
Matt: [00:03:20] I
knew people at Facebook, but from what I understand, none of them pick up
online. Yeah,
Pablo: [00:03:29]
I mean, you were in, you’re in the Bay area, right? So, I mean, I guess that’s
fitting.
Real cool. Real cool. Um, but before that, I think the
biggest story I like about you is that it’s your, you didn’t come from a
traditional, we’re like, everyone’s go, so what are what cause students, right?
Everyone’s goal is to graduate and then go onto, you know, you’re one of the
tops, uh, where you kind of took a different approach.
You did an internship here in Columbus, you did an
internship out in the Bay area with the JP Morgan, then you transferred over to
zero, and then you went from zero to two. Facebook. And it sounded like, if I’m
not mistaken, and you kind of, you kind of picked your, you kind of like a
critique your craft within iOS development.
Did that whole journey, correct.
Matt: [00:04:09]
Um, let’s go with that. Yeah. I’ve been doing iOS for awhile and got more and
more specific, more and more specialized. So you
Pablo: [00:04:17]
think that was your secret sauce in that you were kind of like an expert in that,
in that specific area, that that was your, your language then? I
Matt: [00:04:23]
think calling me an expert is very generous.
I appreciate, I wouldn’t call myself an expert. Um.
Pablo: [00:04:30]
Yeah,
Matt: [00:04:30] I
you get to the point where it’s still making a product. So you can be, your
expertise can be an iOS development, but the concepts in Android really aren’t
that different, and you shouldn’t be able to call yourself a senior iOS
engineer if you can’t talk to the senior Android engineer and basically
implement the same exact thing.
So. Yeah. Uh, I just use iOS as a specialty with this goal
of they, Andrew, a guy sits right next to me and I should be able to understand
everything he’s doing, even if I haven’t used Java since my freshman year.
Pablo: [00:05:13]
No, I like that. That’s a good scenario. Um, as for the, the college students,
what do you recommend students should do to kind of separate themselves between
other developers, in your opinion?
Matt: [00:05:23]
Just make things. I sat in a bad presentation once and the presenter just kept
saying, um, um, so the first app I made was just a big button and you would
tally how many times someone said, um, and then you said the presentation’s
over. And it would draft an email that said, Hey, I just wanted you to know,
and your however long the presentation was.
A presentation, you said, um, through 124 times, and you
could send them that email. And like, that’s stupid. That’s really, no one
should have downloaded that. And I think only like 300 people did. And that’s
the 300 people that download every single new iOS app. And my dad, yes, I just
made that open source, that pump, but it’s a start.
So
Pablo: [00:06:16]
it sounds like, well, what’s the underlying philosophy of the start of you
actually building something, even though it’s stupid, like what’s the real
purpose of it, in your
Matt: [00:06:23]
opinion? I mean, I learned something from it. I learned one that I could make
an entire iOS app. Um, during one public speaker. Yeah.
Yeah. In any, any libraries that I wanted to do. What was
hard about this was like if you close the app, you still needed to keep, right.
What was hard about it? You needed to keep counting like the time. I’m assuming
then you learn how the timer works and iOS, and you noticed that the timer
actually stops when you close the app and say, why, why does that happen?
Uh, and then you find out iOS automatically kills all
applications. Five seconds after you click the home button. And even something
stupid and simple like that. Teachers do a lot about how this system works and
it becomes, this first step is, okay, well now, now let’s get a table of data.
And then. After a table of data you, so let’s, let’s turn it into a Pinterest
like grid where everything’s a different size.
Yup. So, um, it should all dynamically a size to the size of
the content rather than just like a boring row, right? Everything’s a step.
You’re, if you’re trying to make. Um, everybody tries to make Instagram as the
first step, which actually isn’t a bad thing to do. Honestly, I can’t think of
Pablo: [00:07:47]
something different.
It’s
Matt: [00:07:47] a
health app that tracks how you bike. If you’re going to try to use the
accelerometer to figure out how someone’s biking as your first app, and you
have no idea of how the system works, so maybe that’s a little aggressive, but
making something stupid. Uh, like, uh, a tally app is you don’t need to release
it in stores, throw it out and get hub open source it.
If people that are like, Oh, this guy made a tally app.
That’s not what this community’s about. Those people don’t really, it
Pablo: [00:08:17]
sounds like build something then level up. I mean you just learn from there and
then that’s how you get the to be strong. That language. I met guy Kawasaki
once and he said like when you’re presenting or presenting to people, it
shouldn’t be about like your presentation.
It should be about your traction. Like would it be done
like. And so the, and therefore it’s an easier story to tell. It’s like more
engaging. It’s more fun, like we’re just geeking out. So I think there’s a lot
of value in that in what you’re saying in that regard. Um, any other
recommendations for students and what you’ve done in the past or
Matt: [00:08:44]
there are so many opportunities that college provides to make those incremental
steps and to just go out and build something.
I think if you graduate and you haven’t gone to a hackathon,
it’s a huge, huge mistake. Definitely go to hackathons. You’re going to be
awesome. People that I got interviews just for attending the hackathon. I
didn’t make anything. I just played around and talked to people, but I think it
was Apple was to like, Oh, we saw you at the hackathon.
Why don’t you talk to us for an interview? Because how many
software engineers are in each graduating class at Ohio state? Is it 500 or
something? I think there are thousands CSE students. Um, how many of those are
going to hackathons? It’s, it’s like it’s already a massive filter. 1,000
aren’t going to a hackathon.
Yeah, true. Just like just going and then as you make these
incremental steps, or maybe you have a brilliant idea, you could win the
hackathon and then that really puts you at this next level. Yup. Yup.
Pablo: [00:09:46]
No, absolutely. And then it just, it sets you up for success moving forward or
patting a resume, just knocking something out during that weekend and putting
it up online.
You find you, and then you could tell that story when you
meet with them, you have something, a talking point to
Matt: [00:09:58]
talk about,
Pablo: [00:09:59]
um,
Matt: [00:10:01]
on your resume without you having to do it all on your own.
Pablo: [00:10:04]
Yeah, no, totally. In your opinion, what did you do? Uh,
Matt: [00:10:08]
yeah, go ahead. Well, I’m going with the all on your loan, on your own.
Academia seems to focus a lot more on independence than
industry does, but I am never doing anything completely by myself in the real
world. And I would maybe say it’s better to work with other people and you know,
learn from these other people. Then to focus on, you know, sitting in your dorm
room or your apartment and just working on something on your own.
Learn how to. You know, communicate with other people on
something technical, learn how to use version control and manage, you know, the
guy to my left just really messed something up and now we have to talk about it
and get it all pushed into the stable version of something. These are all the
real world things that happen every single day that aren’t going to happen in a
class projects.
Pablo: [00:11:00]
I like that. Yeah. That’s huge. That’s huge. Um, in your opinion, what do you
face? Uh, what does Facebook look for an engineer’s just your, your personal
opinion? High level.
Matt: [00:11:12]
Um, I mean, obviously they look for good engineers, but there’s an entire
spectrum of engineers. I would say I’m more product focused. I work really
closely.
With our designer and um, the, the PM I, I’m like, I’m a big
events go or I love music. I actually sought out to work on the events team
because of that. So in a way, I am building the app for me, which makes me
passionate about the product itself. But. An entire team of those people means
your infrastructure sucks.
So you do need to have a balance of these, these people like
infrastructure, these people like security. These people work really closely to
the product, and Facebook’s mature enough that they understand that they need
to hire a balance. And you know, that’s why people have titles and different
focuses and everything.
So I think it’s hard to say what kind of engineer. Um, they
look for, um, but be passionate about the part that you like on the part of
engineering that you like. I switched back and forth and back and forth before
I landed at this side. What do you say
Pablo: [00:12:24]
back and forth? What do you mean?
Matt: [00:12:26]
There’s infrastructure’s cool really knowing how the iPhone works and how to
get absolute performance out of it.
Uh, before I started at Facebook, I had no idea that, uh, the
traditional way to round corners is a huge performance. And. The, uh, the
normal product engineers that are really just consuming components, probably
aren’t, you know, digging into that and realizing it, but you have this
infrastructure team, you know, I mean, they scroll and I notice there’s a
performance hit, and then they dig apart everything in that view and figure out
what is causing this performance it.
And that’s the only reason you can scroll through Facebook
with all of their different story types at 60 frames a second.
Pablo: [00:13:13]
Nice. Interesting. Thank you for that. Thank you for that. Um, I’m, I liked
what interviews and the talk, how we roll over here. Um, so I’ll just kind of
end things off and I thank you for your time, but in ending, um, what are some
of your computer science mantras that you live by?
Matt: [00:13:30]
Uh, I think one of the biggest ones are, uh, if you’re, you’re looking at code
that’s six months old, you should think it’s pretty bad. You, you need to
learn, and not every six months to think your old stuff’s bad. That’s the big
one. And state management sucks, but I have a much pretty unavoidable. Right.
Pablo: [00:13:52]
That’s kind of cool because it kind of makes us valuable every six months. In
theory. What makes. This idea that it’s ever changing a legacy code. It’s like,
forget that. It’s like, how are we improving every six months? Is there another
way of looking at it as well?
Matt: [00:14:05]
Yes. As soon as something hits the master branch, it’s like a C, right?
Pablo: [00:14:11]
Yeah. No, totally right. Anything
Matt: [00:14:13]
else? Um, that’s, that’s the biggest one, especially with this whole idea of
code quality. Yes, you can have quality code, but you still to think it’s bad
in six months.
Pablo: [00:14:26]
It can always be better. Just by the question. We should always be asking
ourselves, how can we make it better?
What are some ways of making it better and testing it in
that regard? Well, Matt, I want to thank you for your time. You have a great
day, and I was talking to my
Matt: [00:14:37]
man. All right, take care. Have a good one.
© All rights reserved. Developed by 500Firms.
Reviews for Matt Faluotico
1 Review
Leonard King
January 3, 2020