Engineer to Engineer: Lien Tran – Code Through the Lense of Many Industries
Written by Zarreen Reza
Zarreen Reza, Research Scientist at Volta Charging and Leadership fellow at Women Who Code, interviews Lien Tran, Software Engineer at Snap Inc. Lien shares her career journey and insights from various places along the path.
Could you take us through your journey?
I've been working in software engineering for five years. It was a winding path to where I am now. When I was in high school, I really thought that I was going to be a physicist. That was also inspired by my father who is currently working in nuclear physics.
When I got to college I started out learning physics, but I dabbled in programming. My physics professor told me, "In this day and age if you want to go far in physics you need to know how to program." I started applying for internships or opportunities in physics but they were also computing related. During those internships, I figured out that programming is a bottleneck in physics. A lot of the problems that people doing research in physics need to solve, need more programming skills and technical skills to solve. I needed to learn how to code and program for what I wanted to do later in physics.
Part of my journey has been exploring and learning about software engineering in different industries. Now, I'm at Snap. I'm really excited about augmented reality and how that could change the face of the world. I think it is the future so I'm extremely excited to be where I am now.
How did you prepare yourself for Yale? Did you do anything to stand out from the crowd?
I'm originally from Vietnam and only came to the US for college. My process of applying to colleges in the US was quite arbitrary and I think I'm extremely fortunate to have gotten into Yale. I had a strategy, "Okay, here's the top five schools I'm going to apply to, but here's the next tier of the top 100 and then the top 500."
Applying from abroad, the important thing is to be able to demonstrate how you are different from the other candidates in your pool. They don't really know where you live or what the culture is like. In my application, I did include a resume that people didn't ask for. I also included a profile about, "Here's the school I go to, and this is why it's a very good school because this many people try to apply to it". On the internet, I found what people are looking for with extracurriculars and leadership. I tried to do those things, throwing full force at it. I think contextualizing all that information is pretty key.
What does a day in your life look like working at Snap?
A lot of the work that I do is around software engineering design and implementation. It’s also collaborating with people from other parts of the organisation, such as product or data science in order to fully build out the end feature that we want to ship to users. With a new project, the first phase is understanding the feature to be implemented, doing some investigation and prototyping to figure out how best to deliver that feature. After that, I would dive into the engineering design for the approach that we decide on. Once the engineering design is reviewed and approved by all the stakeholders, I would break down the feature into tasks and start implementing them, writing the infrastructure. When I'm actually in the process of implementing something, the day looks like coding full-time. Other than that, I have a couple of projects going on at a time, so I can interlink between coding, designing, and working with other teams.
What's your favorite technology or a programming language and why?
This one is very hard because I think once you tell someone your favorite programming language, you are immediately categorized as a certain type of person. There are stereotypes. I view a programming language as a tool to deliver a product, so I don't focus too much on what programming language I like or not. If I were to build my own project from scratch, what would I use? I like languages that can be compiled, error-checked, and have fewer run-time errors. Scala, maybe C++, or C because you can see the errors before you actually run the code. If the code doesn't compile, you're already doing something wrong.
Do you have any suggestions for fresh graduates who would like to get hired in companies like Apple and Snap Inc.?
Interviewing at tech companies is not a simple process. There is a distinction in how people interview early-career junior engineers versus people who are more seniors with more years of experience. There are two parts, the non-technical part of the interviews and the technical. You need to pass the technical part. The younger you are, the more important, your passion and your demonstration of how interested you are in learning about a certain tech engineering stack or product is important. While you're honing your technical skills, also do your homework. Find out what the companies are, understand the tech stack. If you can, read their engineering blogs and be able to demonstrate, during your interviews, why you would like to work for that team. For the technical part, ask the recruiter what type of interview it is. Ask whether you need to do it in a specific language or if you can do it in your most comfortable language. Then you know exactly what you're getting into.
How do you keep yourself up-to-date with the latest technologies?
In today's day and age, it's very hard to keep up with anything. It's important to be selective about what you choose to keep up with. I'm pretty deliberate about it. You remember and understand things best if you are genuinely curious about them. I have a list of technologies or innovations that I keep up with. There's an infinite amount of knowledge to be discovered, and what's important to me is choosing what I'm generally interested in.
What do you do in your free time?
I'm interested in music and music production. When you're doing music production and sound design, you're also kind of coding or formulating, making sound basically. You also have to understand the physics of how sound works in order to do that effectively. I'm kind of always at the intersection of doing computing things that physically interact with the world in audio or visuals.
What kind of mindset do women need to be confident about themselves? How can they prepare themselves for these positions rather than just waiting? How can they overcome their imposter syndrome?
Something that I personally use to kind of hype myself is a quote from a friend of mine. Maybe it's from Something Whispers. I don't know where the origin is. But it's, "If you don't ask, the answer is always no."
There's a new concept I learned recently, Thinking Tracks. It is how you have thoughts in your head that you treat as facts. For example, if I don't think I'm qualified for this position is not a fact, that is something you think and then you treat it as a fact. You feel afraid and you feel fear and you don't interact with and engage with that interest. There are so many things we think are real, even though they're not. Recognize that you can ask for things that you want and be okay with the outcome.
Was there any point in your life when things didn't work out as you expected? How did you overcome that and inspire yourself to try again?
Professionally, there are times the goal that you set for your project doesn't get reached. I have encountered those situations before. In order to get through those times, I think it's about understanding why things went the way they did and understanding very accurately what other people think of it. That may lead to very candid, honest conversations that are difficult. Without those conversations, you don't have an accurate reflection of what actually went wrong. Engage others in giving you constructive feedback. See where the gap is between what you think of yourself versus what others think of you, what you think of the project versus what others think.
Try to understand reality as closely as possible, so that you can make a correct fix instead of living in your head and trying to make fixes on your own that may be ineffective or wrong. That helped me a lot. Being able to take feedback and respond to it helps create trust and integrity in a work environment.