Thursday, 15 January 2015

Co-op Reflections 1.0: The First Week

2015 sure came in fast around the corner; before I knew it, shortly after celebrating the New Year, my suitcases were packed yet again and I set off for Ottawa.

First impressions: Left: a very snowy landing in Ottawa. Right: the colourful waterfall, one of
the first sights after arriving
in the airport
.

Now, over a week later, I am continually amazed by how quickly time manages to fly by. From my very first day on the job at Savision Canada, I was put right to work, figuring out how to fix the first bug we came across, and gain a better understanding of the code from the project that I'd be working on. As my manager put it that day at lunch, "you're already doing more than 95% of your classmates on co-op today," and he was right - by getting to work directly with the code as I looked it over, I began actual work on my project right from day 1, and it's only continued to go up from there. And I'm grateful for this approach; despite the initial "I-have-no-idea-what-I'm-even-looking-at" moments, I feel that by jumping right in, I've learned a lot more in a faster amount of time, simply because I had to in order to determine the issue and solve it.

Differences
The one thing they never told us about in our programming class was just how different learning programming is from applying it. Last term, we only had to worry about three or four C# classes at max, all located conveniently in one file, but my project involves flipping through interactions between countless classes and their respective interfaces, namespaces, and files. Perhaps the most significant thing that I've taken away from my first week is that you don't need to understand every part of the code to do the work; in fact, that would be nearly impossible as there are files that I haven't seen or touched yet. Instead, as I work on different tasks, I'm slowly being exposed to different aspects of the application I am working on.

At the Office
One of the most important aspects of the job is the work environment and the people that you work with. Because the Canadian branch of the company is quite small, our office is open-concept meaning everyone sits together. I didn't realize that the Canadian office only works on research and development; this is great because although everyone around me is working on different projects, they never hesitate to try and help. Generally, we work in a very quite atmosphere where everyone focuses on their own tasks, but every now and then a random conversation that's completely unrelated to work will pop up. And I can honestly say that my co-workers are all very open and friendly; it's been really nice in these past few days to hear about their variety of experiences both inside and outside of work. My manager, in particular, has been wonderful about checking in about my progress as I work, and breaking down my project into meaningful yet manageable tasks. Being able to break down the large amount of work into smaller pieces and complete them one by one has definitely helped me to not be as overwhelmed and just generally work more efficiently.


All in all, I'm happy to say that I am truly pleased with what I'm working on. I think it's safe to say that you've found the job for you when time just seems to fly by at work. Although a day doesn't go by without their own issues and challenges to overcome, it's been interesting to work through them one by one and I've been learning so much throughout the entire process. At the end of week one, it was fun to see a quantification of the progress that I'd made:

The green column indicates how many lines of code I added/changed, while the red column indicates how many lines I deleted. While it's interesting to look at to see how much I did, these numbers are trivial compared to what I have learned from the week, not only about programming itself, but the process of going about it. As I continue in my work, look out for more updates as I look forward to what's coming next.

No comments:

Post a Comment