Daphne Liu is a third year Computer Science student at the University of British Columbia. She spent 4 months at Hootsuite as a Software Developer co-op on the Apps & API team.
I joined the Apps & API team at Hootsuite as a Software Developer Co-op in January 2019. Hootsuite is a fast-growing social media management company with around 1,500 employees worldwide. Our users, ranging from individuals to HBO and Obama Administration, use the Hootsuite Dashboard to manage their online brands and different social media accounts, all in a single view. My team handles the back-end APIs for the Hootsuite “App Directory”, where you can find apps to install to your Dashboard. We also own the internal “Admin UI” where administrators edit information that goes into the directory.
What I Accomplished
During my 4 month co-op, I learned a lot as a full stack developer on the team. I joined amidst an initiative to revamp the old App Directory and Admin UI for a fresh look and additional functionality. I experienced the joy of launching just 3 days before my co-op finished. Here are some of my accomplishments:
- Spoke at the Microsoft Higher Education Summit on the Intern Panel to share my experience at Hootsuite. People tweeted about me and I was featured in the event recap video!
- Jumped into large code bases, and learned to understand, refactor, and identify how my task fit into the existing pieces
- Implemented an API endpoint from scratch in Scala for the new App Directory and contributed to a Scala onboarding guide during an internal hackathon
- Created features for Admin UI in React, such as a search bar and pagination
- Updated the external developers sign-up flow with HTML and debugged PHP code in the Dashboard
What I Learned
Aside from gaining and reinforcing my technical skills, here are my biggest takeaways from my co-op:
Creating my own opportunities for mentorship
I took the initiative to ask my manager to recommend a career mentor so I could meet people from other teams. My mentor Lindsay turned out to be fantastic. She was intellectually curious, patient, and empowered me to find success in the field. She helped me plan my career and prepare to speak at a conference. I’m fortunate to have a career mentor so early on, so I can establish well-defined goals to work towards.
Don’t hold back questions
Co-op is a time to ask questions, experiment, and be comfortable with making mistakes. I used to be uncomfortable pulling my mentor Lucas out of his work to ask questions. However, he was friendly and encouraged me to do so, citing that his role was to help me ramp up and succeed. After I became more immersed in the team, he taught me to pick and formulate questions to ask. If I were stuck for a disproportionate amount of time, I would provide him the context of what I tried, my thinking process, and any information I believed was missing. This has helped me gauge my understanding and hone in on my problem solving skills so I can tackle similar problems in the future.
It is easy to work in a vacuum and focus solely on your team and your work. However, there are valuable lessons to learn in a company if you open your eyes and ears and ask questions. With the new app directory, I observed how product decisions were made and how my team prioritized and made technical trade-offs. At the company All-Hands, I listened attentively to the direction Hootsuite is moving in. I gained a better grasp of how each team fits in the big picture, and how individuals like me can contribute.
Advice I Received at Hootsuite
Another takeaway is to get to know the full-timers in the company. Along with sitting next to different people at lunchtime, chatting over coffee is a great way to meet new people. At Hootsuite, I’ve gone on coffee chats with people ranging from vice presidents, directors and developers. I picked their brains, made connections and obtained advice from their diverse positions and background. This inspired me to write this blog, and to share the words that resonated with me:
Chief Executive Officer (CEO)
My advice would be to get as culturally involved as possible during your internship. The social aspects of our workplace are often just as valuable as the technical skills that you pick up in your day today.
My advice to you / co-op students is to have insatiable curiosity, to not be afraid to question things that don’t make sense, to challenge the status quo, to be constantly learning and to be maniacally customer focused.
Director, Software Development
- Think about your long term career. Where do you want to be in 10, 20 years? Then start gathering the skills and experience that you need to get there. Master the technological skills and always try to be improving your soft skills, so that you have a balanced trajectory.
- Don’t get stuck in a rut. You may find in the future that you have landed in a role that is paying you a salary, but you are not getting much out of, or you may not even enjoy. Remember your long term career goals, and shake yourself out of that position and try something new.
- Develop a life outside work, also called, don’t be defined by your work. Work can be stressful, it can have challenges, there will be high points and low points. Develop a purpose outside of work so that your life has balance and you have a longer term perspective. You are more than just the job you hold at any one time.
Senior Product Manager
Always keep in mind the bigger picture and customer value you are delivering as a part of your job. Generally everything that we do should roll up to a business value which we are delivering and ideally that will always be something that makes the lives of our customers better.
Other people (including employers) only have power over you if you give it to them. So don’t let the fear of what other people might think and do hold you back because you’ll never become your best self unless you actually be yourself. Speak your mind, be true to who you are, and go after what _you_ want: empower yourself because no one else can.
Don’t be afraid to challenge yourself and take on work that may be outside of your comfort zone. No one is judging you and we’re all here to learn and grow.
- Be very specific when writing code: naming, git messages, describing what you are trying to accomplish. Also when you are troubleshooting with other people, tell them exactly what you are trying to do. Assume they know almost nothing about the code you are working with.
- Take a feature end-to-end — When working on a new feature if you know 90% of what’s needed, code it, test it, refactor it, create PR. The more you can do before showing team members the PR, the better. Less work for the team to go through the code with nitpicks or questions like “have you tested this?”
Junior Software Developer
- Set out a goal for what you want out of your co-op and communicate that to your manager/team lead. I set a goal to improve my code quality and get better at Scala. Communicating it to your manager and team will allow them to support you and help you achieve them.
- You’re here to learn so learn as much as you can. Sign up for workshops, take advantage of hackathons, schedule 1–1s with seniors, do 10% time, sign up for mentorship programs etc.
Plumber, Restarter of things, Fullstack(overflow) developer
Break down a big problem into small pieces and aim to ship something everyday. Seeing continuous progress not only provides you with a sense of confidence, but the visibility also gives your peers an opportunity to point you in the right direction and provide feedback.
With Hootsuite’s work-out-loud, collaborative, and blameless culture, I underwent substantial learning, self-exploration, and growth. I took initiatives to maximize my learning and moulded my own co-op experience. I learned with curiosity and observation, challenged myself to new technologies, and developed relationships with mentors and friends who I will stay in touch with.
As I hold on to my takeaways and the advice I received, I will transform them into actions in my future co-ops and full-time jobs. I now have a clearer vision of the kind of software developer I aspire to become and my path to get there. Software development is an ongoing journey, so this advice applies not just to co-ops, but anyone at different points of their career. I hope you find it interesting and helpful, and perhaps you will find creative ways to put it to practice.
Feel free to reach out to me at firstname.lastname@example.org or connect with me on Linkedin!