What I Loved About Being A Software Engineering Intern at Ownr

My co-op terms at Ownr and RBC were transformative experiences that provided me with invaluable industry knowledge and skills. Here's a detailed account of my journey, the challenges I faced, and the growth I experienced throughout these internships.
Introduction
As a Computer Science student at the University of Waterloo, securing internships at both Ownr and RBC was both exciting and intimidating. The transition from classroom learning to real-world application came with its own set of challenges, but it was precisely these challenges that accelerated my professional growth. Each company offered unique environments, technologies, and learning opportunities that complemented my academic knowledge in ways I couldn't have anticipated.
Ownr Co-op Term
At Ownr, I worked as a software engineering intern focusing on full-stack web development. I was involved in developing new features and improving existing functionality for their platform, which helps entrepreneurs start and manage their businesses.
The collaborative environment at Ownr allowed me to work closely with cross-functional teams, enhancing my communication and teamwork skills. I also gained hands-on experience with modern web technologies and frameworks including React, Node.js, and PostgreSQL.
One of my major projects involved building an internal tool for the company's system from scratch. I also contributed to the implementation of new features in the main app and bug and vulnerability fixes. The last month of my internship was dedicated towards prod support where I fixed production bugs.

Day-to-Day at Ownr
A typical day at Ownr started with a team stand-up meeting where we discussed our progress, plans, and any blockers. This was followed by focused development time, where I would work on assigned tickets from our sprint backlog. The agile methodology practiced at Ownr taught me the importance of iterative development and continuous feedback. One aspect I particularly appreciated was the bi-weekly demo review sessions. Developers would provide demos or give a brief overview of what they worked on over the past two weeks. I also received detailed feedback on my code, highlighting areas for improvement and best practices. These sessions significantly accelerated my growth as a developer and taught me how to learn to write maintainable, more efficient code.

Enterprise-Scale Development
Working at RBC exposed me to enterprise-scale development practices that were quite different from the startup environment at Ownr. I learned how to navigate legacy systems, work within strict security guidelines, and follow rigorous testing protocols. These constraints initially seemed limiting but taught me the value of careful planning and thorough documentation.
Technical Skills Gained
Python
CI/CD
NestJS
SQL
Typescript
Git
Docker
NodeJS
AWS
Jest
Redis
Kubernetes
Challenges and Personal Growth
Both internships presented unique challenges that pushed me outside my comfort zone and accelerated my professional development.
Overcoming Imposter Syndrome
During my first few weeks at Ownr, I struggled with imposter syndrome, questioning whether I had the skills to contribute meaningfully to the team. The codebase was complex, and I felt overwhelmed by the expectations. However, with support from my manager and incremental wins on smaller tasks, I gradually built confidence in my abilities.
Balancing Speed and Quality
At RBC, I faced the challenge of balancing speed with quality. The pressure to deliver results quickly sometimes conflicted with the bank's rigorous quality standards. This tension taught me to prioritize effectively, communicate realistic timelines, and develop efficient testing strategies to maintain quality without sacrificing speed.
Key Takeaways
Reflecting on my co-op terms, here are the most important lessons I learned:
Embrace the challenge
The workload is intense, but it's designed to build your resilience and problem-solving abilities. The most valuable growth comes from tackling difficult problems that push your limits.
Collaborate effectively
Learning to work in teams is essential, as many projects involve group collaboration. Clear communication, active listening, and empathy are as important as technical skills in professional environments.
Seek help early
Don't wait until you're struggling to ask for assistance from mentors, colleagues, or supervisors. Proactively seeking guidance is a sign of maturity, not weakness, and can save hours of frustration.
Balance is key
Make time for activities outside of work to maintain your well-being. Regular exercise, social connections, and hobbies helped me stay energized and prevented burnout during intense project phases.
Conclusion
My internships at Ownr and RBC were pivotal experiences that bridged the gap between academic learning and professional practice. The contrast between a startup environment and a large enterprise gave me a comprehensive understanding of different organizational cultures and development methodologies.
If you're considering a co-op term at Ownr or RBC, I hope this gives you a helpful glimpse into what to expect. Both experiences were challenging but incredibly rewarding, providing me with skills and knowledge that will benefit my future career. The technical expertise, professional networks, and confidence I gained have been instrumental in shaping my career trajectory and clarifying my professional aspirations.