My second co-op term was at the Public Bike Systems Company (PBSC for short) located just outside Montreal, Quebec working as a Java Developer. PBSC is not a household name by any means but they are an international company that provides Bike-Share systems to clients (33 cities and counting) all around the world. We supply the software, docking stations, and bikes to popular ride shares like Bixi (Montreal), Toronto Bike Share, CitiBike (NYC), Careem (UAE), Bicing (Barcelona), etc…
The story for this coop started long before I arrived at work on the first day. After a smooth first work placement with regards to arranging my own job and finding housing with family friends. It came as somewhat of a shock as to how challenging it was to find a job through the University’s in house job search system, WaterlooWorks. Ending up at PBSC seemed to be less about my skills or resume but rather about my luck. I had applied to just under 50 jobs in the first round and only got two interviews… From there I only got ranked for one of my interviews. Yet, thankfully the person with the offer to PBSC declined and I was given this great opportunity.

This work term had slightly less stress and tempo than my previous placement. However, within my first week, I was in meetings to develop gamification for our system. One of the cities we work with wanted their users to be able to engage in incentives where they could gain redeemable points for doing tasks like redistributing bikes from populated stations to empty ones. My job for this feature was to configure how the prices would be assigned to users. I had to determine how, once the customer got their points, they would be able to store their prizes. I also created a system that would allow for configurable prize definitions so that a user could achieve customizable awards instead of just a default 30 minutes free voucher. These tasks involved extensive work with the database and creating controllers/facades in the backend.
After the development of this feature was complete, a lot of testing and bug fixing was soon to follow. In addition to the changes for the gamification feature, we need to keep up with the incoming bugs form other cities. That work consumed most of our time but with the time I had left, I started to dig into Courgette Automation Testing. The team had previously done work in this software but it was hardly developed and not properly configured to achieve its purpose. The automated testing was meant to eliminate the need for any manual QA testing in the frontend but it wasn’t currently being used by any of the QAs. I independently took on the task of building out this tool. I refactored and organized what had been done, researched enhancements and features within courgette to better leverage the system and finally expanded the coverage of our test sweets. I have now effectively reduced the manual testing time for our QAs by 95%.

Despite all the work that I did at PBSC there was a strong emphasis on work/life balance. We frequently took breaks to play foosball or go out for team lunches. Over the course of the term, I went from an absolute newbie at foosball to being the top dog in the office. I like to say that my most improved skill over the term, beyond any technical improvement, was my foosball finesse.
As the term comes to an end, I fondly look back on an internship of learning and wonderful experiences, and I look forward to starting the search for my next internship.