Meet Our Instructors: Diving Into Mobile Development with Caren Chang
In everything we do, CodePath seeks to empower the future generation of software engineers and tech industry professionals. One of the ways we do that is by offering supplemental courses free of charge to college students across the nation. The other day, I got the opportunity to interview Caren Chang, who designs and teaches CodePath’s Intro to Mobile Product Development (Intro to MPD) course.
Caren is currently an Android engineer at Google. In addition to teaching with CodePath, Caren also devotes time to Code2040 and Mentors in Tech. In our conversation I learned more about her experience in tech, as well as what role she hopes Intro to MPD will play for budding tech professionals.
You can read our conversation below. (Note: minor edits have been made for brevity and clarity.)
Questions are in bold, while Caren’s answers are italicized.
How did you get started on your current career path?
I didn’t really know anything about computer science until I got into college. My high school had a computer science class, but I had no idea what that even meant. And I was going to major in English when I was in college, but my parents thought it would be cool to try things out, so I took a computer science course. And I thought it was really cool to be able to produce stuff. So I kept taking computer science classes. Then, I thought, “hey, this is really cool to be able to just sit in front of a computer all day and be able to make things.” I eventually found an engineering job in San Francisco, and then took the Android CodePath class with Nathan [one of CodePath’s co-founders]. And that’s how I got into Android engineering.
So, I’m guessing the answer to how you got involved with CodePath is: you took a course and then you decided to come back to teach a course.
Yeah. I was a QA engineer at my first job — I wasn’t really learning much or being challenged. When I saw the CodePath course being offered for free, I thought that was amazing because courses like this are never offered for free. So I took that class.
And the reason I came back to teach was mostly because I just always really liked teaching. When I was young, I would always make extra money by tutoring or teaching younger students. Nathan was very nice. He really helps get people out of their comfort zone, and he really makes people feel comfortable doing things they’re not usually comfortable with. So he gave me the opportunity to help out with CodePath, which is nice.
That’s awesome. Going back to your day to day job, what does the typical day as an Android engineer at Google look like for you?
I think it depends on what stage of the process the software is in. Sometimes at the beginning stages of a process, we’re going through a lot of meetings, trying to figure out what we’re trying to build. Or talking to a lot of people, making sure that everybody’s on the right track, figuring out what the requirements are. A bit later in the process, we’re more heads down. We’re focusing on time spent actually coding and creating products.
Based off everything you’ve said so far, what would you say is your favorite part of your job?
My favorite part of my job is being able to interact with Android developers — hearing their stories about how they’re building Android apps and hearing the things they like and they don’t like, and then taking that feedback back to the engineering team and trying to make life easier for developers in general.
[For example] developers might say, “Hey, it’s really hard for us to write a camera app because there’s so many different kinds of Android phones. And it’s hard for us to write a camera app that works on every single Android phone.” Then I go back to the engineering team and try to figure out how we can make it easier for everybody to write camera apps for Android phones.
That’s probably one of my favorite parts of my job: talking to people about what works, what doesn’t work, and trying to make sure that things actually work like they’re intended.
What’s your least favorite part of the job?
That’s a hard one. I don’t know what to say. Maybe meetings? To go into that a little bit further: when I was in college, I didn’t know how much coordination was involved between people to make something happen. I thought, “Hey, you just give me a task. I do it. Everybody does their own thing. And everybody’s happy, right?”
I didn’t realize how much coordination is involved to ship a great product.
Speaking of the coordination involved to ship a great product, what skills have made you successful in your current position?
I’m not too afraid to let people know that I don’t know what’s going on, which is a good thing. In the beginning of my career, I was really scared that people would be like, “Hey, you should know how to do this by now. That’s why we hired you.”
But as I got further into my career, I started to realize it’s way more efficient if I go ask people for help. And then they’re able to tell me what they know, and I could be more efficient, myself. So asking for help, I think, has been a good skill.
What advice do you have for students aspiring for a career like yours?
I think my biggest advice is to never be too hard on yourself. At the beginning, it’s really hard. As a junior engineer, it’s hard to get in the industry in the first place. So being able to face rejections and learn from your mistakes. Learning how to handle rejection is really important, and not just giving up and being like, “Hey, I’m not meant for this, because this is really hard.”
In college, I felt like everybody else was so far ahead of me in terms of how much they knew, and it felt like everybody was studying so much less and doing so much better than me. I thought, “Maybe I’m not meant to study CS.”
So I think if I could tell people something about this, it’d be, everybody’s doing this at their own pace. But just because it’s really hard in the beginning doesn’t mean you’re not meant for it. And just because it looks like everybody else is having an easier time doesn’t mean they’re better at it, it probably just means they’ve put in more time. So you just need to put in more time and keep going with it. Don’t give up.
What are some of your current career aspirations?
This is going to sound weird. But I don’t think I’m like the best engineer in the world. But I think I am really good at teaching other people and passing on information. So I think some of my career aspirations are not doing something great myself, but passing on knowledge and helping other people be great, if that makes sense.
Why did you design the intro to mobile product development course?
I think, at least for me, when I was in college, CS classes were very theoretical. So you don’t really know what you can do with all these things you’re learning. And the other thing is because it’s so theoretical, it doesn’t seem applicable to the real world, so this Intro to Mobile Development class is meant for people to actually build the app and show it off to their friends and family. So this is more of a, “Hey, it’s not that hard to do something like this. This is totally something that you could do for fun. And this is what you do with all the knowledge you learn.”
And the other part of this course was to show people the different kinds of things you can do with programming. Because when I was in college, I was just like, “Oh, you know, you’re a software engineer, you sit in front of your computer, you program.”
But I didn’t really understand what type of programming there is. So part of this course will also tell students that with a CS degree, you could do things like UI, for example, you could build screens. Or you can do more back end stuff, like dealing more with data.
And we also try to sprinkle in a lot of guest speakers in different kinds of tech careers, such as product management, or product designer or project manager. I’m trying to help people understand that there’s a lot of different career paths you can take with a CS degree.
What three things do you hope students will take away from this course?
I think the biggest one is just that mobile development is very approachable. So if you’re interested in mobile development, it’s not that hard to get into. And it’s really fun, because it’s fun to build something and be able to show it off to your friends or family, that’s probably the biggest one.
The second one is a lot of different things you can do with a CS degree. If you want to work in tech, there’s a ton of different things you could do. You don’t have to just sit around the computer and program all the time, you could do a bunch of other stuff, depending on what you like to do and what you think you’re good at.
The last thing is — one thing that was really hard for me when I was in undergrad was finding other people like me who were majoring in CS. So hopefully connecting students to other people that they can use as resources as they’re going through their CS training.
Okay, that’s awesome. So I have some just for fun questions for you. If you had a million dollar windfall, what would you do with it?
You know, I don’t think if I got a million dollars right now, I would do anything drastic. I might take like a year off and just sit at home and see what I do with that time, because I don’t even know what I would do with that extra time. But I gotta live my life right now — I don’t think I would do anything too drastic.
How would you describe your current job to a five year old?
I help people build the apps that you see on your phone where you play games and do all that stuff.
Okay, speaking of five year olds, do you think five year old Caren Chang would be proud of the current you?
I don’t know what I was thinking when I was five, when I was five I didn’t even speak English. But I think five year old Caren would be okay with Caren today, since I’m pretty happy in a general sense.
Do you think 18 year old Caren would be proud of the current you?
18 years old. That’s high school, right? Yeah, I think 18 year old Caren would be proud. I remember when I visited Google the first time and I saw all these people going down slides and getting free food. Google sounds like a friggin’ dream company. It was honestly not even in my mind that I would be able to work at Google. So it’s pretty cool that somehow I was able to get in. And I’ve always wanted to be a teacher since I was in elementary school, so being able to help out with CodePath at the same time is honestly the best combination I could’ve asked for.
If you are a college freshman or sophomore interested in taking CodePath’s free Intro to Mobile Product Development course, you can apply here.
The early and regular application deadlines are January 6, 2021 and February 6, 2021, respectively.
You can also learn more about Intro To Mobile Product Development by viewing the syllabus here.