what project are you most proud of and [Music] why hey everyone I'm here today with Sophie a formation and we're going to do a software engineering behavioral question today but before we get into it Sophie can you introduce yourself a little bit yes of course hello everyone I'm super excited to be here my name is Sophie I'm the CEO and founder of formation we are an Adaptive learning platform for uh for software Engineers uh prior to formation I was a engineer myself I was at Facebook and next door for many years one of the people
that was super involved in thinking about our hiring onboarding training um practices for for software Engineers um I've done hundreds of interviews myself done coding interviews behavioral interviews been part of many hiring uh panel discussions and just super excited uh to see if uh I can help all the engineers that are job hunting today well we're really excited to have you Sophie and in today's video we're going to turn the tables and I'll be asking you um an interview question that a lot of engineering hiring managers ask um and these often come up in the
first few minutes of an interview and they sometimes segue into an interview but they're more behavioral in nature um and so the question that we're going to be asking today is what project are you most proud of and why and before we get into it um I just to set the stage for the viewers a lot of people get this question wrong um and so what we're going to do is we're going to actually start off um giving an answer that is actually bad but seems good and so Sophie whenever you're ready um I'll Reas
the question and we can get into the role play if that sounds good okay great um all right so Sophie what project are you most proud of and why so I recently worked on a project to reduce um or improve the scroll performance of the news feed and our mobile application so um we instrumented the scroll speed and found that it was actually only about 20 to 30 frames per second which just as context is not good um so when scrolling quickly it just made it feel really glitchy so um I ended up kind of
splitting out the layout computation operations um uh and removed it from the main thread so that it can run asynchronously in a background thread um and a lot of our layout operations turned out to be really um computationally complex and time consuming and especially because each of our kind of news feed stories came in very different shapes and sizes um and so by doing all of that work live while the user is scrolling through the feed led to um these kind of layout complexities that that caused glitches as people were scrolling so we move removed
all of the layout operations to preprocess as much of it as possible into a background thread which we could then run asynchronously um and that CA caused the um the main thread to eventually be able to run our layouts super smoothly and I'm pretty proud of that work awesome well thank you for that um normally I would ask you more follow-ups but since this is the bad answer I'll kind of skip over that um I'm really curious before I share like um yeah break it down for the audience and for me like what didn't work
with that answer I I can at least just initially say my eyes definitely glazed over a little bit as you were talking I was like like strug the pants attention to your words you know but but it' be helpful like break it down like why honesty well yeah it it was and and again for folks watching like this was a good example this is a an example of a bad answer so um we're going to talk a little bit about why and and how we can improve it and then we'll we'll see an example of
how Sophie does it um better after this but first Sophie yeah break it down for us the first thing that I would like to say um about this whether it was a good answer or not I think it's always it's a trick question you literally cannot answer this question like is this a good answer or not without understanding more of the context of where you are answering this question so we did not set up any context as to what company this is what team this is what problems um and even what role um this person
has right so um depending on whether you're talking to a peer engineer versus if you're talking to a hiring manager these may all be different um and so knowing the context of the interview is important in evaluating whether it's actually a good answer or not um and so I would say that like this project as a selection it was really about like kind of buttery smooth like front- end performance which is a common kind of technical challenge of like mobile Engineers I would say but I would say that that needs to be something that the
kind of team cares about for this to be relevant so I would say the first thing is like um if if ever asked this question you should ask back well what is the context of this interview um but yeah I can also go into a little bit more of like the actual content of of what I said as well well I mean yeah I'd be curious what whatever you think would be helpful but I would be curious yeah like how would you have improved that answer and and yeah what else might be relevant for people
watching about about the the better version of the answer and one thing just to Echo back that I really love that you're sharing is um good interview answers are all about empathy with the interviewer like what is the interviewer looking for and without understanding what the interviewer is looking for how can you possibly give a good answer and so sort of what you're suggesting here is like hi let's look at the context let's look at why they're asking this and what they're looking for so that you can not just answer the question as it is
but answer the question underneath the question that they're looking for yeah yeah and um you know the question oftentimes is like a a bit of a what question like what is a project that you're really proud of right um and a lot of times you know Engineers super um literal just go ahead and answer that that what question right like exactly what did they do and what steps they follow to do it but there's a lot of context to to add to that so one of the things that I would say is you have to
take kind of your interviewer on a journey so it's not just what you did to solve the problem but also the steps that you took to discover the solution in the first place um you know so this is um this and especially this type of project sounds like it was a bit more of an infrastructure project where like the engineer is really leading the decision on like what to do to solve the problem um and it is really important to clarify what role you played in discovering that that solution for the for the project um
and and um again it can be super tempting to go straight to the solution but that's actually less important than talking about you know what you did to debug and kind of like the Alternatives potentially that may have been considered and um if and as you get into more and more senior roles it's the expectation that you were the the decider right in terms of like what actually was done um and then another thing is like uh you know we're all kind of you're in an interview to join an engineering team and so it's not
just about like um what you did yourself but it's also in the context of a greater team right like it's important to kind of clarify the role that you played and kind of the impact that your work had on the product as well as other other team members and so I think in this case um if you play it back I say I say a lot of we um which makes it very unclear exactly what specifically I did and often times you know it maybe assumed that someone else maybe handed down a decision and maybe
all I did was just Implement like the separate um you know the separating of the different threads um Etc which is completely different scopes of work right um and so um yeah I would say you know add context as to how the solution was discovered and clarify kind of the role that you played in the work that you did I'll ask the question again um and then so so I'll set you up we're going to see how Sophie might answer this um with some of those tips and context that she had mentioned um just recently
um so hey Sophie what project are you most proud of and why so thank you for the question um so I actually I read the blog post that you guys uh recently put out about panda feed being how you guys got it super buttery smooth and the approach of um lazy loading feed stories makes a lot of sense it's actually a project that I worked on recently um over at lion feed to improve our own scrr performance um so when I started the project I use um xcode instrumentation tool to kind of Benchmark our scroll
performance under various conditions um and what I found was that the general frame FPS frames per second was around 40 to 50 which is not super terrible it's not great but then it would occasionally glitch um at certain frames and was reading at about like 20 to 30 which is really really bad um and what I learned was um or what I figured out was that we were kind of using this single view component that had a had really complex Auto layout rules that was turning on and off depending on if certain uh you know
subcomponents of that story was visible so for example like some stories had a comment bar some didn't um and so whenever the layout changed in significant ways the auto layout computations was just taking up so many cycles and causing glitches when these new stories were coming out and um you could literally see in our instrumentation tool if you turn on if you turn that on that there's these private Library function calls that you could see a ton of calls going to the auto layout engine and so um what I ended up doing was um actually
we completely turned off decided to turn off auto layout for feed all together and I built an entire feed layout engine that essentially computed the layout of each feed story completely manually um like literally Computing all of the XY coordinates like individually manually and so by doing this we were able to actually move all of the layout comp computations into an async background thread um and basically was Computing these coordinates and spitting out a view model struct for kind of the main for the main thread and so when when the user scrolling the main thread
just needs to copy over these XY coordinates and this brought our frames per second up to close to 60 and completely eliminated all the glitches around these different feed components um it was pretty challenging because our entire feed was built on kind of the old layout model so we needed to coordinate across all teams across the company that had these feed stories to migrate all of their components over this to this new model but if you now open up lion feed I think it's super buttery smooth and I am really proud of that awesome well
normally I'd ask more followup questions I'll just ask one which is I'm curious um yeah like was was there any cross functional element or persuasion that you had to do to to get this project across or to get your approach to the project across or can you tell me a little bit more about like how um got the team around that idea yeah so um well the entire mobile team was motivated to want to create like a great feed experience so the company across the board was bought into this project one thing I will say
is though is that other teams who weren't actively working on it like had other priorities and so the biggest thing I needed to do was make it such that the migration was as easy as possible um and so I actually built I won't go tooo much into the details of it but I um essentially built this like very simple um like layout structure such that anyone can just Define a single file that like laid out the structure of the the feed um component that they need to do so it was literally I want to say
like a single afternoon or maybe even like a 30 minute to like an hour long task for each individual team to come in and just fill out like layout file um and I had this whole thing where it would like live demo and preview kind of the output that they would create if they made this file so essentially making it as easy as possible for for teams to migrate their files over um eliminated any kind of excuses that they could have to like not cooperate so awesome um well okay thanks Sophie for for jumping into
that you can take out the roleplay percenta I thought that was much better I I actually maybe I'll share a couple things I noticed first i' love to hear your debrief of it and maybe even like your thoughts of like how the hiring manager might have thought of that answer too um but but first like what I what I a few things that I loved just watching this is like one it was obviously clear that you had read and researched the company you're applying for in the beginning you were not just speaking into a void
you weren't just like saying an answer as if it could be anywhere you were customizing your answer to the person asking it which I think is really really important in all interviewing is like that you're you're not supposed to just give the same answer to every question but you customize it to the company you're working with and the person and sort of you know maybe you had already researched me and you knew that I knew about some of the things or maybe I'd worked on that buttery smooth performance um so that was great I thought
a couple things that you did in your tone of voice are really effective to show your passion more than the previous case so one just you're obviously more passionate probably because you were just doing a better example than like a bad example but your tone of voice you had more inflections you'd use things like there are so many issues or so many things and I think those kinds of words added a little bit more like personality to your answer that had a little bit more of like a emotional tone that was easier to follow along
I could in particular I really liked that you brought up like why it was so challenging which I think is really important for this because interviews were curious like was this a hard project to launch and I so I loved how you brought that in and explained why it was really hard um and then I also loved that you you um the language that you're using was very um easy to imagine you were sort of like bringing it back to the end user experience where at one point you're like oh yeah in the dashboard it
looked like this and it sort of allowed me as a a listener to be more attentive and understand what you're were saying a little bit more so just those are just some of my initial approaches I would love to hear your take as you know especially from the hiring manager perspective like what you thought of that answer those are just some of my initial thoughts I thought it was a much better answer yeah thanks for for noticing the um trying to customize the the answer in general like I always like want to talk to the
person almost as if we already are on a team together right like it just feels natural right like if you're able to kind of like talk about how you feel about this you know Panda feed thing that the other person likes you know spends a lot of time you you want to be able to imagine like being able to work with this person so um it is definitely something that I feel um can help and I always do like to come in to an interview with an idea of the general priorities of at least the
company at a at a high level um right like a company with a product like um Airbnb for example is very different like what they would care about compared to a different company like maybe like an Amazon um and like being able to have stories that highlight the types of values and working styles of that company can be super um important and like when I'm thinking about right if I were to summarize like what is a hiring manager looking for right like they want to know that the person can solve the problems that they currently
have on their team right like everyone's life is just all about problems and we're just like trying to solve them as fast as we can and this person has probably a single slot to like put a person in that seat to try to solve as many problems as they can and they're just wanting to answer the simple question is this person going to solve my problems right and so kind of um whatever uh and whatever problems I'm thinking about in my head what I want to know is that this person has done work like it
or has thought about similar problems before and the more senior you are the more true this is I think it is a little bit less true for like entry to mid-level roles but as you progress in your career it just gets more and more important um which is kind of why my like earlier point in terms of like the context is important right as I mentioned like you know um talking to a company that's published a blog post about about feed scroll performance that's clearly something that's important to them right um and so you know
if if this this answer was to a hiring manager really looking to elevate kind of the apps you know front-end performance then this answer would be fantastic um and um kind of going back to you know hiring manager wants problems to be solved right not just implementing Solutions right like and and that's why I think earlier I was talking about how it's important to demonstrate what you did to discover the solution not just Implement a particular um particular solution that was handed down so in this second answer I mentioned a lot more about like the
instrumentation that I did and showed how I was able to isolate like a pro a problem down to a specific uh a specific cause um and then I think final thing is like um this is kind of a counterintuitive thing but you know managers want to know that like especially more senior people as you get more and more experienced you should be able to independently discover and deliver a fully working solution without me having to do a lot of work as a hiring manager right and and the counterintuitive part is that in order to do
things independently you actually need to demonstrate your ability to to um collaborate as a team because a lot of the work that needs to be done involves convincing other team members and collaborating with them to integrate like various components and so in the second example um I mentioned how you know teams were needing to migrate all of their stories and being able to tell a story around how I was able to drive that um collaboration means that my manager then has to do a lot less work and handing me a problem and expecting it to
be solved um and so uh yeah that's those are some of the ways in which I think the second answer kind of addresses like hey I'm a person who can solve your problems a lot better than the first answer did I love that and yeah like the the Crux of it is really just empathizing with the hiring manager like they're looking to find someone to solve their problems and so you're anticipating that and and solving that so yeah I I love that and um yeah thanks for thanks for showing us both the bad answer and
the good answer and I hope it's helpful for folks watching um so if do you have anything else that you'd love to close out with or any other takeaways or things you'd like to share um before we end this video um I think that like I think that maybe one thing that I would just add is like try not to if anyone's watching this don't model a story that sounds like mine every single person such a different story such different strengths to highlight um and so really try to take like the general takeaways but really
make each story your own yeah I love that and and it's really obvious to an interviewer when it's not your own story or it's not something you're passionate about and I I do really think like you know speaking from your experience um there's some groundedness there and some confidence in the answer so um yeah I really like that advice yeah well awesome thank you for having me today yeah thanks for being on um and for those watching good luck on your next [Music] interview