During my internship year, I’ve had the pleasure to work with two unique and amazing companies: Arcurve, and Microsoft! I first interned at Arcurve in the summer of 2020 between the second and third years of my software engineering degree at the University of Calgary. Then, I worked at Microsoft for the first four months of my internship year, starting in May of 2021. After I finished that internship, I rejoined Arcurve in September, and have been with the team ever since. The whole team at Arcurve has been very supportive of me and I’m grateful to have had excellent opportunities to learn a ton at both companies.
Working at Microsoft was excellent for my growth as a software engineer. I joined a big team focused on creating dynamic photo editing experiences, and straight away I was writing code and completing pull requests into a project with hundreds of millions of customers. I got an up-close perspective of how big teams can collaborate to create software, and how different disciplines like design, engineering, and product management can combine their talents in a fast-paced setting. My project also gave me the opportunity to gain a ton of skills in our tech stack, which was mainly React and Typescript.
This experience was a major help to me after I joined Arcurve this last September. One example of a skill that has come in handy was using git for version control. I’ve been able to apply my experience and knowledge of large-scale git workflows to collaborate successfully with my coworkers at Arcurve and build deployment pipelines with CI/CD. Another lesson I learned during my time with Microsoft was the importance of clean code (thanks Uncle Bob!) and how software engineers can adopt practices and naming conventions that make code easy to understand, scale, and maintain. I’ve been able to apply these skills at Arcurve to create well-written, maintainable software for our clients. I’m proud of what I’ve been able to accomplish with my team so far!
One of the main differences between Arcurve and Microsoft is that Microsoft software engineers almost never directly interact with the customers for whom we are building software, whereas at Arcurve it’s a lot more personal, as you frequently get to talk and seek feedback from clients themselves. Another difference is that at Microsoft, most software engineers stay committed to one team that is building proprietary software for a long period of time; this means you get a big depth of experience in one core tech stack. Meanwhile, at Arcurve, we build and maintain software for many clients with a diversity of needs and requirements. Because engineers switch projects at Arcurve relatively often, you get exposed to a wide range of frameworks and programming languages that can make you a well-rounded software developer.
What unites Arcurve and Microsoft is they both have a strong sense of culture and identity, and at both companies you know you’ll be surrounded by an awesome team of supportive coworkers who are committed to helping you grow and succeed. For new software engineers, it’s important to get a variety of perspectives and to seek exposure to different areas of the industry, especially during your internship year. You certainly couldn’t go wrong with choosing to intern at either of these companies!