This week’s SFU Surrey Co-op featured student is Megan Holmes, a Mechatronics Systems Engineering student, who has been doing some excellent work, all while on her very first Co-op term. Megan is currently working at one of her dream companies, MDA, a Canadian aerospace company that specializes in geointelligence, robotics & space operations, and satellite systems. Upgrading the Canadian CP-140 Aurora aircraft’s radar surveillance system is one of the exciting projects Megan has been working on at MDA. As this was her first co-op job at one of her dream companies, Megan wanted to make a good first impression by throwing herself entirely into the first task she was given. By the end of the first week, she made a tiny change in the codebase that ran without crashing and by the beginning of her third week, she had almost finished her first assignment. Unsurprisingly, Megan’s exceptional work effort paid off as she completed her first assignment in nearly half the time she was allotted (25 days before the deadline). To top it off, because Megan was so efficient, she was able to help work on a few different assignments that none of her colleagues had time to complete before their deadlines.
Favourite Part of the Job
Megan says her favourite part of the job is seeing the changes she makes on a codebase appear and work well within the already existing system. She says, “The part that I like the most about software is the almost real-time feedback you can get. If you make a change in the code, you can see if it worked pretty quickly and adjust the course if it’s not working quite the way you want.” Megan has also enjoyed getting to work on many different projects with various teams while at MDA. She says this has allowed her to observe numerous strategies for ensuring the production of quality products, and she is excited to use all the different techniques she has learned in her future career.
One of the key things Megan says she has learned while on her co-op term is how to work with large codebases. Throughout her university career, the largest project she worked on was just a couple thousand lines in a half dozen files. In contrast, at MDA, the codebase she has been working on has hundreds of thousands of lines of code contained in hundreds of files. Consequently, a crucial skill she has learned is how to separate what is essential to her current task from what is irrelevant.
Another lesson Megan has learned is how to build upon the work others have already done. She says, “In university, typically you are doing design projects from scratch. I have learned that reading and understanding existing code is often harder than it is to write new code, and as such, I have developed my skills at writing good documentation to help those that have to read my code in the future.”
Experience with the Co-op Program
According to Megan, the MSE co-op team has been crucial in her success by helping her plan her next move when there was uncertainty if her co-op term at MDA would be extended. She says the Co-op team has also taught her how to market herself to future employers and helped her organize her work terms effectively to graduate on schedule. When asked about the advice she would give to other MSE co-op student’s Megan said the following: “The two most important skills you can have as an engineer are the ability to learn quickly on your own and the ability to overcome adversity. If you can learn quickly, you can cover most gaps you have in your knowledge before they become issues. Unfortunately, the gaps you have in your knowledge may be larger than expected and ultimately, you will be thrown into tough situations. If you can handle adversity and use it to motivate you, you can overcome any obstacle.”