Carol Toro, Staff Software Engineer at IBM, joined us for a conversation about how she re-oriented her career to software engineering by going back for a second bachelor’s degree in Computer Science.

Carol had studied Latin American and American studies as an undergrad student at Scripps, and had spent a few years at Microsoft after graduation in a Program Manager role.

Topics of this episode include:

  • how Carol decided that a second bachelor’s degree was the best educational route for her
  • what are some of the educational resources Carol found useful in her career transition
  • who were the best educators Carol encountered in her self-studying

For the full text transcript see below the fold:


Max: Welcome, all. Max of the Accidental Engineer here. Today we’re joined by Carol Toro, Staff Software Engineer at IBM in San Jose. Is that right?

Carol: Yes, in Silicon Valley.

Max: In Silicon Valley! Carol and I have known each other for a long while, but in that time Carol has changed careers in a pretty dramatic way–you became a software engineer which makes you a freaking great guest to have on the show.

Do you mind sharing for our audience what it is that you work on at IBM now?

Carol: Yeah, definitely. I work at IBM doing statistical software that scientists or statisticians can use. We’re basically revamping SPSS.

Max: We both went to college together—do you mind sharing for our audience what your majors were first time around in the bachelor’s program?

Carol: When I went off to Scripps College my major was Latin American studies and Hispanic Studies.

Scripps College

Max: Nice. And after college, what is it that you did professionally?

Carol: After college I went off to work at Microsoft in Seattle where I was a program manager on the sales and operations side. I didn’t feel challenged. I always wanted to do something with computers ever since like fifth grade sixth grade.

In sixth grade I would make websites for my friends because the AOL websites were pretty boring so I’d be on like Angelfire and make websites for my friends. I was always just interested in computers.

Max: I know a lot of our audience are in their first, second or third software engineering jobs or maybe have not gotten one yet.

To give people a perspective on how your background looks like, did you take any computer science classes in undergrad?

Carol: I did not take any computer science courses in undergrad.

Max: Do you mind sharing how you ended up at Microsoft?

Carol: Okay, it’s an interesting story. It was my freshman year at Scripps College, and I noticed that there wasn’t a place to actually sell books or furniture. It was those email digests and they were annoying to go through every single mail digest just to see what’s available. So I basically went without sleep for like a couple of days and I built a PHP auction website for all the Claremont college students to use.

And to me, it was so much fun–whenever I had encountered a technical challenge of me trying to figure out, “Okay, what… how do I fix this bug?” or “what do I do so that the website runs smoothly?”

I kept the website running for a little bit but because it was just me it was too much to promote to get other students to use it but it did have about 100 students that were using it and that was pretty awesome.

Max: I did not know this. So you built eBay at the Claremont Colleges?

Carol: Yes, I did.

Max: I think a lot of people–knowing that you didn’t do your undergraduate in computer science–are probably, A) amazed but, B) are wondering well, how did you obtain the skills to figure out how to build such a website?

Carol: Google. I’ve always been the type of person that–if I don’t know how to do something I’m just gonna go on Google and figure out a tutorial or best practices, that kind of thing.

Max: You mentioned building websites for your friends before college, giving you the skills to know about HTML and CSS and the user interface of your website.

But what were some of the resources that you found online through Google to self-educate?

Carol: I definitely used Lynda, and then there were just so many tutorials online if you had the right search terms on Google it was pretty easy to find things. It was also really easy to find templates of other websites.

Max: When you moved to Microsoft after college as a Program Manager, when did you decide that you wanted to make the change to being in a software engineering career track?

Carol: When I was at Microsoft I did a lot of things that required trying to working with engineering to either fix phishing problems that we were experiencing with Bing ads or trying to fix our internal tools.

I always felt like my hands were tied when we would tell engineers, “Hey, we need to be able to do this.” And then they’d come back and their solution just wouldn’t solve our problem. And I was like, “you know what, if I really wanna solve these problems I need to be on the engineering side.”

I think that’s one of the things that really motivated me to go back to school and get a Bachelors in Computer Science.

Max: Do you mind sharing for our audience what curriculum-wise you learned during that second bachelors, like, what were the best parts curriculum wise?

Carol: The best part was that I didn’t have to do any of the GE requirements since I had already done that with my first undergrad. But I just loved the curriculum.

It went from everything from web development, databases—we started off in C++ and then we did all of the algorithms class in C which at that point was really painful. It was really painful working in C because there’s other languages that are so much easier to use, you don’t need to worry about pointers. But I’m kind of glad we did it in C because now I think I have a better understanding of how these languages work.

Max: Was there a good crossover from your experience having built an auction site in PHP and having some familiarity with programming to when you were starting to do the C++ and C courses?

Carol: I don’t think so because I think a lot of years had gone by with me doing that auction website and then me never touching the website again.

Max: For people who are in a position of self-teaching a lot of these topics, you mentioned Lynda as one resource for learning programming—wwhat were some of the other resources you used to augment textbooks that they gave you in the Computer Science Bachelors program?

Carol: I really liked some of the textbooks that they recommended for our classes, but honestly Coursera. They have these amazing learning tracks and then they also have these UCSD courses that are actually taught by Professor Christine Alvarado who actually used to be a computer science teacher at Harvey Mudd. Once I found those classes I was like, “Whoa, I’m taking Christine Alvarado’s classes.” And I really loved those classes. They were really good.

Max: Before recording, you were telling me that you did not end up doing an undergraduate degree in Computer Science, that Scripps College–which is part of a consortium of colleges along with Harvey Mudd where Christine Alvarado is a Professor–did not have a major in computer science?

Carol: That’s correct. They did not have a major in Computer Science during my freshman year, and you had to jump through a lot of hoops if you wanted to do Computer Science.

Max: Got it–I guess the second bachelors you did was kind of emotionally fulfilling when you decided to do it. Were you regretful that you didn’t get to do it your first time around at Scripps?

Carol: I was a little bit regretful that I didn’t get to do it my first time around, but then I realized, you know, everything happens for a reason. I took a certain path and that’s what’s led me to where I am at today.

Max: After this second bachelors you were looking at entering the job market as a software engineer–how did you seek out employers and prepare yourself?

Carol: In terms of seeking out employers I had really specific criteria. It either had to be in downtown San Jose or south of San Jose because I didn’t want to have to deal with commuting. When we lived in Seattle I was living on the east side and I was working in downtown Seattle, and that commute was just brutal. So when I started looking for software engineering jobs I was very specific. I was like “I want to go where there’s no traffic.”

Max: We should clarify for our audience that Carol’s significant other is Jose Moreno, who we’ve recorded an interview with, who himself is also a software engineer at Netflix.

Given that your criteria were so specific geographically, did it feel high stakes when you went in to interview with employers in the area since you might have felt like there were so few roles that you would want?

Carol: It did feel high stakes but, I mean, at that point I was like: “I value my sanity.”

I’ve always said I don’t think I’ll ever move to San Francisco because it’s just too far away.

Max: Was IBM the only employer that you chose to interview with?

Carol: No, I interviewed with several employers. I think one of the things that I really liked was the IBM interview process.

The first screening is over the phone, it’s like a shared whiteboard where you’re typing in code and working with someone, and then the next interview is actually a couple of hours long where you’re on the computer and you need to have a web cam and you’re actually recording your explanations as you’re solving these algorithm problems, and I really like that.

Max: Is the team that you’re on now hiring? Are there roles we can plug right now?

Carol: I’m sure there’s tons of hiring going on–it’s usually during the Fall where IBM does a lot of recruiting, specifically for new undergrads.

Max: And in the show notes we’ll include links to the IBM jobs listings.

You mention recent or new grads are welcome–in contrast to Jose describing Netflix’s criteria for candidates—where they do not hire recent grads or new grads, so that’s really promising to hear.

Carol: It is.

Max: What skills-wise do you have to recommend to prospective applicants?

Carol: At IBM we’re definitely trying to use the latest technologies and there’s a really big push for NodeJS, so brush up on JavaScript, be familiar with Node.

Just be willing to learn and to think about things like, okay, if you’ve already learned this language, try to think about it, “Okay how can I take what I’ve learned here into a different language.”

Max: One of the amazing things about you as a guest on the Accidental Engineer is your background–getting that second bachelors in Computer Science, not having done college first time around in Computer Science.

I think topics-wise a lot of our audience would be interested to hear more about how you approached self-teaching on topics like you NodeJS, you’ve mentioned SPSS. How did you approach learning a new topic on the job like Node JS?

Carol: I think I’m just really big on coursework. Udacity is also a great tool where you can go on there and they have specific tracks that will walk you through everything and have you build little, tiny projects.

I think that was a great way to get your hands dirty with the code and hands-on experience of small projects that you can later showcase [to employers].

Max: When you go to these websites, which courses do you prioritize as worthy of taking?

Carol: Before I got my job at IBM I actually prioritized based on the job descriptions that I was looking through.

I was like, “okay, so it looks like there’s more jobs that are interested in these topics” so that’s how I prioritized the courses I was doing on those online websites.

Max: How did you know when you were prepared to apply to these jobs?

Carol: Can I be honest with you?

Max: Absolutely.

Carol: I still don’t feel prepared!

Max: Fair enough! That being said, you’re now a staff software engineer at IBM, been there for ten months–what pushed you over the decision barrier to hit “submit” or e-mail that hiring manager at IBM?

Carol: I mean, I had also tried the “Cracking the Coding Interview” book and gone through that and done a couple of those things and I was like, “You know what? I think I’m ready to go apply.”

I just had to and was like, “You know what? I probably should get a job soon because I’ve just graduated, you can’t just be here learning for fun. I have to find a job soon.”

Max: Any other piece of advice for yourself five years ago?

Carol: Find something you’re really passionate about and try it out and see if it’s something that sticks and it’s something that you like.

Max: We’ve plugged roles at IBM, you guys are hiring new and recent grads. The data science experience team sounds really cool. Do you have a very customer-facing role as a staff software engineer?

Carol: Not really.

Max: So then how do you get information in your role about work priorities for the product?

Carol: We have a great offering manager that will provide and let us know what the priorities are, and then we have a great design team in Germany that actually does user testing and gets user feedback on the different designs that they give us.

Max: Is “offering manager” at IBM similar to a “program manager” at Microsoft?

Carol: It might be more similar to our product manager.

Max: What culturally did you find different from your first job at Microsoft versus your current job at IBM?

Carol: Not much was different.

Max: Coming from Seattle in one case to San Jose in another, is there much difference between the cities?

Carol: I can’t really compare them because when I was in the Seattle Microsoft Office it was a satellite office. It wasn’t the actual Redmond headquarters.

Then I was also in operations of sales and marketing. The office was filled with that. And right now in our office in San Jose it’s mostly engineering.

Max: Do you have any other opinions that you can share about what skills are going to be really valuable, forecasting into the future?

Carol: I definitely think Python—there’s so many Python libraries out there that it’s becoming easier and easier to do things.

Max: This has been a pleasure! Thanks for joining us Carol.

Carol: It’s been a pleasure. Thanks, Max.