Software Engineering at Canva and Google

When you're an ambitious first year CSE student it's typical to want to one day work at a big name tech company! Luckily, many UNSW CSE students such as yourself who have walked the same campus grounds as you and been taught by the same lecturers, have ended up working in some pretty neat places.

Rob Nichols, a 2020 UNSW CSE graduate, interned as a back-end software engineer at Canva during the 2019/2020 summer break and is now full-time engineer there! Annabel Zhou, a 4th year SENG student, has worked as both a STEP intern (Summer Trainee Engineering Program) and Software Engineering Intern at Google Sydney! We asked both Rob and Annabel to talk about what it was like working at such big name tech companies - to dish on their respective company cultures, some of the cool perks available to employees, and what sort of interesting projects they got to work on.

Have a read of both articles below!


What is life like working at Canva?

Rob Nichols

Hey everyone, happy new year and I hope 2021 is considerably more normal for all of us than 2020. So I’m writing this to try and give all the budding, bright-eyed, borderline caffeine dependent software engineers a sense of what it’s like when you finally make that step from student to corporate cog, and specifically what that’s like for working at Canva. Before we get started, if you find this useful, you’ll probably enjoy my youtube channel where I talk at length about the Software industry, UNSW courses, build apps and all that fun stuff so check it out.

I’m going to try and write this as if COVID was all some fever dream brought on by an 18-hour assignment bender and never actually happened, meaning i’m going to explain what it’s like to work in the office, with everyone there and not worried that they’ll contract COVID if they don’t sanitise after touching the hand sanitiser bottle from the first time they sanitised (infinite loop incoming). Having said that, I'm also fairly realistic about 2021 and so will add some caveats at the end to make sure you know what the main changes have been under COVID circumstances, how WFH differs to office life, and all that jazz just so you get a sense of the current environment.

So what what is it like working at Canva under normal circumstances?

When I think about office life and try to break up the day into its features, there’s a lot of things to mention, so the broad “categories” i’ll talk about are Culture, Work and also, since most of you are probably looking at interning, what the internship is like.

Let's talk about Vibe

Canva’s vibe is the reason, in my opinion, they attract good people to work there. Back when I applied for internships during January 2019, I had all the companies I applied to ranked on a hierarchy of how much I wanted to work there, and it will come as no surprise the companies that I had in my top tier. All these companies would be great to work at, but Canva was the one where, after I looked at their social media, met them at a CSEsoc barbecue, and asked my friends who worked there, they really left me feeling like there was a sense of family.

What I've found since I started working there is that the simple fact is, Canva takes extreme care with how it establishes and protects its culture. It’s hard to maintain a culture as a company grows, but somehow we still manage it. You walk into reception at 9am to start your day, and there’s music playing, the chefs are busy behind the kitchen pass, there’s people talking over their breakfast, and there’s the Vibe Team bustling around the reception area. There’s places to work away from the desk like the library, rooftop overlooking Surry Hills, meeting rooms, or the reception area so you don’t feel chained to the desk. There’s the perks like the chef-prepped lunches and the gym which is 24/7 access on-site with showers. All these coupled with the fact that work is measured in output, not hours means the flexibility and perks make sure people feel supported and valued for their work.

Another point I want to make about culture is the people that work here. When you interview, you will be assessed to see if you meet the culture. Having just written that, it sounds quite harsh, but all I mean is that, you need to be a nice person. “Be a good human” is one of the company values, so even if you’re a brilliant engineer, if you can’t get along with people, it’s unlikely you’ll be a part of Canva. The Culture is really sacred so hiring has to reflect that. This ultimately means everyone ends up wanting to be supportive, positive, driven, all these great adjectives that make you feel like you’re in a great place to grow professionally.

"What I've found since I started working there is that the simple fact is, Canva takes extreme care with how it establishes and protects its culture. It’s hard to maintain a culture as a company grows, but somehow we still manage it."

So the vibe is good, what about the actual work?

So I’ve given you the big pitch, but let’s talk about what the actual work is like. I’ve actually covered the differences between studying and working as a software engineer in this video on my channel if you want some further info (here) but for now let’s just talk about the work on it’s own. This is the part where I have to get real with you and say that not every day, no matter what job you get, is going to be amazing, you will always come across parts of it that you like more than others. In this case it’s true because ultimately, you aren’t the only one who decides what you’re going to work on. There’s company goals, they filter down into group goals, they filter down into team goals, and then your team’s goals ultimately decide on what tickets and tasks you’ll be working on day-to-day.

From what I've found in my team, the work can consist of anything between developing an entirely new feature to chunk onto the existing product, to simply writing unit tests, and pretty much everything in between. I think it’s important to realise that if you’re thinking of applying anywhere as a software engineer, it should be because you like the work you do at uni. This is because all those perks I mentioned, while great, are for the times where you aren’t working or to support you while you work. But the main ingredient in any company will be the requirement for you to deliver good quality work. So if you only join for the perks, and don’t like the work you do, you will not be happy.

Thankfully more often than not, the work is interesting. When you start it can be daunting to work in such a big code base, learn the standards, get a tonne of feedback on your code for things you hadn’t noticed, and the potential to get imposter syndrome is quite real. But after a time you realise that it’s in those moments where you’re really learning, and there’s nothing better than working in an environment where you are able to continually learn. It’s also good to know that people don’t expect you to hit the ground running 100 miles an hour as an intern or grad, the expectations are manageable and ultimately it’s up to you how much effort you want to put in (within reason so long as you meet minimum standards) as to how quickly you learn and develop and progress.

"I think it’s important to realise that if you’re thinking of applying anywhere as a software engineer, it should be because you like the work you do at uni. This is because all those perks I mentioned, while great, are for the times where you aren’t working or to support you while you work ... So if you only join for the perks, and don’t like the work you do, you will not be happy."

In terms of the actual tasks i’ve worked on in the year i’ve been here. Obviously the first 12 weeks as an intern you spend the whole time that you’re working on your project(s). I got my internship for the summer before starting my final year of studies, for the 12 weeks between mid December to late February. I applied almost a full year before that and survived the phone and zoom interviews, getting an offer in mid-T2 of 2019, so it took quite a while. After this, since my team had need of more engineers, I stayed on part-time while finishing uni and started full-time right after my last exam, so December 2020. Some interns in my cohort had some smaller projects and so got to also work on some normal work tasks, to get a sense of the real work, but most do their projects the whole time. The projects are usually the most fun work you get to do because it’s exploratory, a new feature that Canva wants but might not be prioritising, and something worth a 12 week chunk of effort so there’s scope for you to really get deep into it and produce something interesting.

At Canva, since the company is growing and wanting more people all the time, the internship program is pretty much an audition for both you and the company to see if you fit each other. If you do well, it’s very possible that you, after the internship concludes, could receive an offer to come back full-time. I was lucky enough to receive an offer, and so that’s how I ended up in my current position. Although the full time start date for the grad roles was early 2021, all the contracts, docs and whatnot are finalised at the start of 2020, meaning you have the job in your pocket while finishing the degree which is great security.

After the internship, the work kind of settles down into what you might expect. There’s a bug, you might be the one assigned to fix it. There’s a new feature the product managers want, you might be one of the engineers helping to develop it. Bug fixes, features, that’s an engineer’s job in the main. After a time you can be assigned as an engineering lead or manager for a project and that’s sort of like being an intern again depending on what project you’re leading. For example, I’m currently engineering lead for a big chunk of functionality that will impact pretty much every user of my team’s product, so I get to research how to best solve a big, high-level problem, break it down into good sized chunks of engineering tasks, and then work through them over the weeks of Summer, with a goal to finish by Autumn. This is really enjoyable because it's a big project that I personally get to sink my teeth into, but i’m still able to be assigned smaller things on the side, so that I don’t get too bogged down into the project which is great.

Another good thing about the work is that, since so many of Canva’s teams are tightly linked in the work they do, you can often find yourself dipping into other teams tasks to help them, or have them help you. This is good for getting a broader range of things to work on which keeps it interesting, and also learning from people outside your immediate team so the potential to continue learning from coworkers is high. In a similar vein, changing teams is not uncommon, so if you’ve been slogging away on a similar piece of the product for a long time and feel the need for change, there’s not necessarily a need to go to a new company to get that change, which means you can keep the relationships you’ve formed while still getting to touch some new work and freshen up your experiences each day.

So there are great things to work on and great potential to progress, be rewarded for good work, change environment if you want to, so I feel really satisfied that I won’t find things to get stale and boring in the long term, which is why I currently see myself staying at Canva into the distant future.

A section for the would-be interns.

The internship is the best part. Canva wants talented young people to be blown away so that they want to come back full time instead of going somewhere else. A lot of care goes into choosing interesting projects, making you feel supported, and setting up events for the interns to form friendships with each other. Some of the nicest people I’ve met to this day at Canva were the interns I worked with, including Vee who you might’ve heard on the Echo podcast about frontend engineering at Canva. I saw her and others in the gym, at breakfast, at the weekly intern coffee walks, and the organised events to relax and celebrate being in the position we were all in together. You meet people from different states, and from New Zealand as well, so it won’t just be the other UNSW students you see in the Ainsworth building that you hang out with, and it’s really awesome to spend time with them.

"You meet people from different states, and from New Zealand as well, so it won’t just be the other UNSW students you see in the Ainsworth building that you hang out with, and it’s really awesome to spend time with them."

Sounds great, but how has COVID and WFH affected all this?

Unfortunately, the impact of COVID hasn’t been great. While the work you do is the same, and so all the good points there still remain, a lot of the vibe is lost when you’re cooped up at home instead of amongst friends. The effort is still there to maintain the sense of community, but it’s impossible to really recapture that same sense of togetherness.

In terms of workflow, there’s benefits and drawbacks. The fact that there’s no commute is a benefit, you gotta love the extra sleep in time. There have been days where I've woken up at 8:55 to make coffee and start work at 9 without any concern for having to be seen looking like a zombie. So that’s a plus. On the other hand, if you have questions for people in your team (which junior engineers like us often do), it has to be through a zoom call, slack message or some other means. This makes the communication slower and more difficult than just tapping someone on the shoulder and asking them to come check out what you’re doing for 2 minutes, where you can look at the same screen and know exactly what’s going on and how to fix it much quicker than typing out the scenario over slack. However, this also means you’re less likely to message people for smaller issues, and take time to try to solve them yourself, which can really help you develop autonomy and first hand problem solving experience.

This is something I actually experienced quite a lot first hand, as an intern I bothered my host a lot with questions I could’ve solved with google and a bit of elbow grease, so i’m kind of weirdly thankful that I was forced into a position to develop confidence and independence in my problem solving at work. So there’s good and bad, it ultimately comes down to being one of those “it is what you make of it” kind of situations.

"However, this also means you’re less likely to message people for smaller issues, and take time to try to solve them yourself, which can really help you develop autonomy and first hand problem solving experience."

So there we have it.

I hope you guys like that, had a chuckle, got some inspiration to apply, and also got a realistic sense of life as a Canva intern. Like I said at the start, check out the channel for more Canva, UNSW and software content. Good luck for everything in your studies!

Rob - Backend Engineer at Canva.


Life as an intern at Google

Annabel Zhou

Disclaimer: These opinions and views are of my own experiences, and do not reflect those of Google even though I have worked there as both a Summer Trainee Engineering Program (STEP) intern and Software Engineering (SWE) intern.

What drew you to apply for Google?

Like many other wide-eyed students first learning how to code, the vision of working at a big tech company filled with crazy perks, an amazing office and cutting edge technology seemed like the dream. However especially as a non-penultimate year student, I just really wanted a job anywhere that would take me. I found out about the STEP internship, which is designed specifically for those earlier on in their degrees, and thought it would be a perfect way to get some industry experience before being on the verge of graduating.

Was it quite daunting applying/interviewing for such a competitive internship?

Interviewing is always daunting no matter what! When first applying to Google, I didn’t really have connections within the company or know much about the application process or what the job itself was like. Luckily, I had friends willing to help me practice mock interviews. Sending in my application online was easy, but sitting multiple real interviews, going through project/team matching and waiting for weeks in between was definitely a challenge. In a way, this made getting through each stage all the more exciting.

What’s the coolest thing about the Sydney Google office?

It's too difficult to only choose one thing so here are a few highlights: micro kitchens, cafes with baristas, nap pods, onsite massages, VR and gaming rooms. An honourable mention goes to simply exploring the designs of the different meeting rooms - each with its own unique style and theme e.g. a Narnia room you enter through a wardrobe door, a room with powerplugs all over the wall (and only one that's actually functional), a room covered in paint splatters and hazmat suits, the Harry Potter room etc.

"An honourable mention goes to simply exploring the designs of the different meeting rooms - each with its own unique style and theme"

What’s the work culture like at Google?

One of the cool things about working at a large company like Google is that because there are so many different teams and different people, each team operates almost like its own company with its own dynamic. If I were to describe my experience of the Google Photos team culture in a few words, I’d say energetic, chaotic, productive. In contrast, my experience on Chrome was with a much smaller sub-team, allowing you to get to know every coworker in more depth. They were super supportive, passionate, and so driven to make a difference with their work. While I highly enjoyed both teams, the work culture and environment were quite different, and I imagine it would be the same for the other teams also.

What was a typical day like during your internship?

As a STEP intern doing an onsite internship, a typical day started with arriving at the office just before 9am, having breakfast, sitting down at my desk with a cup of coffee around 9.30am, then getting some work done before our team standup at 11am. Had lunch around 12pm at one of the many cafes (often followed by icecream). Some more work was done before 3pm, where we had Photos team tea time to have a quick break and some snacks together. The work day usually wrapped up around 5.30pm.

As a SWE intern doing a virtual internship, a typical day started with crawling out of bed just before 9am, having breakfast, and checking in with my host in our daily morning standup. When we’re not in meetings, my team likes to hang out/ be productive together in a social video call. Although working from home means having to cook and feed myself 3 meals a day and no access to the fun stuff in the office, the plus side is that it saved me ~2 hours of commute time everyday and means I spend most of my day at my desk actually working. It also makes it super easy to exercise any flexibility you need during work hours.

Did you get to work with many existing Google employees? What was that like?

The two existing employees I worked with the most were my host and co-host, who I reported to. They were really amazing at guiding me through my project, teaching me about Google tools, and helping me get unstuck when faced with existential-crisis inducing bugs. You also have a mentor, who can support you through all non-project related aspects of work. I found pretty much all Googlers are open and very willing to help out, whether you have questions or just want to have a chat. This includes Googlers in different teams and even countries too - why search something up when you can directly ask the creators?

Did you work much with the other interns? What were they like?

As a STEP intern, you are assigned a ‘pod’ consisting of one or two other interns to collaboratively work on a project together. I really loved having a pod partner, as it made the project more fun and a lot less intimidating - I got to experience much more pair programming, and two brains are always better than one. SWE interns get their own projects, so you don’t necessarily get to work with other interns coding-wise, but there were also heaps of opportunities to hang out with and get to know the other interns who were all super friendly, social and brilliant.

"I found pretty much all Googlers are open and very willing to help out, whether you have questions or just want to have a chat. This includes Googlers in different teams and even countries too - why search something up when you can directly ask the creators?"

What kind of projects did you work on during your internship?

During my STEP internship, my pod partner and I worked on an open source Node.js client library for the Photos Library API. This allows JavaScript developers to easily integrate Google Photos into their web apps by simply installing an npm package. We also wrote a sample application to demonstrate the usage of our new library.

During my SWE internship, I worked independently on improving the accessibility tree in Chrome DevTools (F12, or right click -> Inspect Element) to help developers make websites more accessible and user friendly to all people, particularly those who require the use of assistive technology. This was mostly done in TypeScript and C++.

Did you get to work with any cool technology?

Google has an amazing set of internal tools and infrastructure. There are so many problems that Google has already solved, and the solutions have been made available to simply plug into your own project. Learning how to use Google’s internal tooling, and how Google’s software development lifecycle works is a huge part of learning what it is really like to work here. After 6 months of work experience, I have still only been exposed to a tiny portion of it all.

Favourite/least favourite part of internship. Most rewarding/difficult part of internship

My favourite part would have to be broadly summarized as the work environment - this includes being surrounded by so many brilliant people, having such a comfortable space to learn and grow, and of course easy access to so much nice food all the time (before WFH started). The most rewarding aspect would definitely have to be contributing to a team where my work actually feels impactful. You know you are helping create something that is useful to others and won’t just be discarded after the internship ends. It’s a very different feeling to completing a uni assignment that you’ll never look at again.

While there are so many pros, there are always challenges that arise and times where you cannot simply avoid your problems by playing VR games and eating icecream. Your project won’t be super easy, and being around so many smart people all the time can be intimidating. I definitely had moments where I struggled to convince myself that I was capable of writing good code and solving new problems without someone holding my hand to spoon-feed me the answers. There’s an extra layer of stress that comes with trying to secure that grad offer, but you learn that as a student it’s part of your job to make mistakes, ask for help, just do your best, and have as much fun as you can.

What makes Google different from other tech companies?

Sheer size. Google is a HUGE company, and it is basically impossible to know what everyone is working on, or what's happening all the time in every corner of the company. It’s not uncommon to feel like a “very small cog in a very large machine”. When the company you work for does that many different things, it’s inevitable to realise that you, as a single person, are probably not going to change the world with your tiny project that adds a tiny new feature to an already existing codebase bigger than any you’ve ever seen before. This is very different to smaller companies like start-ups where it may be easier to get your hands on the steering wheel. But on the flip-side, you are surrounded by SO much information and so many knowledgeable people, and have access to all of that right at your fingertips. It’s pretty incredible to be even a small part of something so big.

Anything else you want to mention to inspire CSE first years or you think would be cool to mention?

I would highly recommend applying! Even if you don’t think big tech is your cup of tea or you’re convinced you wouldn’t have the slightest chance of getting accepted - go for it anyway! Another thing to consider is that Google offers much more than just software development internships. Aside from STEP and SWE, the Sydney office also has lesser-known positions for IT, UI/UX, and GBO (business) interns, so there are many more avenues to take if you love tech but are a bit hesitant about coding all day every day or want to try something a bit different.

"My favourite part would have to be broadly summarized as the work environment - this includes being surrounded by so many brilliant people, having such a comfortable space to learn and grow, and of course easy access to so much nice food all the time (before WFH started)."

Choose your own adventure!

So you’ve got an idea of what your future could look like. Now you can check out the pathways to get there through the CSE courses at UNSW!

Or go back to the essentials and get familiar with the key things you need to know to start your degree!

Don't like these options? Check out the full roadmap below!