Co-op terms 4–5
Magnet Forensics
Software Developer Co-op
- When
- · 8 months
- Where
- Ottawa, ON (remote)
- Team
- Remote Acquire, Magnet AXIOM Cyber
- .NET
- C#
- Workflows
- Visual Studio 2022
- Test Studio
- Jira
- Miro

Context
Magnet AXIOM Cyber helps organizations and investigators collect and examine digital evidence. Remote Acquire is the part that reaches other machines. You deploy an agent to a computer, and then you can monitor and acquire data from it remotely. The agent can even run under a process name you choose, so the person using the machine won't be suspicious. It's especially helpful for companies investigating fraud and other misconduct, so they can catch it before it does more damage.
I came back to Magnet for eight months straight, from January to August 2023, as a Software Developer Co-op on the Remote Acquire team. The team was spread out across Ottawa, Guelph, Vancouver, and Calgary, and I worked remotely from Guelph. Together with my summer on REVIEW, that made twelve months at Magnet!
My role
We called ourselves the Sharks, and the team was made up of five to seven developers and two to three testers, using Scrum. The product is built with .NET and C#, and the user interface uses Workflows, a UI framework I had never seen before and learned by experimenting in the codebase. Over the term, I worked on two medium-sized features and one very large one. Only a month or two in, I was told that my work was on par with the other developers on the team.
I also took on a good share of the team's process. At least twice a month, I led ticket discussions in technical refinement, usually after researching the ticket ahead of time, and I presented my work at two sprint demos.
What I built
Magnet keeps most feature details confidential, so I'll keep this high level.
- The macOS spike. One feature depended on macOS-specific processes and security systems that nobody on the team knew very well. With my manager's encouragement, I took it on as the first spike of my career, along with one of my teammates. We started out not even knowing whether the feature was possible, and finished with a proof of concept, a walkthrough for the team, and all of our findings written up on the team wiki. For the many sprints it took to build, I was one of the people the team came to with questions about what would and wouldn't work. The release went very smoothly, and our customers were really happy with it. I ended up doing three spikes in total that term.
- Certificate selection. I added a new option on the settings page that lets the user browse for a certificate on their machine and keep it selected for use across the app instead of the default, along with the new classes behind it.
- Smaller UI and test work, like adding a checkbox and label to a screen, and some tickets on the team's automated UI tests in Test Studio.
- Onboarding docs. I updated the wiki for version changes and a redesigned setup UI, and documented a Visual Studio 2022 install step that I only found out about when my IDE license was about to expire.


In May, Magnet brought the out-of-town members of our team to Ottawa for a week, so we could work in the office together and attend an Agile workshop that our manager organized. We learned how to split tickets properly, which the team got noticeably better at for the rest of my term, and we changed how we ran technical refinement so more people could take part. It was my first time in Ottawa, and between team dinners we got to tour downtown. For a team that works remotely, getting to spend that time together in person was invaluable, and I truly felt like part of the team.



Stack
- Product: .NET, C#, Workflows
- Tools: Visual Studio 2022, Test Studio, Google Cloud Platform, AnyDesk, VNC Viewer
- Process: Git, Jira, Miro, Trello, Slack
What I learned
Spikes taught me that "nobody here knows" is a perfectly fine place to start, as long as you write down what you find. Going from Kanban on REVIEW to Scrum here turned estimation into a real skill instead of a guess, and by the end, my planning poker votes usually lined up with the majority. Test Studio showed me the real cost of automated UI tests, since limited licenses and flaky runs can make them more work than they're worth. And using a full IDE changed how I move through a large object-oriented codebase, especially once I found the setting that maps Visual Studio's shortcuts to the VS Code ones I was used to.