ADVICE

So, You Want to be a Software Engineer

Well, here’s what it’s like in the office.

May 10, 2024

Reading time min

So, You Want to be a Software Engineer

Illustration: Michele McCammon

Noa Glaser’s path to engineering started with some middle school friendships—in karate class. That’s how she learned about robotics, and she went on to found and lead a high school team that would compete in the world robotics championships. Once at Stanford, Glaser, ’18, MS ’19, decided to major in electrical engineering. Later, it was the power of coding to “go one level deeper,” and the allure of understanding how computers work, that motivated her to pursue a master’s in computer science.

Glaser has worked for five years as an AI software engineer at Google Research. She uses machine learning and generative AI to help users edit both the look and the contents of their photos and videos, transforming them into Instagram–worthy masterpieces. Her goal, she says, is to help folks “express their creativity and share life moments.” She didn’t really know what being a software engineer would look like day to day until she tried it, though—first through a summer CS internship, and then through every software engineering internship she could get her hands on, during the summers and the school years.

STANFORD: Could you describe a typical day in the life of a software engineer?

Glaser: Software engineering is very collaborative. At the end of the day, all the code has to go into one repository that everyone agrees on. So, you’re both writing your own code and you’re reading other people’s. Part of it is writing code and testing it. I am in computer vision, so I end up looking at a lot of evaluation galleries and image galleries. And then part of it is being in meetings. I work in corporate with fairly good food, so lunch is always an enjoyable experience. [My routine] happens in different ratios depending on which kind of day it is.

Is there anything about software engineering that you did not expect when you first started out?

Glaser: Something that I didn’t know a lot about was the product side of it. You want to be thoughtful about what it is you’re building. There’s no point in running really fast toward a direction that’s no good.

What has been your favorite project so far?

Glaser: The area that I work in is called computational photography. It’s using computer vision to create high-end image processing and image edits. We launched [this project] with the Pixel phone. What we wanted to simulate was this artistic effect of long-exposure photography, which is, like, if you’ve ever seen pictures of the waves at the beach getting very smoothed out over time, or maybe someone [in a photo] is running and the background behind them is very smooth. It’s an artistic effect that’s very hard to capture if you were to do it yourself. We wanted to make it an easy, one-tap experience. What I liked about [the project] is that we developed it as a product, [we] shipped it as a tool to many millions of people on the Pixel phones, and we wrote a research paper about it called Motion Mode.

You mentioned collaboration. Is there a typical team that you usually collaborate with?

Glaser: The way that my team and a lot of other teams are structured is that underneath your director, your manager, you’ll have people who work together on a specific project, and then, because we’re a research group, that project will have a product partner. The code that I will review will mostly be from the team I’m on, but we have to integrate it into a larger platform. Those would be our sister teams or cousin teams.

What’s your current project?

Glaser: We shipped a feature this year called Magic Editor on Google phones. The feature lets you do high-end edits to your photos, such as remove things, move things around in the photo, and make other edits to the overall look. I am working on pushing that [feature] that we launched in October of last year, and I’m working on new features for that platform.

Do you feel like your course work at Stanford prepared you for your job now?

Glaser: Yeah, absolutely. There are a lot of fantastic classes at Stanford. The thing that’s really cool about Stanford is that you’re learning from people who are very current in their domain, who are founding their domain. There are also classes that are intentionally practical. Another thing that prepared and helped me out a lot was working in a lab while I was at Stanford. It gave me some chops on software development and working in a team. The project that I was working on at the time was developing code for [unmanned aerial vehicles] shooting cinematographic videos. I was very interested in robotics and in UAVs and drones at Stanford. I later went on to join and take a meaningful part in the UAV Club at Stanford. The project itself had to do with writing the flight control software for path planning for taking nice cinematographic videos.

What would you say is the most rewarding part of your job?

Glaser: Oh, that’s a good question. I’m very lucky to be at the intersection where I’m both working in the research organization and also shipping products. You have the kind of mental stimulation of working on interesting, open-ended research, but then it’s really rewarding to drive along the highway and see a billboard of something you worked on, and to be able to share with people by just taking my phone out and opening the camera app or photo editing app and showing them what I work on directly. You know, everyone kind of cares about what their photos look like.

Can you speak to the most challenging part?

Glaser: I talked about the fun of working on something open-ended, but on the other hand, there are challenges to that. You don’t know if you’re going to succeed. There are a lot of different directions that you could take the project, and so, there’s the decision-making process. Sometimes, you need to just kind of get over it and try something.

What’s something new you’ve learned on the job? 

Glaser: If you feel like you’re not learning on the job, especially if you’re right out of school, you should probably change jobs. That’s hopefully true throughout your career—really, it should be challenging, and you should be learning things continuously. I’ve explored different domains on on-device models from video editing and computer vision. Technically there’s definitely been a lot of learning. In terms of just how to work and soft skills—communication is one of them. Sometimes there’s a hard deadline we’re working with—when the phone ships, when the phone is hitting the shelf—and you just really need to go back to the people you’re working with and communicate where you are and how long you need [for a task]. Communication is really, really important.

Overall, what motivates you to be a software engineer?

Glaser: I think it’s that idea that you have the power to bring something that you want to exist into existence. That’s a really powerful concept. As a software engineer, you can literally make something on your computer with little to no budget. That was another reason why I liked robotics back in the day—it’s this idea that you are not beholden to anyone. If you want something to exist, you can just make it happen.


Kalissa Greene, ’25, is an editorial intern at Stanford. Email her at kdgreene@stanford.edu.

You May Also Like

© Stanford University. Stanford, California 94305.