Skip to main content

Claire Curry

SFU Student Undergraduate
Science › Mathematics

Organization
Experience Faculty
I am happy to have had this experience and it has helped me feel that this is a career path I can continue on. It has demystified aspects of the industry that are hard to have an understanding of from the outside, and given me confidence.
Experience Details
Semester
Spring
Year
2023
Introduction + Preparation
Preparation Tips for Future Students

I think the most important bit of preparation in my case, was doing a bit of self directed coding work before hand. Especially being enrolled in Mathematics and not too far into my program, it was a helpful data point for the interviewers who could see that I actually had done some coding before. It was almost mentioned to me a bit further into my experience that an important part of why they wanted to see some coding that I had done was to see if it was readable.

Then once everything was approved and I was hired for the job, I think it's important just to stay calm and approach things in a good headspace. I was nervous leading up to my first day, and I shouldn't have been, things ramp up at a reasonable pace, and I had plenty of time to get used to the environment and learn the skills needed to feel confident.

Don't be afraid to ask questions, even starting at the interviewing stage. I was told later that one of the reasons I was chosen was that I seemed interested in the work itself, and not just about a job in the abstract, so let that interest shine through.

blurred vscode
During my Experience
Orientation and First Weeks

My first few weeks were spent on mostly bug fixing, something not displaying properly on the website, or a line of writing that needed to be changed. That introduced me to my biggest challenge in the beginning, finding anything. You've got a massive nest of files in VSCode all with descriptive names sure, but it's hard to know exactly where a single line of text appears amidst the ten levels of nested React components that make the website. Not to mention the arcane programs and console commands I'd been dictated to get the whole thing running.

That's not to say it was a bad experience, everyone on the team was super helpful and kind towards my infinite questions which also helped me to get to know everybody and there was an understanding that I was learning that helped to take the pressure off. It felt very grounded. While I had this vast sea of skills to pick up starting from the very basics, it was expected that I might take a few hours to find the one line of code I had to change and then change it. In the future I could remember how I found it, and find it faster.

Learning and Adaptation

Starting out, and continuing throughout my experience I received tons of feedback. I would post my code up for review and sometimes have to go through over twenty edits before it finally got approved. Sometimes it would be small things that I could immediately understand as errors, but equally often it was something to do with readability or "best practice". I think it was important for my skill development to ask about the underlying thinking behind these sorts of edits, and I would often ask my colleagues something like "How would I tell if I needed to make this kind of edit in the future?" or "What is your thought process for wanting it done this way?". I learned lots from these kinds of questions.

A large percentage of my time at this job has gone towards understanding the structure of a large code base, compared to the time spent on the more problem solving aspect of coding. An important skill that is difficult to learn in class, but impossible to avoid at a job is how to read what someone else's code is doing. Developing this skill has been my primary method of improvement over this semester as once a problem is isolated and well understood, most of web development boils down to putting things in the right place. I haven't used a single loop my entire time here.

Accomplishments and Challenges

The biggest challenge of my co-op experience this semester has been understanding how different systems connect to each other. It's usually easy if you are fully embedded in one area, React for example, a JS web development framework, everything fits together in a mostly intuitive way. But once I started having to connect disparate areas of code, for example a webpage built with React which triggers a call to an in-house API which ferries the request to an external companies API it became more difficult. I think this is because it required a shallow understanding of a douzen small interlocking parts, instead of deep knowledge in one narrow area. I constantly found myself at the bottom of a steep learning curve.

The challenge of course is what makes it so exciting when beyond all reason and after much pain, everything starts to work exactly how you wanted it to. This was the case for my largest ongoing project in formatting and building out a webpage 80% on my own. This required front end work to align all the visual elements, have them play nicely with each other and fit on the screen where they were supposed to be. It required wiring up all the buttons and functions to link where they were supposed to go, or do what they were supposed to do. And it required all these elements to work seamlessly as it was intended to eventually be shipped out as a professional website.

There was a lot to figure out and fine tune, small errors that I might have overlooked for a personal project would make the page appear unprofessional and needed to be ironed out. I am proud of the work I did on that page. Working at this company has really given me a respect for webpages I did not have before.

Reflection & Tips
Reflection

I am happy to have had this experience and it has helped me feel that this is a career path I can continue on. It has demystified aspects of the industry that are hard to have an understanding of from the outside, and given me confidence. I am also thankful, and a little bit bewildered to have been given this opportunity despite admitting to almost no experience with the tools the team was using, it definitely gave my first month one of the steepest learning curves of any job I've ever had, but I've come out the other end knowing so much more than I started out with. I'm thankful for everyone on the team taking time out of their work to help me when I was stuck, explain the systems, and give feedback on the work that I've done.

It's been fun to get a feel for the culture of the industry, or at least this company, how things function, the pace of work, and the social rules of programming teams. I feel like much that I have learned are small bits of experience that help me feel at home in these environments, learning the ropes, in a manner of speaking.

Most Valuable Aspects of This Experience

The most valuable part of this experience has been familiarizing myself with all of the standard tools used in programming, from specific programs like GitHub to examples of team organization like Sprints. The programming world is its own culture, and I don't think there would be any way to learn most of this stuff without being immersed in it for months, as I have been. I imagine this is why first jobs are difficult to find, and initial experience is at a premium.

Another important part of this experience was learning how to learn these tools. I mentioned before about feeling constantly at the bottom of a steep learning curve, and this can't help but build familiarity with that process. When before I might have struggled to know where to start, I have a bit more of a sense now for how to make some first steps when nothing feels like it's making sense, which is experience I hope to make good use of in the future.

I also wanted to mention the people that I've met, all of whom have been a joy to learn from and have contributed to a great workplace atmosphere.

Connection to Academic Studies or Career Goals

Getting a first job in the industry is obviously a big step in any career path, and I'm glad to have taken it, but I've also gotten a deeper appreciation for the academic side of my journey as well. There's a lot you can't learn only by studying, and likewise there are things you'll never be pushed to understand and incorporate if you are only ever focused on pragmatic tasks.

In terms of career goals, while I've enjoyed it enough to continue my co-op for another semester, I think I'll want to take what I've learned in web development and continue into more mathematical areas of programming. What I have and will continue to learn from working web development I hope to use as fundamentals as I expand my skill set into other areas, specifically how I have improved in my ability to work in a team, and to incorporate new tools into my work.

Advice for Future Students

After working here for a few months I was able to figure out that a significant part of my hiring had been due to a unique cover letter, an interview where I seemed genuinely interested, and the readability of my personal projects which I toured during the interview. The common thread from all these things I think is communication. My advice then is despite being in a technologically focused field, it is still important to learn social skills, to be personable and engaged, and to seem like someone that people would like to work with.

It can definitely be intimidating, especially if like me, this is your first experience in your chosen field, but remember that everyone you talk to and work with are just people. And remember to be a person too. Talk about your hobbies, don't be afraid to add to chatter, share your interests and have fun. I think most people prefer someone who's good to work with to someone who's supernaturally good at their job, but a pain.

I hope anyone reading this has an experience as enjoyable and enriching as mine!