With the rise of big data, machine learning, and artificial intelligence, computer science has become relevant for virtually every type of career. Professionals in fields like medicine, public policy, history, and even the arts are using computer science skills to develop innovative ideas and solutions.
The Online Master of Computer and Information Technology (MCIT) program at the University of Pennsylvania is designed for students from non-computer science backgrounds who want to take advantage of new opportunities to advance their careers. This program brings online the established on-campus MCIT degree that has a history of empowering students from diverse academic backgrounds to succeed in computing and technology fields.
To better understand what it takes for someone with little computer science exposure to land a job at a top tech company in just two years, we talked to recent on-campus MCIT grad Theresa Brenier about how the degree helped her take her passion for linguistics to the next level — and land a software development job on Google’s Speech & Keyboard team.
You got your undergraduate degree in linguistics from Penn. What made you decide to stick with Penn for your graduate studies?
I was graduating with my linguistics degree, but I didn’t really know what I wanted to do next. I wasn’t sure if I wanted to go into academia, which is what a lot of people in linguistics do. I had taken the Intro to Java class at Penn, and I thought that maybe in the future I’d get a PhD in linguistics and do something computational with it. So, I decided I should learn more programming.
I knew one student in the MCIT program and asked him how he liked it. He said it was great and that he learned a lot. I was impressed that he said he “didn’t know anything” before he started the degree. He knew even less than I did, since I’d taken one programming class. I found it really enticing that the program was geared for people that want to start from scratch.
What got you interested in the combination of linguistics and computer science?
I originally got interested in combining computer science and linguistics because I wanted to make the world a better place by bridging communication gaps. I wasn’t sure if I wanted to do translation software that would help people talk to each other, or educational software that helps people learn new languages, or something else — I just wanted to help connect people even if they don’t speak the same language. And it worked out really well, because the team I’m on at Google is working to expand language coverage for speech technology to enable more people to use the internet and communicate with each other.
What was your experience with faculty at Penn?
I was impressed with the faculty, because they all knew computer science, but their passion was for teaching. The whole program is centered around teaching computer science to people that don’t know anything about it, and all the professors were ready to answer questions, be innovative in their teaching, and try to help people to learn in ways that suit them.
How would you describe the other students in the program?
Everyone was really willing to help each other out. We all came from such different backgrounds, and no one had studied computer science before. People had studied economics, or Spanish, or biology. And since people had different ways of thinking, it was really helpful working on group projects. If you were stuck on a problem, one of your teammates could bring a different perspective and help you approach it differently.
I would also say that the students were really motivated, because many had worked in another field for 2-3 years. They showed determination by going through the application process to become a student again.
What about Penn Engineering as a whole? Have you made connections with the alumni network?
Well, the girl that was sitting two desks away from me at the start of the rotational program at Google had a Penn Engineering CS degree! And there’s an alumni lunch scheduled at Google for next week! It definitely seems like there are a lot of Penn Engineering alumni in the Bay Area, and the MCIT connections are strong. Chris Murphy, director of the online degree, was in the Bay Area and a lot of students came out to catch up with him. There’s quite a few alumni at Google, Facebook, and the other big companies in the area.
How did the program help you with your internship?
I interned at a research-heavy team at MIT’s Lincoln Laboratory. While I had the linguistic background, I’d only been programming for 8 months, and the internship required programming in C++. That’s a trickier language that I had only studied in the MCIT program for about three weeks.
However, what I learned from the program was the ability to be like “OK, I don’t know what I’m doing, I’m just going to sit down and look at this code and try and figure out what’s happening.” I like to use the analogy of learning a foreign language in high school and using Google Translate — you need to know how to look up what you’re looking for to get the right answers. It’s like that in computer science. You learn the foundations, and even if you don’t know something, you learn to look it up correctly.
Have these skills carried over into your job at Google?
Oh yeah, these are key work skills for any job, but especially for programming. Computer science is a vast field, there’s no one with perfect knowledge about everything. Even my teammate, who’s been at Google for 10 years, doesn’t know everything about the field we’re working in. He’s always asking questions. That’s just a basic skill, you have to be able to do it.
What was your Day 1 experience at Google? Did you feel prepared by the program at Penn?
It was the same feeling I had during the internship: I felt like I didn’t know as much as other people, but I also realized that everyone felt that way! Nobody expected you to know everything: at Google, all the tools are internal. You can’t know them before you start working there.
You have to be willing to try to figure out where to find answers and ask for help when you need it. A lot of what you learn is going to be “on the job” anyway, but MCIT’s foundational background primes you to be able to pick up new things.
What advice would you give to someone looking at MCIT? What is their life going to look like on the other end of it?
I didn’t go into MCIT thinking I’d be a software developer — I thought it would help me pursue something else. It’s good for that, but you should also be ready to realize that you might decide to become a software developer, especially considering how good the job’s work/life balance tends to be. It depends on the company and position, but it’s usually flexible because you can do your job from your laptop. You don’t necessarily have to be somewhere at a certain time. For example, I’m working from Brazil next week!
What advice would you give to someone who’s gotten into the program, and it’s week 1 – how can they make sure they’re successful?
Definitely start learning time management! Even if you think you know it, it’s different with programming. There’s this saying: “The first 80% of the project will take 80% of the time, and the last 20% of the project will take 80% of the time.” It always takes longer than you think it will, especially the end. You might feel pretty good about how it’s going, but there’s inevitably going to be a small problem at the end that takes time to fix. You need to start early, and spend time on it each day.
Anything else you’d like to add about your Penn MCIT experience?
I was really nervous starting the program. Even though I had studied one semester of programming, I didn’t really know what computer science was, or if I would be good at it. I didn’t know what I didn’t know. I think a lot of people feel that way, and many of them don’t even have a semester of programming experience.
I would say it’s different from things you’ve done before, but there’s going to be a support network of everyone going through the same thing at the same time and they can help you get through it. Be ready to work and know that it’s all going to be OK!