Checkout our website for prospective students.

How I Landed a Job at Google - by Maribeth Bottorff

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

Dr. Rekleitis Receives NSF Grant for Underwater Robots

We congratulate Dr. Ioannis Rekleitis for receiveing an NSF research award for his project titled "Enhancing Mapping Capabilities of Underwater Caves using Robotic Assistive Technology"
This project develops robotic assistive technologies to improve mapping capabilities of underwater caves. The project enables the practical construction of accurate volumetric models for water-filled caves. The technology of this robotic system can also be deployed on underwater vehicles enabling the autonomous exploration of caves and other underwater structures. Furthermore, the data and software, released under an open-source license, enable researchers to test algorithms on computer vision, state estimation, and sensor fusion, in challenging environments. The project integrates research and education through training graduate and undergraduate students and enhancing several graduate and undergraduate courses at the University of South Carolina.
Full Abstract:
This project develops robotic assistive technologies to improve mapping capabilities of underwater caves. The project enables the practical construction of accurate volumetric models for water-filled caves. The technology of this robotic system can also be deployed on underwater vehicles enabling the autonomous exploration of caves and other underwater structures. The developed techniques can also be used in some applications of aerial and ground vehicles. Collected data from field deployments of the developed sensor are made available to the wider robotic, geological, and speleological research community through public-domain releases in order to further innovation. Furthermore, the data and software, released under an open-source license, enable researchers to test algorithms on computer vision, state estimation, and sensor fusion, in challenging environments. The project integrates research and education through training graduate and undergraduate students and enhancing several graduate and undergraduate courses at the University of South Carolina. The project also engages undergraduate students from Benedict College, a Historically Black College or University (HBCU). The collected data are used in outreach activities to recruit high-school students of the greater Columbia area in STEM education, engaging students and educators, particularly in underserved communities.
This research develops 3D reconstruction algorithms utilizing the environmental characteristic of a cave system. The research team studies robotic technologies for sensor fusion of multiple data streams in a single unit and validates experimentally the developed system via extensive testing in underwater cave explorations in collaboration with expert cave divers. The project introduces robotic technology to the underwater cave explorer community by capitalizing on existing practices in three steps: (a) deploying stereo cameras to be used in conjunction with structured light carried by the divers, (b) developing a bearing-only Cooperative Localization system for accurately recording the skeleton of explored caves; (c) developing a sensor suite that seamlessly integrates inertial measurement unit, sonar, depth, and visual data with state estimation algorithms for the volumetric mapping of the cave. The project enhances underwater cave mapping abilities by increasing: 1) the scale of the area mapped, 2) the safety of the divers by reducing their cognitive load during exploration and 3) the quality of the produced maps.

Dr. Hu Receives NVIDIA Hardware Grant for Deep Learning

Dr Jianjun Hu has received an equipment award from NVIDA corporation for his project on Breast Cancer Diagnosis with Deep learning based image and microarray analysis.
The main purpose of this project is to develop and apply methods in deep learning to solve problems in the emerging field of computational pathology of breast cancer using both large scale of histopathology images and microarray datasets. This project may lead to the development of novel data-driven diagnostic tools for cancer detection, risk prediction, and diagnosis.

Ward One: Reconstructing Memory

The film Ward One: Reconstructing Memory captures the enduring memories of former residents of Ward One, a Columbia neighborhood lost to urban renewal, along with the efforts of faculty and students at the University of South Carolina to preserve their stories. It shows students in our Critical Interactives course building a mobile app that brings this past back to life. Although the physical community of Ward One has been lost to a university-dominated landscape, the spiritual sense of community endures through preservation of memory.

Discovery Day Award Winners

Omar Ansari We would like to congratulate our Discovery Day winners. Omar Ansari won a first place award for his poster "The use of remote telepresence in collegiate classrooms to facilitate eLearning". Steven Dao and Austin Pahl won a first place award for "Enhancing Interactor Experience in the Ward One App". Nicholas Weidner won second place for "Underwater Cave Mapping using Stereo Vision". Blakeley Hoffman won second place for "Cooperative Set Function Without Communication". Theodore Stone and Nathaniel Stone won an honarable mention for "Correlating a Smart Soccer Ball’s Impact Acceleration to Impact Force". Adel Alamri won an honarable mention for "Speech Signs - Signing with Children." Full List of winners.

Dr. Terejanu Receives Research Award

Dr. Gabriel Terejanu, along with Dr. Sourav Banerjee (Mechanical Engineering), Dr. Anindya Chanda and Dr. Robin Kloot (Environmental Health Sciences), has received an award from the Natural Resources Conservation Service (NRCS)/USDA for a data collection project with the title "Using Cover Crops and Soil Health to Reduce Crop Stress and Aflatoxin Contamination". As part of this project the researchers will deploy a sensor network to collect environmental data from a cornfield in collaboration with a local farmer. The data will be used to develop and demonstrate a predictive framework for calculating aflatoxin occurrence in South Carolina cornfields prior to harvest. Aflatoxin is a carcinogenic toxin naturally produced by Aspergillus family of fungi (flavus, parasiticus) occurring in soil and decaying vegetation, which can contaminate corn along with other relevant South Carolina crops like peanuts and cotton before harvest and/or during storage. It is well know that aflatoxin exposure causes one of the deadliest cancers worldwide, namely liver cancer in humans and a variety of animal species. Prediction and control of aflatoxin contaminations before harvest are a fundamental challenge for US grain industry, poultry producers, and makers of dairy products. The predictive model will be used to continuously monitor the aflatoxin incidence in cornfields and provide the farmers with actionable information regarding the best time to harvest and efficient isolation of contaminated areas, as well as testing the role of cover crops and irrigation in plant stress regulation and aflatoxin contamination.

Lin Wins National Award for Outstanding Chinese Student

We are happy to announce that Yuewei Lin, one of our graduating Ph.D. students and also this year’s department Outstanding Graduate Researcher, just received a 2015 "National Award for Outstanding Self-financed Chinese Students Studying Abroad" by China Scholarship Council. The cash prize amount is $6,000. This award was founded by the Chinese government with the purpose of rewarding the academic excellence of self-financed Chinese students studying overseas, encouraging them to return or serve the motherland in various forms, showing the government's care to self-financed Chinese students.

Bottorff Wins Caroliniana Leadership Award

We are happy to announce that Maribeth Bottorff has received the Caroliniana Leadership Award. This award recognizes senior undergraduate students who have been the tireless, behind the scene workers that every successful activity or organization needs. They are leaders through their actions and contributions to the Carolina community. Maribeth is a Computer Science major with a minor in Chemistry and has made significant contributions to the Women in Computing Group, the CSE Student Advisory Council, and the Grace Hopper Conference trip. She will receive her Bachelor's degree this semester and has accepted a job at Google. Bio: Maribeth is a Computer Science major with a minor in Chemistry and is truly an outstanding student. She has been very active representing the university and mentoring younger female students. She was a founding member of the Women in Computing Group where she served as Vice President and then Co-President. She was instrumental in forming the CSE Student Advisory Council and having a suggestion box added to our website. She has made many suggestions for improving the educational experience for our students. She led a group of 17 students to the Grace Hopper Conference, celebrating the contributions of women to the computing field. Attendees were inspired by hearing from female CIOs and other leaders in the field. Top companies like Apple, Google, and Microsoft were there to meet and interview attendees. With her outstanding credentials, Maribeth recently landed a job at Google. Her “Ward One” project for her Critical Interactives course is an IPhone app that makes history come to life for the current residents of Ward One. By combining stories from previous residents, current and historical views of the area, it hopes to engender empathy, compassion, and critical discussions about the role urban renewal has played in our city’s history. She presented this to the residents of Ward One, at the SEC Academic Conference, and at the Carolina Women in Computing Conference. She will be presenting at Discovery Day in April and graduating with Leadership Distinction. Her leadership will be sorely missed by me personally and the department in general. She has been truly outstanding, a once in a decade student. She will receive her Bachelor's degree this semester and has accepted a job at Google.

Cyber Defense Team Places Second

The USC Cyber Defense Team placed second at the 2016 Palmetto Cyber Defense Competition in Charleston on April 10, 2016. This annual competition between eight SC colleges and universities is designed to challenge the students to keep a virtual network of computers and devices secure while a "red team" of computer attackers is trying to compromise them. In this year's scenario, the students were tasked with defending a medical supply company's digital assets while maintaining business operations (delivering medical supplies to four virtual hospitals by deploying a fleet of supply trucks through an online interface.) They also had to perform digital investigations of malicious files using forensic techniques. This competition tests six students' abilities to communicate and work as a team, as well as their technical skills and abilities to adapt and learn new technologies on the fly. "It's like juggling biting geese, while balancing on a beach ball rolling down a steep 2-inch wide ramp - as a team. And you've juggled before, but never with biting geese, so you have to learn that technique as you go," says mentor Ronni Wilkinson. One rock star team member, Dylan Madisetti, rewrote the truck management application so that it automatically deployed the supply trucks where they were needed without human intervention. He put his automated application on a computer that the red team was not attacking, so that when the rest of the network went down, the virtual hospitals were still getting their supplies. Students really appreciate competitions like this because they test the skills that they are going to be using later in the workplace when they graduate. Clemson University came in first place, while the Citadel took third.

Outstanding Student Awards

We are proud to announce the winners of the Outstanding student awards for this year. The undergraduate winners are:
  • Theodore Stone, Computer Engineering Outstanding Senior,
  • Michael Brunson, Computer Engineering SCSPE Award,
  • Myndert Papenhuyzen, Computer Science Outstanding Senior,
  • Jared Piedt, Computer Information Systems Outstanding Senior.
The Graduate winners are:
  • Yuewei Lin, Outstanding Graduate Researcher,
  • Nick Stiffler, Outstanding Graduate Instructor.
Yuewei Lin, also has received a 2015 "National Award for Outstanding Self-financed Chinese Students Studying Abroad" by China Scholarship Council. The cash prize amount is $6,000.

Embedded Systems Textbook

Dr. Jason Bakos is the author of a new textbook titled "Embedded Systems: ARM Programming and Optimization".
This textbook combines an exploration of the ARM architecture with an examination of the facilities offered by the Linux operating system to explain how various features of program design can influence processor performance. It demonstrates methods by which a programmer can make changes to code without changing program semantics, but have a significant impact on code performance.

From the Back Cover

The modern consumer electronics industry as we know it owes much of its success and popularity to two technologies: the ARM processor and the Linux operating system. ARM processor technology powers nearly all modern mobile devices—and most of these processors run the Linux operating system. It’s no exaggeration to say that having an understanding of embedded system design and development from the context of ARM and Linux technology is an important asset in today’s world. This textbook combines an exploration of the ARM architecture with an examination of the facilities offered by the Linux operating system to explain how various features of program design can influence processor performance. It demonstrates methods by which a programmer can make changes to code without changing program semantics, but have a significant impact on code performance. Several applications, including image transformations, fractal generation, image convolution, and computer vision tasks, are used to describe and demonstrate these methods. From this, the reader will gain insight into computer architecture and application design, as well as gain practical knowledge in the area of embedded software design for modern embedded systems.

About the Author

Jason D. Bakos is an associate professor of Computer Science and Engineering at the University of South Carolina. He received a BS in Computer Science from Youngstown State University in 1999 and a PhD in Computer Science from the University of Pittsburgh in 2005. Dr. Bakos’s research focuses on mapping data- and compute-intensive codes to high-performance, heterogeneous, reconfigurable, and embedded computer systems. His group works closely with FPGA-based computer manufacturers Convey Computer Corporation, GiDEL, and Annapolis Micro Systems, as well as GPU and DSP manufacturers NVIDIA, Texas Instruments, and Advantech. Dr. Bakos holds two patents, has published over 30 refereed publications in computer architecture and high performance computing, was a winner of the ACM/DAC student design contest in 2002 and 2004, and received the US National Science Foundation (NSF) CAREER award in 2009. He is currently serving as associate editor for ACM Transactions on Reconfigurable Technology and Systems.

Dr. Tong Receives ONR Research Award

Dr. Yan Tong, along with Dr. Chen Li from the Mechanical Engineering department, has received a research award from the Office of Naval Research (ONR) for a research project on "Bubble Dynamics in a Confined Domain." As part of this project they will develop a fully automatic vision-based technique for detecting L-Vinterfaces. Abstract: As one of the most promising solutions to cool high power devices owing to its potentials of high heat transfer rate with a low pumping power, flow boiling has been extensively studied in the last decade. Bubble dynamics is the key to understand fundamentals of boiling heat transfer. Studies have been performed to understand transport phenomenon including evaporation during bubble nucleation and growth phase as well as condensation on bubble surface in stagnant subcooled liquid. However, bubble or vapor slug dynamics during flow boiling in microchannels after departure has not been studied. In addition, criteria of vapor bubble collapse has not been Bubble/vapor slug dynamics is governed by two important phenomena: (1) evaporation during bubble nucleation and growth phase and (2) bubble condensation in subcooled liquid. Bubble or vapor slug dynamics in a confined domain is significantly different from that in an ordinary domain due to the restriction by the channel wall. We hypothesize that bubble collapse-coalesce after departure and the physics resulting in bubble growth, shrink, collapse, and merge should be equally important to the bubble nucleation and departure, if not more important, in determining two-phase flow pattern and transport performances. In this project, we seek to conduct systematic studies to understand the bubble/vapor slug dynamics in a confined subcooled flow boiling condition in order to better understand flow boiling in mini/microchannels or gaps. Specifically, we will experimentally and numerically study bubble departure diameter and frequency, onset of nucleate boiling, criteria of bubble collapse, and particularly, average and local liquid-vapor (L-V) interfacial heat transfer coefficient under various flow and heat transfer conditions. Accurate measurements of fluid temperature are extremely challenging, but critical to quantify important governing parameters of bubble dynamics. Two approaches will be explored and evaluated to measure average and local fluid temperature distribution. These two approaches are (1) to directly measure fluid temperature using suspended micro resistors and (2) to directly measure local fluid temperature using a nanosensor array. The nanosensors are made from encapsulated RhB fluorophores. A fully automatic vision-based technique will be developed to detect L-V interfaces and to estimate the motion of the interface by non-rigid image registration and onsite-calibration. This vision-based technique is essential to reduce massive data from high-speed optical images to assure a consistent data reduction process. The knowledge obtained through this project will greatly extend knowledge of two-phase transport at the microscale and would be critically important in further advancing a number of emerging technologies, such as micro-heat exchangers, microfluidic thrusters, microbubble-driven pumps, and microfluidic logics. More importantly, the success of this fundamental research will advance theoretical base in realizing promising two-phase cooling technologies. This will accelerate the development of highly efficient two-phase cooling technologies to manage waste heat for DoN high power sensors and weapon systems and therefore to enable superior defensive/offensive capabilities of the next generation warships.