Maribeth Bottorff is one of our three class-of-2016 undergraduate majors who went to work for Google. We are extremelly proud of her. At our request, she has written the short article below about her undergraduate experiences and her advice for getting a job at Google or other major tech companies.
My name is Maribeth Bottorff and I graduated in May 2016 with a Bachelor of Science in Computer Science from UofSC. In July, I started my full-time job as a software engineer with Google through their Engineering Residency, a rotational program for new graduates. When I tell people I work at Google, I get the same reactions: “Wow, you must be so smart!” or “Wow, how did you get that job?” or “Wow, that’s awesome!” Yes, it is awesome and, yes, I’m really excited about it. But, no, I am not a prodigy, though I have worked hard to get here. And now I’m going to tell you how I got the job.
But I want to stress that
this is not a formula, it’s just a glorified list of things I did and somehow at the end of it all they wanted to hire me. You could do all of these things and not get interviewed. You could do none of them and get hired and make way more money than me. Just remember that these are not instructions for you to follow, just some ideas that you could perhaps take inspiration from.
Coursework
Your coursework is the most important part of getting a degree, and I’ve been asked several times in interviews about my classes. It’s also helpful that I have projects on my resume that I did for class. I worked hard to keep my GPA up, but I also took classes that challenged me and were interesting. I could probably have found a way to have my same GPA but with less work, but instead I opted to have stories to tell from the classes I took. For example, I took the Critical Interactives: Ward One class with Dr. Buell, which was challenging technically as well as personally, and I invested a pretty large chunk of my time into the class. But I’ve also spoken about this class and the Ward One project during interviews more than any other single experience I’ve had in college. During behavioral interviews I told stories about teamwork, designing for clients, finding bugs, coping with failure, compromising for deadlines, and so many more situations all from this single class. I also took CSCE 750, the graduate level Analysis of Algorithms class, which was very tough but made me a better computer scientist as well as enabled me to better answer technical interview questions. I could have chosen an easier elective, but I would have gained fewer transferable skills from that kind of experience. The GPA as a number on my resume takes up very little space compared to the skills, projects, and experiences that I am able to list.
Projects
Another important component of my resume is my projects section. Throughout college, I spent some time working on personal projects that reinforced what I was learning in class. Recruiters I’ve spoken to are interested in real-world applications of the knowledge I’ve gained in the classroom, not simply that I’ve heard someone lecturing about a topic. Depending on your specific circumstances, you may not have a lot of time to devote to projects outside of class, but I recommend making it a goal to work on something, even if it isn't very big. In fact, none of the projects that I've done outside of class have been monumental, but employers have nonetheless been very interested in them. Some example projects I've done: a Java program that reads in a text file and generates JavaScript to make an online interactive quiz, a Python program that scrapes a web page for the school weather closing status and texts me (using a free Twilio account) when we get a snow day, or a comment board that can post and update comments using Facebook’s React framework. None of those projects are huge and they will never be used by anyone other than me, but I talked about them during interviews and some of them have been on a resume at various points in time. It’s worth spending a little time, even just a weekend or a couple of hours one afternoon, creating something for yourself instead of for class.
Hackathons
Another way you can generate projects for your resume is by going to hackathons. A hackathon is a typically 24 or 36 hour event where teams create an app from scratch over a weekend. Some might be themed, like hackathons to “hack” healthcare, but typically teams can build whatever they want. You can win prizes, but they’re also a good way to learn a new technology and add a project to your portfolio. They aren’t for everyone, and it’s okay if you never do them or you don’t like them. I went to PennApps in January 2016, which is one of the biggest hackathons in the country. It was pretty fun, but I’m not sure I would do it again. If you're an adrenaline junkie or you just like to stay up all night coding anyways, you might have a good time. There are also hackathons specifically aimed at beginners and people who have never been to them before, which might be a better place to start than something like PennApps which was pretty competitive. If you want to go to one, look on places like DevPost for hackathons, which typically occur in the spring and sometimes fall semesters. Many of the larger hackathons have travel reimbursements that you can apply to. For example, I went to PennApps in Philadelphia for about $15 because they reimbursed me for nearly the entire cost of the plane ticket, I didn’t need hotel accommodations because I was staying up all night hacking (or sleeping in their designated sleeping quarters), and they provided all the food and snacks (and caffeine). So even if you're on a tight budget, you may be able to participate by applying for travel reimbursement, and while you're at it, you can travel around the country or even the world (one of my friends / fellow UofSC student went to a hackathon in Switzerland) for free or a low cost to you. I now have a hackathon project on my resume and I get to talk about using AngularJS, Ionic, NodeJS, and MongoDB in interviews, which are all skills that aren’t taught in any class that I’ve taken in school but which are immediately applicable to many software engineering roles.
Events and Conferences
Hackathons aren't the only events that offer travel grants, either. I’ve attended more than half a dozen conferences and events, many of which were partially or completely funded by someone else. If you’re presenting at a conference, your research mentor, the department, or student government may be able to help fund you. If you're a woman and interested in attending the Grace Hopper conference, first you should talk to your advisor or other professor who knows you so that you can be nominated for our department to send you, but you can also look at other scholarships to go, such as those offered by Google, Microsoft, Facebook, Salesforce, etc. One of the coolest conferences I got to attend was the Apple Worldwide Developer Conference in June 2015. Normally tickets are $1600 and awarded in a lottery system since it’s so popular, but I was given a free ticket to the conference through the WWDC Scholar program. I built an iOS app about myself in Swift (using the skills I learned in the Critical Interactives class I took) and was selected for a scholarship based on my app. I was in the same room where Tim Cook announced Swift would be open sourced, and I watched people clap way more for that than they did when Drake came out on stage! It was a great time and I got to go without paying for a ticket (which I never would have done on my own).
Internships
The most important thing on my resume, though, when it comes to applying for full-time jobs, is my software engineering internship. Having an internship relevant to what you want to do after you graduate is so important because employers want some evidence that you know how to show up to work every day and can contribute in a corporate setting as well as the classroom. I attended the SET Fair put on by the Career Center on campus and got an internship at Premier, Inc. At the time of my interview, I had not yet finished CSCE 240 and I knew very little about software engineering, but it turned out to be an amazing summer, and I left with two mentors, several close friends, an excellent letter of recommendation, and a job offer for when I graduated. I also learned a ton of skills, like working with source control, databases, web apps, JavaScript frameworks, all of which are things not normally addressed inside the classroom. I don't think I would have gotten my job if I hadn't interned.
I didn't intern as a freshman (because I was a chemistry major at the time!) but I do want to add that it is possible to get an internship as a freshman! Don't count yourself out because of how inexperienced or young you are. The advice I give to literally everyone is “let them tell you no.” Meaning, if you're not sure whether a company will take freshman interns, apply anyways and let them tell you they don't, rather than counting yourself out and not even applying. You can/should apply for regular software engineering internships, but it’s also worth checking into the freshman-specific programs that some companies have. Some examples are the Microsoft Explore program, Facebook University, and Google’s Engineering Practicum, and I believe there are others. Definitely attend the SET Fair when it comes around, and practice speaking to employers and talking about yourself and your accomplishments. You can also meet recruiters at places like hackathons and conferences that you get travel money to attend!
Grace Hopper Celebration
In fact, one of the best places to meet recruiters is at the Grace Hopper Celebration career fair. I mentioned GHC before, and I highly recommend that all women try to attend. The Grace Hopper Celebration is the largest gathering of women in technology in the country; last year around 12,000 people (mostly women) attended, including representatives from over 200 companies that are trying to hire interns and full-time employees. Get a professor to nominate you for our department’s funding to go, and also check out scholarships from companies like I mentioned earlier. If you get to go, work on your resume and upload it to the resume database as soon as it opens! This is so important. I got over 30 emails and phone calls from companies either inviting me to set up interviews or to apply with priority on their online applications. I had 4 interviews at Grace Hopper last year, which led to 3 on-site interviews and 2 job offers, in addition to the other offers I had from other sources. I also turned down multiple interviews because I didn’t have enough time at the conference or because I already had better job offers on the table.
Owning Your Accomplishments
The last thing I want to mention is that you should be able to talk about yourself and your accomplishments. If you've done all these great things like having an internship, completing personal projects, and going to hackathons, but nobody knows what you did, it’s hard to catch the eye of a recruiter. Don’t neglect your technical writing skills - you may need to impress both a hiring manager who can program and a recruiter who is technically illiterate with the same document. You need to have a solid resume that quantifies what you’ve accomplished and a LinkedIn profile that is up to date and tells a meaningful story about your experiences. It also helps to have allies/mentors/advocates who know you and can tell other people about your strengths. For example, Google has a form that professors can fill out to recommend their high achieving students, and the fact that at least one of my professors filled this out for me helped me move on to on-site interviews for my job. I also completed Graduation with Leadership Distinction, which you should also be able to complete if you’ve done the sort of activities I've mentioned here, where I was required to write a portfolio about my undergraduate experiences within and beyond the classroom. Completing the GLD portfolio helped me think critically about the things I've done in the past 4 years and how my extracurricular activities related to my classroom learning. Though I completed the portfolio after I already had a job, putting it together was a great way to reflect on my college career as I was about to graduate and improved my communication skills, which I'll need in my future career.
I could probably write an entire article about each one of these topics, but I think I hit the highlights. Like I said at the beginning, this isn't a formula to follow but simply one person’s advice and priorities out of the many, many things you could choose to do with your college career, such as undergraduate research, volunteering and working with youth in STEM, being a teaching assistant or peer tutor, contributing to open source projects, or doing freelance/contract work. If you have any questions, feel free to get in touch via Twitter (
@mebottorff), email (
mebottorff@gmail.com), or connect with me on LinkedIn. Good luck with your job search!
Resources