Skip to content

Design → Software → Product → ?: My Traveling Student Problem

Have you ever walked down a supermarket aisle for some ice cream, only to see this:

You might’ve been craving something you know you’ll love and found yourself here — but suddenly, you’ve got hundreds of options. Some of them are from big brand names you’ve seen since you were 5. Some of them are even the same flavor, or are marketed as different things despite having identical contents. Some of them sound exciting and new– you’re tempted, but don’t actually know anyone who’s tried them. What do you choose?

That’s more or less how I feel about career choices in tech. I’m in love with using, analyzing, and building technology and my one goal has always been to bring the best of what it can do to users. That said, when choosing a tech internship, most roles specify “design”, “UI/UX”, “software engineering”, “product management”, etc. For the past 3 summers, I’ve tried to sample various flavors. Today, I’d love to share my journey and key learnings through them.

Design Intern @IBJ (Tokyo, Japan)

I feel very strongly about ensuring that every piece of technology provides an intuitive and accessible experience for all. Because of this, I decided to pursue a web design internship at a small edtech company in Tokyo to better be able to understand how to do that.

What I liked: I had the opportunity to conduct a variety of research to truly understand my potential users. Some examples of this are A/B testing, usability testing, and feedback surveys. This challenged me to look past my own biases or tendencies and design with more insight and empathy.

What I disliked: While design incontrovertibly plays a large part in a user’s experience, I felt like I was only thinking about a partial experience. The product’s overarching goal was already specified in the technical design documents that I was given. Through the internship, I found myself wanting to be more involved in how to make the product technically better (reduce latency, ensure security, etc.) and assessing the larger product vision.

Advice for anyone looking into this role:

  • Be savvy with your design tools (e.g. Adobe Photoshop, Sketch, Illustrator, After Effects, Quartz Composer, Framer Studio, etc.)! In many cases, you’ll even be expected to have some front-end dev experience to prototype and test your own designs.
  • Study up on user-centered design principles and effective research methods — some things are universal, and others are a little more controversial.
  • Practice communicating your ideas, both visually and in words. This is important in securing the role (they’ll probably ask you for a portfolio).

Explore Program @Xbox/Microsoft (Redmond, WA)

After feeling like I understood the design role in tech, I wanted to pursue other opportunities. I felt like either software engineering or product management might be the perfect fit for me, especially because in my first internship, I realized how closely design and engineering/product can collaborate to make an amazing product. However, I was torn between the two roles. This was when I found Microsoft Explore, a 12-week rotational program specifically designed for interns to try both. Because this was a mix and I’ll later address the software engineering role I had at Twitter, I’ll only go over the PM side here:

What I liked: Thinking about a problem and ideating on a solution was so exciting! I felt like this was the first role where I truly owned a product vision from its inception. Moreover, there were so many opportunities to work with various teams such as engineering, design, and even sales.

What I disliked: Unfortunately, product management is often romanticized. I found that I had to allocate significant amounts of time to following up with teams or individuals on deadlines, writing extensive documentation/paperwork, and removing unexpected roadblocks. I also really missed doing the actual building of the product.

Advice for anyone looking into this role:

  • Start thinking like a PM, day-to-day. What I mean by this is start analyzing products you use. Think about who the users are to push yourself outside thinking only about your own needs. Think about what problem the product is an attempted solution for. Think about what users might be frustrated by, or what they might love. Try to succinctly articulate all of this, even if it’s just to yourself, because you’ll be asked to do this in interviews and on the job.
  • Use and improve your relevant skills. Even getting a phone screen for PM opportunities is competitive. However, showing leadership/initiative and previous relevant experience can boost your chances and help you become a better potential PM. Run for leadership in a school organization, organize a hackathon, or try some entrepreneurial work. These kinds of achievements are great ways to get some “PM skills” without being a PM.
  • Stay informed. New tech trend? Big news in the industry of a company you’re interested in? Staying updated and having informed opinions can go a long way as a PM, as it’s imperative to fully assess a potential product/feature in context.

Software Engineering @Twitter (Boston, MA)

After Explore, I was still conflicted (back to the ice cream analogy, ever asked for two samples that tasted super different but you couldn’t pick one over the other?). Because I’m a CS major and love coding, I figured I’d start by exploring software engineering.

What I liked: I became a CS major because I love building, debugging, and seeing things work — software engineering allowed me to do just that.

What I disliked: I still felt a little removed from the actual larger-scale decisions that went into a product. Moreover, I’m a people-person. I thrive in environments full of conversations/meetings/cross-team collaboration, which I felt my role lacked in opportunities for. Honestly, I got lonely pretty fast.

Advice for anyone looking into this role:


  • Prepare like hell for the interviews. There’s a lot that you can’t expect in them, but there’s also a lot that you can– and what’s the benefit of leaving any of that up to chance? Study up on all the common data structures and algorithms, read up on some system design principles, and do as many practice questions and mock interviews as you can. If you prepare, it’ll really show!
  • Personal projects are a huge plus. Do them to build your technical repertoire (and maybe score yourself a phone screen!) and improve your coding ability.
  • Be passionate about coding. Your job will be primarily this, so make sure you’re not only “okay” but excited about a full work week (and career) of that.


The Future

So here I am. It’s junior year, and I’ve got one internship left — and I’ve chosen my favorite tech flavor so far, product management. It’s been my favorite role because of how much I’m able to think about a product’s significance and place more than anywhere else, and directly let me try to understand and address users’ needs.

But then again, I never had liked coconut ice cream until a few months ago when it became my favorite. The same might be for some other role down the road for me. No matter where I go, I always want to remember why I wanted to contribute to tech in the first place and embrace change. Every time I’ve decided to try something new, it’s been intimidating (Preparing for new interview questions? Asking all of the “dumb” questions all over again? The list is endless…). But it’s brought me to this point in my journey, and I think bringing my entire enthusiasm and self is what’s most important in feeling fulfilled by my work and contributing the most value I can. So I’ll keep rolling down the tech aisle browsing the shelves… and hope everyone else gets the opportunity to do the same!


-Allison Lee, 2019 RTC Fellow

Rewriting the Code – Empowering College Women in Tech

Test Test

Hire more women in tech with Rewriting the Code

Together, we can make the tech industry more diverse and inclusive. Becoming an RTC partner demonstrates your company’s commitment to diversity and inclusion while making a positive difference in the lives of underrepresented communities.

We’d love to connect with your team to learn more about your hiring goals and how to best showcase your company to Rewriting the Code members. Complete the form below to get in touch.

Are you a student? Join Rewriting the Code free here