From May to August 2022, I interned at theScore as an iOS Developer, working on their sports betting app, theScore Bet. I’ve split up my reflection into 3 sections: application process (1), what I did (2), and biggest takeaways (3). NOTE: Published on Jobby, a jobs app for Gen Z.
- Studied engineering at uWaterloo (1st year), took an Intro to CS course (C#) and Data Structures and Algorithms course (C++)
- First started coding in June 2021 through a Codecademy Swift course and later on The App Brewery’s iOS + Swift Udemy course
- Was working part-time at Shopify in a store building role when applying
1. Application Process
I submitted an application package in late February 2022 through my school’s internal job board, WaterlooWorks. The package included my resume, transcript, and co-op work history (blank since this was my 1st co-op). I heard back soon and interviewed in early March 2022.
The interview was a 50-minute Google Meet with 2 developers in a pretty relaxed environment. I was asked about my prior experiences, various iOS and Swift concepts, and then had a HackerRank question to solve. The HackerRank question was similar to LeetCode questions and I was allowed to use my preferred language (I chose C#). I think it went alright, as I was able to answer the majority of the questions and was also eventually able to solve the HackerRank question. This was the last of my 7 interviews in a span of 3 days, so I definitely had lots of practice going into it.
I accepted my offer in late March, which was a little over a month before my May 2nd start date. A week before my first day I also received my MacBook Pro and theScore T-Shirt.
2. What I did
During the first several weeks, it was a little overwhelming—it was a large codebase and there were lots of new technical skills I had to learn. Although it was challenging, my mentor David was extremely helpful and set up numerous Tuple calls for pair programming which made learning everything a lot smoother. I mainly spent the first few weeks getting used to the codebase and completing various tickets, as well as learning the routine of how things worked. There were also lots of Scorientation meetings at the end of the month, where all the recent hires attended talks by department leads to learn about what various teams in the org are doing.
I started getting more comfortable with everything and focused on design polish tickets. I collaborated with design and implemented their new Figma designs into code—from cleaning up the indentation in the sports menu tab to updating various fonts, colors, and other UI elements across the app. It was a little tricky at first trying to find where everything was implemented, but once I got the hang of it things went pretty smoothly. Our iOS Bet team had game times every 3 weeks and our Casino team had hangouts bi-weekly, which was fun to unwind and chill on Fridays. The org also set up coffee chats and trivia/game nights too.
At this point, I was wrapping up the design polish tickets, and then started working on a bigger refactor ticket to reduce repeated code in one part of the app. Around the middle of the month was also presentation day for our special project, where I got to team up with 2 other co-ops/interns to present an innovation project to senior leadership and tour the office (500 King Street West) for the first time!
For the last month, I worked on a variety of tickets, ranging from design polish to analytics tracking to Ruby scripts to updating libraries. There were still times where I was confused about things, but at this point I was definitely a lot more confident going through the app. We also have our @theScoreLife Instagram account, where I did a Rookie Takeover on the 12th—check out the Early Talent stories to see what a day in my life was like! On August 16th, I also volunteered with 70+ other colleagues at Rogers Centre, where I got to go on the field and help out with activities for Jays Care Foundation’s National Baseball Jamboree. We got to facilitate some fun activities, some of the Blue Jays players visited, and we came back to watch the evening game against the Orioles!
Overall, I definitely had an enjoyable term here. It was my 1st dev job so I got to learn a lot of new technical skills, and my mentor, supervisor, and teammates were all very supportive when I needed help. My work will be in future releases, so it’s cool to know I’ve made an actual impact users will see. A common theme that I learned early on was our emphasis on quality + the code review process; lots of developers mentioned that their old jobs didn’t value these things as much, so I think learning these best practices early in my career was very valuable. Here’s some of my other takeaways/learnings:
- Using Git to work on multiple branches, stage/commit/push, and rebase/fix merge conflicts (Fork, a Git GUI, made it a lot simpler to learn)
- Writing descriptive pull requests and having multiple reviewers go over my code, and then understanding/incorporating the feedback
- Programmatic UI — I had only worked with Storyboards and SwiftUI a bit, so it was cool to learn this for the first time
- Asking questions — I was encouraged to ask lots of questions and I definitely want to do more of this in future jobs
- Learning/solidifying lots of iOS/Swift knowledge in general—software architecture, protocols, closures, error handling, and writing unit tests with >90% code coverage