Skip to main content
A picture of me wearing a brown coat and silly hat

Evan Vulliamy

SFU Student Undergraduate
Science › Mathematics | All Faculties
Co-operative Education › Local Co-op

Over the past 4 months I have been exposed to all kinds of new information. In the world of DevOps there are always new challenges which keep me engaged.
Experience Details
Introduction + Preparation
Previous Experience

Prior to working at Absolute I worked for WorkSafeBC as a Payment Review and Compliance Analyst. This position allowed me to work on my analytical skills and sharpened my soft skills. While the positions are different from one another, having prior work experience was quite helpful in landing my developer position at Absolute. I found it helpful to have projects that I could talk about during my behavioural interview. My prior work experience also helped me understand how I work under pressure and respond to conflicting deadlines.

Preparation Tips for Future Students

When I saw the posting that Absolute Software was looking for a developer I knew that this would be an application that I would fully commit to. Here are the steps I took to prepare for my interview.

  1. Practice explaining algorithms. It does not matter who or what you explain this algorithm to. The important part is that you practice talking about code. This will also help identify parts of algorithms which you might’ve forgotten about.
  2. Review your resume. Make sure you know what your contributions were projects you included. Ask yourself what challenges you faced during these projects and how you overcame them. Be able to talk about how the your skills relate to the role.
  3. Practice solving problems. Warm up with some Leetcode questions. Find some coding exercises and work through them. You want to be confident in the programming language you intend on using for your technical interview.
  4. Research common interview questions. In just about every interview I have done I’ve been asked the question “so tell me about yourself.” If you practice your answers to these questions it becomes easier to relax in your interview.
Computer code on a laptop
Photo by Chris Ried
During my Experience
Orientation and First Weeks

The first week was focused on setting up my computer with all the software and accesses I would need for the coming months. I also spent time meeting the team and learning about the technology stack. Once I was settled in I was given my first ticket. I was tasked with adding additional error handling to a script to ensure that it did not crash. This ticket almost felt like a canary as it allowed me to troubleshoot any lingering issues I had with getting my computer set up. This ticket also gave me a first look into how the Gitlab repo was set up. The script I was working on is part of a pipeline which means that it is triggered when a branch gets merged into the default branch. This allowed me to ask questions to my team about how to test this script. I did not want to start making a bunch of merge requests to default branches and break anything important. Luckily my team was able to provide me with great support. What amounted to a small change in the code was lots of valuable experience. 

Learning and Adaptation

Throughout my first few months here is the process that I found best for learning new skills:

  1. First, choose a topic of interest. For me, this was container technologies.
  2. Watch videos about the topic to get an overview of what the technology is for, what problems it solves and some basics
  3. Choose a ticket on this topic that pushes the boundaries of my knowledge. Talk to the team and see if they agree that it is appropriate to take on.
  4. Struggle through the ticket a bit on my own. A lot of my best breakthroughs in understanding have come through perseverance
  5. When I inevitably get stuck come up with some questions and ask the team
  6. Keep doing steps 4 & 5 until I miraculously complete the ticket

I do not learn well by just reading or watching videos. It is easy for me to convince myself that I understand a topic, however, most of my learning comes from applying what I have learned. That is why I pick tickets on topics I am trying to learn to reinforce the theory that comes from videos. It is also important to choose the right difficulty. While it is nice to take on easy work, there isn’t much learning to be found there. I think struggling is an important part of the learning process. If you’re given all the steps and you complete them without much thought then you miss out on “playing” with different concepts. It’s important to see something work, but it is equally important to see what causes something to break.  Doing these steps allowed me to quickly learn about container technologies and Gitlab pipelines.

Accomplishments and Challenges

This co-op semester brought a lot of challenges but also a huge sense of accomplishment. I have never worked in a service-based architecture before. This means that each component of the product is split up into tiny code repositories. The challenge of this is seeing the forest through the trees. It’s also challenging working on a team that handles infrastructure. One moment you’re working on a proxy server, the other you’re setting up HTTP connections with digital certificates. I will not complain about the challenge as it means that I have the opportunity to learn a lot. Applying my method of learning new technologies has allowed me to onboard quickly, and contribute to meaningful tickets. Pushing myself to choose work that interests me has been met very well by my team.

Reflection & Tips

This has been a co-op that has pushed me to grow in my weakest areas. I had little experience with web development aside from one course before this internship. I also did not know much about networking or container technologies. A lot of the content felt quite alien at first, however by the beginning of my third month I noticed that I was beginning to pick up the speed and complexity of the tickets I would pick up. When I start new tickets I also have a better understanding of where to look for answers, or how to be more specific with my questions. Throughout these first four months, I have felt supported by my team and I have gotten to work with many people with diverse skills. Working at Absolute you can push yourself as much as you want which means that you’re not stuck doing tedious work. As you grow you can contribute to more interesting work which keeps the experience exciting. Working in DevOps you get to automate workflows into pipelines. Learning about Gitlab pipelines has been great and will be useful in the future. Working in a service-based architecture means having to understand the infrastructure of the code base, what all the components do and how they interact. This leads to interesting challenges which is very rewarding. I have had the opportunity to write more scripts to automate different procedures. Learning about APIs has boosted my confidence in working with modern technologies.

Most Valuable Aspects of This Experience

Working as an associate developer on an infrastructure team there is no shortage of work. Not to mention the variety of tasks there are to do keeps things interesting. There is work for a wide range of skillsets and interests which guarantees that I can find tasks that I am passionate about. Due to the breadth and depth of tasks, the team is full of people with knowledge that compliments the challenges of DevOps.  Having a variety of tasks means that it is easier for me to find out what I like, but equally as important, what I don’t like. I have found lots of support throughout my experience. Throughout my internship, I have had one-on-one meetings with my manager. This has been helpful for many reasons. Feedback helps let me know that I am doing a good job and am on track. These meetings have also allowed me to voice my interests, and allows me to shape my own experience.

Connection to Academic Studies or Career Goals

During my time at SFU, I took courses in cybersecurity and cryptography. This has piqued my interest in what it would be like to work at a security company. This was a motivating factor for me to apply for the job and push myself throughout the interview process. So far I have participated in security patching, added digital certificates to HTTP connections, and removed other security vulnerabilities. As I reach the end of my degree I am discovering if my interests throughout school can become a career. It is for this reason that I find my experience to be related to my career goals.

Advice for Future Students

Choose work that you find interesting. If you wait for your team to hand you projects you will be bored waiting for work that comes to you. When you finally receive these projects they might not suit your interests. If you’re proactive, then you can shape your co-op experience. Be confident in your abilities, but be humble. Try to solve problems on your own first. It’s good for learning and it will allow you to identify where you get lost. When you’re completely lost be humble enough to ask for help. Don’t be afraid to have a few tickets on the go so that way if you get stuck on one project then you have other tasks that you can switch to. In the beginning, there will be a lot of time while you are waiting for a response from your team. Use this time to work on other projects or to learn new skills.