My Experience at Google CodeU & Google’s Student Retreat
Featuring many depth-first searches and free cupcakes
Hey! I’m Lauren — A soon-to-be final year Computer Science student at Queens’ University Belfast, Northern Ireland. I love getting involved in the local tech community, from planning events to knuckling down at hackathons in themes I have absolutely zero experience in. Most of my extra-curricular time at uni has been spent with Queens’ Computing Society (QCS), helping organise events for social and academic purposes. I’ve also been busy recently setting up a new meet-up group! Corgi; designed to bring together the local undergraduate women in tech community.
After completing my placement year at Kainos, I soon realised I had a full Summer of free time ahead of me. To make the most of this; I decided to take part in Google CodeU.
What is Google CodeU?
CodeU is an invite-only 12-week virtual development program for female-identifying students pursuing Computer Science or other related degrees.
The goal of CodeU is to gain practical experience from both individual and collaborative based coding challenges, whilst connecting with a community of like-minded peers across Europe, the Middle East and Africa (EMEA). Over the 12 weeks, there were live training sessions, coding assignments and a 3-day all-expenses-paid trip to the 2019 Google Student Retreat in London.
The programme aimed to grow our problem-solving skills — Consisting of 6 data structures and algorithms assignments, starting with 4 individual and concluding with 2 group challenges. Each assignment had a number of optional challenges, which encouraged us to refactor and optimise our code to increase time and space efficiency. Here’s a list of the problems we were challenged to solve:
- Anagram checking
- Ancestor retrieval in graphs
- Prefix and word searches
- Counting the total number of islands in 2D maps
- Finding alphabets in fictional languages
- Optimising the movement of cars in a parking lot
I joined a group with 2 other CodeU students and a Google Engineer named Evis, who acted as an academic mentor through-out. She was a great source of feedback giving code reviews for every new commit on my pull requests, allowing me to iterate on my work and create more optimised solutions. This aspect of CodeU was by far most invaluable; not even Stack Overflow offers this level of guidance! 😱
The Google Student Retreat
On completion of the CodeU programme, participants are invited to Google’s annual Student Retreat in London. This is a 3-day event that brings together #googlestudents allowing them to connect, learn and inspire each other. There I met all my fellow CodeU students, the Women Techmaker Scholars and Top 20 Get Ahead participants.
Day #1 and #3 consisted of talks, panels and workshops on various topics such as imposter syndrome, Google ML Kit, innovation and career paths. It was a sense of relief to hear the vastly contrasting career stories from Google’s employees. Turns out it’s pretty common to have absolutely no idea what you want to do in your career and that’s okay!
Day #2 was my favourite — A full-day problem-solving workshop. Using test-driven development, we pair programmed Conway’s Game of Life in 45-minute sessions, 6 times total. Each session practised a new approach, constraint and partner, to experience its benefits and drawbacks for both the driver and navigator (i.e. programmer and tester). These sessions taught me how to write robust test cases that enforce quality code, write cleaner more readable code and also explore the principles behind minimalistic coding. Here are some of the pair programming exercises from that day:
- Ping-pong: 1 person would write a test, then the other would write code for that test to make it pass. Then we’d switch roles and we repeat the process.
- Minimal coding: We’d write tests and code using minimal coding principles such as DRY (don’t repeat yourself) and KISS (keep it simple stupid), alongside rules such as “no ternary operators” and “maximum 2 lines of code per method” which threw all nested ‘for’ loops out the window.
- Lazy programmer: The tester writes a test, then the programmer aims to write the minimal amount of code required to pass that test. I.e. If the tester wrote an assert true on the return of a method, regardless of the method’s intent; The programmer would simply pass this by writing “return true” in that method. The tester would then scream in frustration (optional), and rewrite the test to cover all scenarios and verify the correct code has been written.
- 2 min 30 secs challenge: Within the space of 2 minutes and 30 seconds, 1 person writes a test and the other writes the code for that test to pass. This code is then committed and pushed to a Github repository, all before an alarm goes off. This short process was repeated, as we continued incrementing the code to solve the problem. If all tests didn’t pass by the time the alarm went off, every line of code had to be deleted and you’d start from scratch. We were also allowed to spend any 2 min 30 sec session to stop and think, which served as a valuable lesson teaching us the importance of planning code before implementing it, as well as keeping it simple.
Asides from the free food (including ice-cream, macaroons and a constant supply of cupcakes) my biggest highlight was meeting computing students from all over the world. It was amazing to be part of a group of completely different backgrounds, cultures and languages; Yet still be able to work together cohesively to learn, communicate ideas and build solutions. Not to mention I was the only student from Ireland!? (Shoutout to my new Ukrainian and Bulgarian friends)
What did you get out of it?
Overall this experience was pretty awesome, I’ve known about Google’s Student Retreat since my first year of university, thinking of it as an unreachable event for excelling students who eat, sleep and dream computers. (thankfully not true)
Having the chance to participate in a full-blown problem-solving programme, with a dedicated mentor, live lectures and code reviews. All whilst connecting with a large group of women at the same stage of their careers as me was an amazing growth opportunity.
Whether it be Google, another one of the Big Five, or that start-up down the road, I can’t recommend getting involved in extra-curricular programmes enough. The value in the skills and network I’ve been able to build outside of university, vastly outweigh the value I ever got sitting in a lecture theatre. (and that’s the tea sis)
Thanks for reading! Live your best life, follow me here and on Twitter for more juicy content.