In January 2018, I started as a Software Developer Co-op at Hootsuite. In January 2020, I became an Intermediate Software Developer. This is my journey.
Before I get started, here’s a little bit about me:
- I’m a Software Developer at Hootsuite on the Engage team.
- I went to Simon Fraser University and majored in Computer Science.
- I did two co-op terms that were eight months long. One was with Hootsuite.
- I joined Hootsuite as a Junior Developer in October 2018, right after graduation.
- I became an Intermediate Software Developer in 2020.
I started as a Co-op Software Developer on the Developer Products team.
My team was responsible for maintaining Hootsuite’s App Directory, which empowers external developers to build apps for Hootsuite’s ecosystem.
I admit I didn’t know what I was doing when I began. This was the first time I had encountered a product of this size that serves about 18 million users. I was terrified of bringing the whole system down.
Fast forward eight months: I finished my co-op (and managed to not cause an outage). Moreover, I was returning the following month as a Junior Developer on a different team called Engage. I credit this to my amazing co-op experience and everything I learned during that time.
What did I learn from my experience as a co-op?
- Hootsuite developers are amazing people who are willing to answer all your questions and support you in your goals.
- I surprised myself at how fast I can learn programming languages and technologies, such as Scala, Kubernetes, SQL, Mongo, etc. when I’m given the space to do so.
- Opening myself to new roles is as easy as asking for opportunities to try something new. For example, I learned how to keep my team on track by being the Scrum Master.
- System architecture is fascinating, and attending talks and learning sessions opened my eyes to that.
- Seek out mentorship from within and outside your team. It is a great way to learn about things that your team might not be working on.
When I started as a Junior Developer, the lessons from my co-op resonated with me further. My new team was responsible for a different part of the product which had its own requirements and architecture. I was learning everything from scratch. As I began all over again, I applied the lessons I learned from my co-op, going out of my way to seek opportunities and learn new things.
Even though it was hard, I built confidence by seeking feedback from my mentors who encouraged me to take on more responsibility and greater initiative. One such initiative was starting a book club for learning Scala. This not only helped me improve my Scala but also encouraged others to improve their Scala knowledge.
By finding my weaknesses, getting feedback, and creating opportunities to learn, I found ways to help both myself and others and gradually build the skills necessary to be an Intermediate Developer.
The Most Important Lesson Of All: Be Prepared to Learn.
That means ask questions, attend learning sessions, reach out to people outside your team, and explore opportunities coming your way.