How co-op helped Zain Salman explore various fields of software engineering and overcome the challenges of moving to a new city.

Zain Salman (he/him) is a third-year Software Engineering and Pure Mathematics student. He shares the ups and downs of his co-op journey, from moving to new cities to gaining career clarity in software engineering. He also shares some tips on how he stood out through the job application process, landing him co-ops at companies like TD and Bloomberg.


Zain's co-op journey


Work term one: Zain’s first work term was at a startup called Red Thread Innovations. There, he did front-end web development for a platform made to create web applications with little to no code so that designers could create web applications for Red Threads Innovations customers. 

Work term two: Zain then worked in the innovation labs at TD Bank. He looked for new ways to support TD customers and how they could use technology in that process. He developed a mobile app for TD about sustainable shopping and a Chrome extension that uses chat bots to summarize legal documents to various reading levels for accessibility purposes. 

Work term three: For his third co-op, Zain moved to Montreal to work as a mathematical algorithms and machine learning developer at InfinityQ. He worked on creating a solver to solve combinatorial optimization problems that would be used to improve costs and efficiencies for the company. 

Zain Salman smiling with buildings in the distance behind him

Work term four: Zain spent his fourth work term in New York City working at Bloomberg as a software engineering intern. He did work on Bloomberg’s product that provides dividend forecasts for their customers. 


Q&A with Zain


How was the experience of moving to new cities for your co-ops? 

“I think moving to new cities can be really hard. The two times I’ve moved were to Montreal and to New York City and I had two different experiences. Moving to Montreal was tough for me because I didn’t know many people there and it was hard to make friends and meet people around me.” 

“It was also difficult to communicate because I wasn’t very fluent in French. Sometimes I would go out to stores and people wouldn’t speak English and I wouldn’t speak much French, so it created a bit of a barrier.” 

“On the upside, I knew one person there, so we were able to hang out and stick together, but when I was alone it was a little bit isolating. There wasn’t anyone else in my class moving there and no other interns at my company either. I tried to go to some events and explore random coffee shops, but it was definitely hard.” 

“I had a really good time moving to New York. The major factor there was that Bloomberg had a lot of other interns. There were five or six people just from my software engineering cohort that went to Bloomberg, so I was able to talk to them. Whenever I felt a bit alone or scared in the city, I would hang out with them. I also quickly became friends with the other interns at Bloomberg from Waterloo and now we’re all really close.” 

“The main dividing factor for me was who I knew in the city and how easy it was for me to meet new people. I think the hardest thing about moving is the social isolation you may feel.”


Zain smiling and shaking hands with colleague in front of a Bloomberg backdrop

What did you enjoy about the company culture at Bloomberg? 

“The number of intern events they had for us. We were always doing some sort of activity after working 9-5. They had an event for us to go to basically every week. We went bowling, we went to a Yankees game, an escape room and went on a boat cruise.” 

“It was fun and a good opportunity to network and meet the other interns. It makes you feel more comfortable at the company as well. It was really clear that Bloomberg cared a lot about giving us a good experience and making us want to come back. I had a really good time.”


What are some memorable experiences from your work terms? 

“I really enjoyed the boat cruise at Bloomberg. They took us out after work and we went on a boat cruise around Manhattan and there was dinner, drinks and music. It was really nice.” 

“As for projects, when I was at InfinityQ, I was working on the optimization solver. I had a project to implement support for a new type of input that would allow us to solve bigger problems in more memory efficient and time efficient ways. It felt like a very sizable project and one that had a real impact on the company. I proposed that we implement it and the company said yes since it was something they needed. I’m really happy that I saw it through from start to finish.”


How has co-op helped with your career goals? 

“A lot of my co-ops have been in very different fields. My co-ops have shown me what parts of software engineering I like and what parts I don’t like as much and they’ve helped me narrow down what I want to be doing in the future.” 

“I did a co-op in web development and then one in mobile app development, and I realized that maybe those aren’t for me. There were enjoyable parts to both but I thought I might enjoy the more algorithmic side of things, so I did my third co-op in algorithms at InfinityQ and I really liked that. Then I did a co-op in general purpose software development at Bloomberg and that showed me what it’s like to be a software engineer at a big company.” 

There were perks and downsides to everything and it's helping me decide between going to work in a startup or in a larger corporate role. Without my co-op experiences, I would not know what types of jobs to be applying for once I graduate.

Zain Salman


How do you stand out when applying and interviewing for jobs? 

“A lot of common advice I hear people give is that grades don’t matter when you are applying to jobs. I’ve had a number of interviewers point out that they were impressed with my grades. I think grades have an impact in terms of getting an interview and getting your foot in the door initially. By maintaining good academic performance, I’ve managed to attract more employers to me than I would have otherwise.” 

“For a lot of software engineering roles, you get technical questions where you have to solve a programming problem. Being able to solve it is one thing but being able to communicate what you’re doing is important. Take a break at the beginning and start by giving an outline of what your solution is going to look like and ask your interviewer ‘do you agree with this or do you not agree with this’. I think I’ve gotten good at talking my interviewer through my solution and making sure they are happy with things before I go quiet and type away.” 

Zain posing in front of mountains at Yosemite National Park

“I also think I do a good job at being personable during my interviews. I try to smile and maybe crack a joke or two if it’s appropriate. When you can make you and your interviewer de-stress, it’s a bit of a better time in the interview.”


What’s next for you? 

“Right now, I’m completing my 3B term, so the immediate next step is to get through this. Career-wise, I’m in the process of securing a co-op for winter.” 

“For the summer, I’ve already got a job and I’m going to be back in New York at a trading firm called Hudson River Trading. It’s a job I’ve really wanted for a long time and I’m happy I managed to get that. Then those are my last two co-ops. After that I’m going to focus on finishing my degree.”