My name is Hima Sheth and I am a second-year Computer Science Student. I’m excited to share my journey throughout Waterloo’s co-op program so far and some of the lessons I’ve learned along the way!
The University of Waterloo’s co-op program has allowed me to try out a multitude of new things throughout my university career and I’m so excited to share some of my experiences with you all!
I always have tons of stories and thoughts about co-op, recruiting, and just university life in general. If anyone’s interested in learning more or if you have any questions that I don’t answer later in my article, please don’t hesitate to reach out. I’m always more than happy to help.
I want to preface this article with the fact that I started programming halfway through grade 12. As someone who was surrounded by individuals that had been programming since they were kids, it was definitely nerve-wracking trying to break into the industry in such a competitive environment. I hope my experience shows you it’s never too late to get started and although it can be super intimidating, perseverance is key!
My first job was at a local tech company here in Waterloo, Auvik Networks. At Auvik Networks, I worked on their product growth team where the team was working to improve the onboarding process for their new customers. I also got an amazing opportunity to work with some of the technical leads and senior engineers at Auvik Networks on a project I was super passionate about – standardizing testing practices across the engineering teams.
My second internship was at HubSpot in Boston, Massachusetts. HubSpot is a customer relationship management (CRM) tool that aims to help businesses scale. At HubSpot, I was placed as a Frontend Software Engineer Co-op on their Call Lifecycle Team. HubSpot has numerous different features to help companies grow and retain their clientele, built-in calling and call logging being some of them. During my time at HubSpot, I worked on their calling service, specifically working on building out their inbound calling feature! Inbound calling would allow HubSpot users to receive calls on their HubSpot portal on the web, as well as set up call forwarding to any of their phones.
Currently, I'm working as a Software Developer Intern at Google based out of the Waterloo office! I’m working on their Google Chats product on a feature called Chat DLP. The motivation behind Chat DLP is to restrict members of a chat space from sending any sensitive information where it shouldn’t be sent and protect the integrity of their data.
At each of my co-ops so far, I’ve gotten the chance to experience different products, tech stacks, team sizes, and company sizes! Diversifying my co-op experiences in different ways has allowed me to learn what type of environment I work best in, the qualities that I appreciate in a company, as well as the type of teams that I work well in. I highly recommend striving to diversify your experiences in numerous ways, including trying different roles if you’re up for it, because you’re never going to get a chance to try something new short-term. The good news is, if you don’t like it, you don’t have to go back after 4 months and now you know more about the type of work you would enjoy when you graduate.
A day in a life at Google varies a lot from person to person depending on how you work and when you like to work. Here’s what my day typically looks like:
- Arrive around 8:45 am: I usually show up at the office anytime between 8:45 am and 9:30 am so that I can grab breakfast before I start the day. It’s nice that our hours are pretty flexible so I can start a little earlier or later depending on when my meetings are!
- Eat breakfast: Google has an amazing selection for breakfast with a new menu every day! One of my favourite parts of breakfast is the different smoothies that we have every day. Some of my personal favourite menu items include tater tots, parfaits, and bagels with cream cheese and jam (it’s not weird I promise, just try it)!
- Check my email and meetings for the day: I like to spend a couple of minutes in the morning planning my day out and checking to see when I have my meetings. I also use this time to check my email and see if my changelists (CLs – another word for code changes or merge/pull requests) have any comments I need to address.
- Code and attend any meetings in between: The rest of my day is usually spent attending any meetings that I may have, including syncs with my team and 1:1s, as well as working on my assigned tasks. I usually have a couple of meetings a week with my “host” and “co-host”
- Lunch: Google also serves lunch in their cafeteria for their employees. I usually grab a bite to eat with my coworkers around 12-12:30 pm. Lunch is always super good and they never forget to have a dessert for you at the end :)
- More code: Because that’s my job!
- Occasional barista run or ping pong game with interns: Google has a lot of really cool amenities including baristas, gyms, rock climbing walls, table games, books, etc. Sometimes the other interns and I like to go and do some of these activities together when we need a break from work.
- Go home: I sometimes go home in the middle of the day to get some more focused time in and sometimes stay at the office until 6-6:30 pm. Really depends on the day and where I’m being more productive.
- Post work activities: A lot of my post work activities include getting outside because it’s the summer and moving my body because I’ve been sitting for so long :P. I’ve recently picked up squash and running.
Something I really like at Google is the flexibility to work from any North American office! So far I’ve gotten to see the Waterloo offices and all the Toronto offices. I’m looking forward to visiting the Mountain View, Sunnyvale, and San Francisco offices this August and potentially the New York office this July!
There’s a lot that goes into preparing for a recruiting term. All of my co-op terms have been external so far (not using WaterlooWorks), so my preparation generally begins really early. If you’re looking to try recruiting externally, most companies generally start recruiting for a season 6-8 months in advance! Summer recruiting happens particularly early. Companies normally start posting in July/August for the next summer.
Here’s my timeline at HubSpot for a January 2022 start date for example:
- Reached out to a HubSpot recruiter in June 2021
- Coding assessment in July 2021
- Technical interviews in August 2021
- Offer in mid-September 2021
In terms of preparing, I usually add any new experience onto my resume and go to a couple of resume critiques first. Lots of UW clubs host resume critiques around the beginning of the term to help – Tech+ and UWaterloo WiCS to name a few. A lot of these clubs also host mock interviews, which are a good way to get comfortable doing coding problems out loud before you do your actual interviews. Doing Leetcode problems with your friends or even on your own is also a great way to get more comfortable with technical interviews and concepts.
Remember to trust yourself! You know a lot more than you think you do so even if you didn’t prepare as much as you wanted to, all those lectures you think you didn’t pay attention to subconsciously exist in your memory and things will work themselves out. As someone who got into programming in grade 12, which was very late relative to my peers, I was always really nervous about not being prepared enough and not doing enough Leetcode. As long as you’re confident and believe in your abilities, everything will work out! Don’t be too hard on yourself if things don’t pan out how you originally planned because a lot of times there’s also a lot of luck involved. And interviewers are there to help you! Make sure to ask any clarifying questions to make sure you have all the information before you try to solve a problem and communicate all your thoughts and ideas even if you think they’re wrong. Your thought process is super valuable and provides the interviewer with a lot of information on how you think.
I had the pleasure of doing a co-op in the United States at my last placement. It’s definitely super scary and exciting doing a co-op in a whole different city. As someone who’s lived in Waterloo her whole life, I was really excited to move to Boston and explore a new city! I didn’t really know anyone when I was moving there so it was extra nerve-wracking but you soon learn that a lot of people are in the same boat as you and eager to make friends :)
As I previously mentioned, I worked at HubSpot in Boston. Something I learned during my time away was that finding housing in a different city can be tricky, especially if you don’t know anyone going or know anyone from there. I ended up spending more than I initially intended to on my housing because I didn’t know anyone I could room with but in the end, it all worked out. I realized that convenience is super important when looking for a place. Make sure the commute to your work and local grocery store is decent, it makes a huge difference. Also, make sure you have public transit close by.
When you’re a Canadian going into the US you generally need a Visa and need to obtain a social security number (SSN). Make sure you’re aware of the timelines on those and what you need to do to prepare for your SSN application when you arrive in the US. These things often take time so you want to get them out of the way as soon as possible to make sure you can start work smoothly! Remember to also set up a bank account so that you can give your employer direct deposit info. There are a lot of small administrative tasks, so make sure you keep track of what you need to do as things can be easily forgotten. Here’s a really good unofficial guide to working in the US made by previous students!
Something I did before moving to Boston made a list of all the places I wanted to go before I left. This made making plans super easy on the weekends when my friends and I weren’t sure what we wanted to do. Be sure to check out local restaurants, attractions, museums, sporting events, and more! Boston is a gorgeous city with tons to do so my friends and I definitely had jam-packed weekends for four months. I highly recommend checking it out for one of your co-ops if you have the chance. It’s really easy to want to stay at home after a long day of work, but definitely do your best to try and get out there because these opportunities to explore cities like Boston for four months might never come again!
I’m honestly not totally sure and I think that’s okay! It’s important for me to reflect on all my co-ops and get a better idea of what type of environment I grow the most in and what product space I want to work in next. I definitely want to continue exploring different sectors in tech because I feel like it helps me broaden my perspective and makes me a better engineer. I’ve learned that I enjoy working on client-facing products and hope to continue doing that in different product areas! I look forward to continuing exploring different cities along the way!