What I Learned as a Co-op Student at Craver
By Chinchin Jin
It was January 3rd 2022, the last day of my winter break. I was about to start my first internship as a front-end developer at Craver. I had lots of doubts in my head. Was I ready to work as a developer? Would I even be able to contribute to the company? Would everyone think I was dumb? Of course, a part of me was super excited to try something so different, but most of the excitement was overshadowed by worry.
From talking to my peers, I know that most people have the same worries before starting their first internships. But for me, my worries quickly dissipated after my first few weeks here. I was learning so much that I didn’t have time to worry anymore! As my internship is now coming to an end, I often find myself looking back at that first day and feeling in awe of how much I've grown. I hope that by sharing my learnings and experience at Craver, can help ease some of your doubts you may have before starting your first internship.
Here are some life lessons that I learned during my co-op term.
Ask Questions When You're Stuck
I'm someone who likes to figure things out myself, rather than asking for help. I don’t like to feel that I’m inconveniencing people who have their own work to do. Before Craver, not asking for help was never a problem for me, as many of the answers I needed were readily available on the internet. And most problems I had simply weren’t urgent enough that I needed help right away.
This changed as soon as I started working at Craver. There were simply too many things I didn’t know. I couldn’t just pass them off as being unimportant either, since I needed to know these things in order to complete my tasks. So I was forced to ask questions. For the first two weeks, I would only ask the people in charge of onboarding me. However, I soon realized that there were issues even they weren’t familiar with and began asking questions in public Slack channels. I learned that it was okay to bother people privately for specific questions too. Everyone was so friendly and eager to help me learn, that I quickly became comfortable with asking questions and being honest about what I didn’t know.
It's Good to Mix with Different Types of People
Every other week, an app called Doughnut paired up two random people from the company for a coffee and chat, to get to know each other better. As a university student, I spend most of my time with other students around my own age so this was very new to me. I was a little hesitant going into these coffee chats, doubting whether I could offer anything interesting in these conversations.
But these coffee chats turned out to be one of the coolest experiences I had at Craver! It was so fun learning about people from all different backgrounds, and different areas the business. Everyone I talked to was so friendly and accepting. It was especially nice to connect with other people since I was working remotely and spent most of the day alone. These chats were actually really enjoyable, and they made me way more comfortable talking to different types of people. Even though I was chatting to people far more experienced and knowledgeable than myself, I found that we shared many similarities and it was far less intimidating than I thought.
As I mentioned, before starting my internship I was unsure if I could actually add value at Craver. I'd never worked as a developer before and I was afraid my coworkers would be disappointed by my lack of experience. However, my internship actually helped me gain heaps of confidence!
At Craver, co-op students are treated like junior developers. They're encouraged to review other people’s pull requests and help other developers, even if they have higher seniority. While I'm still always asking other people for help, I feel proud that some other developers come to me for help too. Knowing I'm capable of helping others made me gain a lot of confidence not only in myself, but also in my career choice.
Here are some of the more technical skills I learned during my time at Craver.
Working with a Large Codebase
Before Craver, I'd only worked on school projects and small personal projects. The codebase at Craver is a lot bigger. Even after working there for a few months, I still regularly bumped into parts of the code that I wasn't familiar with. I got used to taking a pause to read through the code, and fully understand what it was doing. I learned that it's totally normal not to understand every part of a big codebase, and it can be really useful to ask someone else who's more familiar with that part of the code. Also, getting to see so many different examples of how people write code was great for my own learning and helped me adhere to the standards of the dev team.
Writing Code That can be Easily Understood
I was used to writing code that only I would read. Most of my school assignments are auto-graded and my personal projects are just for my own enjoyment and practice. At Craver, I learned that I need to also write code with other team members in mind. This includes extracting parts of the code into separate functions when possible, adding comments when my code is not immediately understandable, and coming up with good names for variables. This not only taught me to write better code, but also helped me understand my own code faster whenever I have to go read it back.
At Craver, sometimes I'll find myself completely clueless about how to solve a problem or what a library does. Although asking someone for help is a great way to get started, another great way to learn is by reading the documentation in Craver’s Confluence page or just searching for documentation about a certain library or API. These documentations are great for learning about the capabilities of the technologies we use, and for helping others when they need to solve a similar problem.
Some Specific Technologies I Learned
I also learned lots of new technologies and became even more familiar with the technologies I already had experience with.
Some of these new technologies I learned:
- React Native core components
- Material UI
- Working with a database
- Sending API requests
- Using Google Cloud Platform logs
I become much more familiar with:
It can be intimidating starting your first co-op term or internship; I know I was definitely hesitant before my first day of work. My advice is to just focus on everything that you’re learning, and everything that you could potentially learn to help calm those fears. Best of luck with your first internship!