My Experience Interning Part-time with Parabol
This term, I thought it would be a good idea to get a part-time technical internship in addition to my full-time co-op. I wanted to increase my productivity and spend my spare time making valuable contributions to a product which matters to people. This was also a great opportunity to level up my engineering skills, build my network, and make some extra money. I also thought being accountable to others would help motivate me to use my time effectively.
Finding a Job
Previously, I relied on the University of Waterloo’s internal job board to find internships but they didn’t have any part-time positions so I decided to branch out and use AngelList instead. AngelList was more efficient because once I made my profile, I could use the same profile to apply to all of the jobs listed. This was much faster than finding a company I wanted to work for, going on their website, scrolling to the bottom, clicking careers, then filling out their custom application.
I thought a remote position would give me the flexibility I needed to maintain some work-life balance without compromising either of my jobs. I applied to Parabol’s remote part-time full-stack intern position on AngelList and was granted an interview with the Co-founder, Jordan Husney. After that, I had an individual interview with each member of the Parabol team. Everyone seemed super nice and genuine and more than anything, I got a good vibe from them (and luckily they got a good vibe from me too).
The final step in the interview process was to implement a feature. Having worked on a React project before, I was expecting to be very productive right out of the gate and was surprised to find this was not the case. This task was especially challenging because it was my first exposure to the ACTION codebase and it required an understanding of both their frontend and backend components (React pun intended). I was encouraged to ask questions and get assistance from the other Parabol developers which really helped accelerate my learning. You can see the back and forth here. This assignment taught me tons about the codebase and reaffirmed the importance of asking for help when I get stuck.
The Internship
The rest of the internship followed a very similar workflow to my first assignment. I would select an issue to tackle from a list they curated for me and clarify any implementation details before I’d begin. Once I had a working implementation I would open a PR so the team could track my progress, give me feedback, and help me with problems I encountered along the way. After passing a code review, the code would be merged to a staging branch that was deployed weekly to their production server. I also attended weekly check-in meetings with the team. The coolest part was that we used ACTION to meet, the very product we were iterating upon. My participation was strongly encouraged from day 1 and the team was always receptive to any new ideas I brought forward.
The Benefits
This was by far the most productive I have been in my spare time during a co-op term! Being compensated to work on a product which people are passionate about motivated me to use my spare time more effectively. Having a part-time position also improved my overall discipline and work ethic; ironically I finished more side projects this term than ever before.
It was also great to work on an open-source codebase for several reasons. Unlike any internship I’ve had before, I am able to show you a full list of my contributions here. During every previous internship I worked hard to write clean and reusable code, but once the internship was done, it was illegal for me to reuse the code I wrote or show it to others as a demonstration of my abilities. This isn’t a problem with an open-source codebase because I can keep an up-to-date clone of the repository and use the codebase as I wish! This is especially important with ACTION because it is the most beautiful codebase I have worked with so far and I have learned so much from observing how things are done.
Parabol paid me a base salary in addition to equity compensation through their Equity for Effort program. Each issue is assigned a point value based on how much effort is estimated to close the issue. Most tasks were worth between 11–18 points. Every time you earn 100 points, you are issued 0.1% equity in Parabol (the conversion rate as of writing this piece). I thought this was a really fun way to gamify my work and it motivated me to earn as many points as I could. Over the course of my internship I was able to accumulate over 100 points and earn equity in Parabol which was an awesome bonus.
Finally it was an absolute pleasure to work with the nice, hardworking, and talented folks at Parabol. The team provided great mentorship for me, helped me expand my professional network, and gave me an inside look at just how exciting it can be to work at an early stage startup. If you’re looking for an internship or just want to contribute to an open-source project (and be compensated) then I highly recommend checking out Parabol!